Kilka razy przejrzałem definicję na http://en.wikipedia.org/wiki/Database_engine :
Mechanizm bazy danych (lub „silnik pamięci”) jest podstawowym składnikiem oprogramowania używanym przez system zarządzania bazą danych (DBMS) do tworzenia, odczytu, aktualizacji i usuwania (CRUD) danych z bazy danych.
Nie rozumiem tylko, co zostało do zrobienia, czy CRUD nie jest wszystkim, co robią bazy danych?
Jeśli aparat bazy danych wykonuje te funkcje, co robi reszta bazy danych?
Odpowiedzi:
CRUD ma na celu zdefiniowanie właściwości niezbędnych dla bazy danych, ponieważ dotyczy trwałego przechowywania. Nie ma na celu opisania wszystkiego, co mógłby zrobić silnik bazy danych.
Dla porównania, zasadniczo pojazd jest urządzeniem używanym do transportu. Chociaż jest to prawda, ta definicja z pewnością nie obejmuje wszystkich szczegółów związanych z nowoczesnym samochodem.
Silnik bazy danych może obsługiwać wielu użytkowników, transakcje , MVCC (Multiversion Concurrency Control) , bufory i pamięci podręczne, ACID (atomowość, spójność, izolacja, trwałość) , a także różne poziomy izolacji . Odczyt może pobierać dane z pamięci, zdalnych baz danych i wielu tabel na dysku przetwarzających je za pomocą SQL za pośrednictwem wielu jawnych i / lub niejawnych ścieżek kodu w celu przedstawienia ich żądającej aplikacji. Tworzenie może przydzielić pamięć, struktury udostępniania, przypisać wartości i wykonać własne przetwarzanie przed zapisaniem danych. Itp.
źródło
Niektóre bazy danych mogą obsługiwać wiele silników, w zależności od najlepszego dopasowania do zadania. Na przykład wiele moich aplikacji używa InnoDB do większości danych (ograniczenia klucza i blokowanie na poziomie wiersza), MyISAM do danych sesji (szybkie, mniej przetwarzania) i ArchiveDB do ścieżki audytu (tylko skompresowane i wstawione / zaznaczone, bez aktualizacji / usuwania).
„Reszta” oprogramowania bazy danych zapewnia wspólny interfejs do użytku przez interfejsy API lub terminale, pozwala na złożone działania (takie jak łączenia, podzapytania itp.) Oraz zarządza kondycją / statusem i konfiguracją dołączonych silników. Zasilanie i obsługa silnika ma wiele, a oprogramowanie bazy danych ukrywa całą tę złożoność.
źródło