erlang - significado - ¿Cuál es la capacidad de almacenamiento de una base de datos de Mnesia?
mnesia elixir (2)
Según la documentación, esto es 4GB. Sección 11.5
Algunos lugares indican un período de 2 GB. Algunos lugares indican que depende de la cantidad de nodos.
Bastante grande si su pregunta es "¿cuál es la capacidad de almacenamiento de una base de datos de Mnesia compuesta por una gran cantidad de tablas disc_only_copies
"? Está muy limitado por el espacio disponible en el disco.
Una pregunta más fácil de responder es cuál es la capacidad máxima de una sola tabla de mnesia de diferentes tipos. ram_copies
tablas ram_copies
están limitadas por la memoria disponible. disc_copies
tablas disc_copies
están limitadas por su backend de Dets ( Hakan Mattsson en Mnesia ): este límite es de 4 Gb de datos en este momento.
Entonces, la respuesta simple es que la simple tabla disc_copies
puede almacenar hasta 4Gb de datos antes de que tengan problemas. ( Mnesia en realidad no se cuelga si excede el límite de tamaño en disco: la porción ram_copies de la tabla continúa ejecutándose, por lo que puede reparar esto eliminando datos o haciendo otros arreglos en tiempo de ejecución )
Sin embargo, si considera otras características de mnesia, entonces la respuesta es más complicada.
- tablas
local_content
. Si la tabla es una tablalocal_content
, entonces puede tener diferentes contenidos en cada nodo en el clúster de mnesia, por lo que la capacidad de la tabla es4Gb * <number of nodes>
- tablas fragmentadas . Mnesia admite partición o fragmentación de tabla configurable por el usuario mediante fragmentos de tabla. En este caso, puede distribuir y redistribuir eficazmente los datos en su tabla sobre una serie de tablas primitivas. Estas tablas primitivas pueden tener su propia configuración, por ejemplo, una tabla ram_copies y el resto disc_only_copies tablas. Estas tablas primitivas tienen los mismos límites de tamaño que se mencionaron anteriormente y ahora la capacidad efectiva de la tabla fragmentada es
4Gb * <number of fragments>
. ( Lamentablemente, si fragmenta su tabla, debe modificar su código de acceso a la tabla para usarmnesia:activity/4
lugar demnesia:write
y friends, pero si planifica esto de antemano, es manejable ) - copias externas Si le gusta vivir en el límite extremo, puede aplicar los parches de mnesiaex a mnesia y almacenar los datos de su tabla en un sistema externo como Amazon S3 o Tokyo Cabinet . En este caso, la capacidad de la tabla está limitada por el almacenamiento de back-end.