Як розробник програмного забезпечення, я працював над проектами, починаючи від крихітних домашніх додатків до програм середнього бізнесу. Майже в кожному проекті я використовував базу даних або пошкодував, що не використовував її з самого початку.
Тепер мені цікаво кілька речей про бази даних та їх використання в загальних програмах:
- Чому сама Windows не використовує жодної "центральної" бази даних SQL? Наприклад:
- Помилки звітності про дані зберігаються у купі файлів,
- Windows Update зберігає все в плоских файлах,
- Кеш ікон зберігається в дуже дивному єдиному файлі, який, здається, не може бути доступний через SQL тощо.
- Чому так багато великих додатків уникають використання баз даних? Наприклад, чи не отримає Microsoft Outlook використання реальної бази даних замість того, щоб винаходити колесо, маючи власний формат файлів .pst та зберігаючи деякі дані в реєстрі?
Якщо база даних додає додатковий рівень загальної складності та невеликі втрати продуктивності, це ціна величезної переваги спрощення коду в більшості обставин, особливо якщо мова йде про зберігання невеликих організованих фрагментів даних замість великих бінарних потоки. То чому так мало продуктів насправді використовують бази даних? Напевно, єдине, з якого я знаю, яке насправді використовує базу даних Sqlite - це Firefox, а можливо, Microsoft Exchange (але останній - це не настільний додаток)?
Також набір додатків, таких як Microsoft Office або Microsoft Expression, не виграє від уніфікованої бази даних SQL , що спрощує розгортання програм, оновлення / оновлення даних, обмін даними між цими програмами та створення резервних копій. тощо?