Sebagai pengembang perangkat lunak, saya telah mengerjakan proyek mulai dari aplikasi kecil yang dibuat di rumah hingga aplikasi perusahaan berukuran sedang. Di hampir setiap proyek saya menggunakan database atau menyesal memilih untuk tidak menggunakannya sejak awal.
Sekarang, saya bertanya-tanya beberapa hal tentang database dan penggunaannya dalam aplikasi umum:
- Mengapa Windows itu sendiri tidak menggunakan database SQL "pusat"? Sebagai contoh:
- Data Pelaporan Kesalahan disimpan dalam banyak file,
- Pembaruan Windows menyimpan semuanya dalam file datar,
- Cache ikon disimpan dalam file tunggal yang sangat aneh yang sepertinya tidak dapat diakses melalui SQL, dll.
- Mengapa begitu banyak aplikasi besar menghindari penggunaan database? Misalnya, bukankah Microsoft Outlook akan mendapatkan dengan menggunakan database nyata alih-alih menciptakan kembali roda dengan memiliki format sendiri untuk file .pst dan menyimpan beberapa data dalam registri?
Jika database menambahkan lapisan tambahan dari kerumitan keseluruhan dan kerugian kinerja yang kecil, ini merupakan harga keuntungan yang sangat besar untuk membuat kode lebih sederhana di sebagian besar keadaan, terutama ketika menyangkut penyimpanan potongan data kecil yang terorganisir daripada biner besar. stream. Jadi mengapa begitu sedikit produk yang menggunakan basis data? Mungkin satu-satunya aplikasi yang saya tahu yang benar-benar menggunakan database Sqlite adalah Firefox, dan mungkin Microsoft Exchange (tapi yang terakhir bukan aplikasi desktop)?
Juga, tidak akan satu set aplikasi, seperti Microsoft Office atau Microsoft Expression, mendapat manfaat dari memiliki database SQL terpadu , membuatnya lebih mudah untuk menyebarkan aplikasi, untuk memperbarui / meningkatkan data, untuk berbagi data antara aplikasi tersebut, untuk membuat cadangan , dll?