Como desarrollador de software, he trabajado en proyectos que van desde pequeñas aplicaciones caseras hasta aplicaciones empresariales medianas. En casi todos los proyectos utilicé una base de datos o lamenté no utilizarla desde el principio.
Ahora, me pregunto algunas cosas sobre las bases de datos y su uso en aplicaciones generales:
- ¿Por qué Windows no utiliza ninguna base de datos SQL "central"? Por ejemplo:
- Los datos de informes de errores se almacenan en un montón de archivos,
- Windows Update almacena todo en archivos planos,
- La caché de iconos se almacena en un archivo único muy extraño al que no parece accederse a través de SQL, etc.
- ¿Por qué tantas aplicaciones grandes evitan usar bases de datos? Por ejemplo, ¿no ganaría Microsoft Outlook usando una base de datos real en lugar de reinventar la rueda al tener su propio formato para archivos .pst y almacenar algunos datos en el registro?
Si la base de datos agrega una capa adicional de una complejidad general y una pequeña pérdida de rendimiento, es una gran ventaja el hecho de simplificar el código en la mayoría de las circunstancias, especialmente cuando se trata del almacenamiento de pequeños fragmentos organizados de datos en lugar de grandes binarios. corrientes. Entonces, ¿por qué tan pocos productos utilizan bases de datos? ¿Probablemente la única aplicación que conozco que realmente utiliza la base de datos Sqlite es Firefox y tal vez Microsoft Exchange (pero la última no es una aplicación de escritorio)?
Además, un conjunto de aplicaciones, como Microsoft Office o Microsoft Expression, no se beneficiaría de tener una base de datos SQL unificada , lo que hace que sea más fácil implementar las aplicaciones, actualizar / actualizar los datos, compartir datos entre esas aplicaciones, hacer copias de seguridad ¿etc.?