sql >> Base de Datos >  >> NoSQL >> MongoDB

¿MongoDB puede funcionar cuando el tamaño de la base de datos es mayor que la RAM?

Sí, puede funcionar. A qué nivel se desempeñará es más un "Depende"

La clave es asegurarse de que su conjunto de trabajo puede caber en la memoria RAM. Por lo tanto, si tiene 16 GB de RAM y 20 GB de base de datos (índices incluidos), por ejemplo, si solo necesita acceder a la mitad de todos los datos, ya que la otra mitad es más antigua/nunca se consultó, estará bien ya que solo la mitad de su la base de datos debe estar en RAM (10 GB).

El conjunto de trabajo es clave aquí. Por ejemplo, si tiene una aplicación de registro que da salida a MongoDB, es posible que su conjunto de trabajo sea la cantidad de datos (e índices) de los últimos 3 meses y que no tenga acceso a todos los datos anteriores.

Cuando su conjunto de trabajo exceda la cantidad de RAM, seguirá funcionando pero con un rendimiento notablemente degradado, ya que las cosas tendrán que ir constantemente al disco, que tiene mucho menos rendimiento. Si se encuentra en esta situación de exceder las restricciones de RAM en una máquina, entonces aquí es donde entra en juego la fragmentación, para que pueda equilibrar los datos en varias máquinas y, por lo tanto, aumentar la cantidad de datos que se pueden mantener en la RAM.