Almacenamiento eficiente de 7.300.000.000 filas
Cómo abordaría el siguiente problema de almacenamiento y recuperación?
e agregarán aproximadamente 2.000.000 filas cada día (365 días / año) con la siguiente información por fila:
id (identificador de fila único)entity_id (toma valores entre 1 y 2.000.000 inclusive)date_id (incrementado con uno cada día; tomará valores entre 1 y 3.650 (diez años: 1 * 365 * 10)) valor_1 (toma valores entre 1 y 1.000.000 inclusive) valor_2 (toma valores entre 1 y 1.000.000 inclusive)entity_id combinado con date_id es único. Por lo tanto, como máximo se puede agregar una fila por entidad y fecha a la tabla. La base de datos debe poder contener 10 años de datos diarios (7.300.000.000 de filas (3.650 * 2.000.000)).
Lo que se describe arriba son los patrones de escritura. El patrón de lectura es simple: todas las consultas se realizarán en una entidad_id específica. Es decir. recuperar todas las filas que describen entity_id = 12345.
l soporte de @Transactional no es necesario, pero la solución de almacenamiento debe ser de código abierto. Idealmente, me gustaría usar MySQL, pero estoy abierto a sugerencias.
Ahora, ¿cómo abordarías el problema descrito?
Actualizar Me pidieron que explicara los patrones de lectura y escritura. Las escrituras en la tabla se realizarán en un lote por día, donde las nuevas entradas de 2M se agregarán de una vez. Las lecturas se realizarán continuamente con una lectura cada segundo.