Jako programista pracowałem nad projektami od małych domowych aplikacji po średnie aplikacje dla przedsiębiorstw. W prawie każdym projekcie korzystałem z bazy danych lub żałowałem, że nie korzystałem z niej od samego początku.
Zastanawiam się teraz kilka rzeczy na temat baz danych i ich wykorzystania w ogólnych aplikacjach:
- Dlaczego sam system Windows nie korzysta z żadnej „centralnej” bazy danych SQL? Na przykład:
- Błędy Zgłaszanie danych jest przechowywane w wiązce plików,
- Windows Update przechowuje wszystko w plikach płaskich,
- Pamięć podręczna ikon jest przechowywana w bardzo dziwnym pojedynczym pliku, do którego wydaje się, że nie można uzyskać dostępu przez SQL itp.
- Dlaczego tak wiele dużych aplikacji unika korzystania z baz danych? Na przykład, czy Microsoft Outlook nie zyskałby na tym, że używałby prawdziwej bazy danych zamiast wymyślać koło, mając swój własny format plików .pst i przechowując niektóre dane w rejestrze?
Jeśli baza danych dodaje dodatkową warstwę o ogólnej złożoności i niewielkiej utracie wydajności, jest to ogromna zaleta polegająca na uproszczeniu kodu w większości przypadków, zwłaszcza jeśli chodzi o przechowywanie małych zorganizowanych porcji danych zamiast dużych plików binarnych strumienie. Dlaczego więc tak niewiele produktów korzysta z baz danych? Prawdopodobnie jedyną aplikacją, którą znam, która faktycznie korzysta z bazy danych Sqlite, jest Firefox, a może Microsoft Exchange (ale ta ostatnia nie jest aplikacją komputerową)?
Ponadto zestaw aplikacji, takich jak Microsoft Office lub Microsoft Expression, nie skorzystałby na zunifikowanej bazie danych SQL , która ułatwiłaby wdrażanie aplikacji, aktualizację / aktualizację danych, udostępnianie danych między tymi aplikacjami, tworzenie kopii zapasowych itp.?