Estoy trabajando en el diseño de una base que probablemente se mantendrá menor que 100 MB, tiene su propio servidor, y se leerá y modificará a través de una aplicación web Intranet Java EE. He encontrado muchas referencias sobre optimización para bases grandes, y sé que es un problema mucho más crítico, pero tengo mucho tiempo, la velocidad de lectura/inserción es una prioridad del proyecto, y estoy bastante seguro de que puede tomar ventaja de un tamaño db total tan pequeño, de alguna manera. A menos que MySQL ya esté naturalmente optimizado para ese tipo de punto de referencia pequeño, por supuesto.¿Cómo se optimiza MySQL para manejar una base de datos pequeña, es decir, <100mb?
Se ajusta a la memoria, por supuesto, pero necesito que sus datos realmente persistan, en el disco, o al menos se guarden en el disco antes de tiempo; He pensado en algunas alternativas locas, como cargar secuencialmente toda la base en la memoria la primera vez que se necesita (¿en el momento de la conexión del usuario, probablemente?), De alguna manera, y luego enviarla al disco.
Pero pensé que sería mejor preguntar aquí y ver si alguien había enfrentado este tipo de situación antes, y tenía una buena idea para sacar provecho de la base de tamaño pequeño.
Estoy pensando en más en términos de acceso a bases de datos y no estructura, aunque alguien tiene consejos de diseño de estructuras para bases pequeñas y cree que hacen que el problema de la optimización de acceso sea completamente irrelevante, afirmando que es probablemente una respuesta apropiada bien.
Gracias de antemano.
Edición: la aplicación es un poco crítica y después de que haya terminado será desarrollada por personas que están más acostumbradas a MySQL, por lo que los DBMS diferentes no son una opción a menos que sean muy similares a MySQL.
Solo asegúrese de que las memorias caché de mysql sean mayores que el tamaño del db y se almacenará naturalmente en la memoria mientras trabaja en la mesa. –
He pensado en eso, no estaba seguro de que funcionaría de esa manera. Parece bastante suave, bastante seguro de que voy a hacer eso entonces. ¡Gracias! – userBigNum
¿De verdad está teniendo problemas de rendimiento? Parece que puedes estar intentando una optimización prematura. Primero, implemente la aplicación, luego compárela y, finalmente, optimícela si el índice de referencia muestra serios cuellos de botella. – Barmar