sql >> Base de Datos >  >> RDS >> Mysql

¿Qué administrador de base de datos para una tabla 100Go?

Uso todas las bases de datos que mencionas. Para esta carga puedo recomendar MySQL o PostgreSQL porque ya trabajé con una carga aún mayor en PostgreSQL. Pero MySQL también hará el mismo trabajo, tal vez incluso mejor porque fue diseñado desde el principio para una alta carga de inserción.

La solución en PostgreSQL con la que trabajé se usó para almacenar mensajes del sistema de la red de telecomunicaciones y pude recopilar ~ 300 GB de datos por día en una máquina sin problemas. Pero necesita una arquitectura HW adecuada.

Necesita una máquina con al menos 8 CPU, pero más es mejor y necesita tener varias colas de inserción. Use el cargador en Java o C o golang con más amenazas paralelas y realice inserciones masivas de cada amenaza usando el comando COPY para ~10000 registros de una vez. Debe usar el grupo de conexiones porque PostgreSQL tiene una sobrecarga mayor para abrir una nueva conexión.

También lo ayudará a distribuir datos en más espacios de tabla, cada espacio de tabla en un disco físico separado o, mejor aún, en una matriz de disco físico separada. Si es posible, no use índices en datos sin procesar. Separe sus datos sin procesar de los resultados agregados.

Teníamos otra solución usando la extensión pl/proxy para PostgreSQL y varias máquinas físicas para datos sin procesar particionados por tiempo. Este sistema pudo recopilar al menos 1 TB por día, pero con la cantidad adecuada de bases de datos esclavas aún más.

Pero debe comprender que para procesar realmente esta cantidad de datos, necesita el hardware adecuado con la configuración adecuada. No existe una base de datos mágica que haga milagros en alguna "configuración similar a la de un portátil"...

InfluxDB es una base de datos de series temporales realmente excelente y la usamos para monitorear. Creo que con suficientes CPU y mucha memoria, también podrá usarlo. Estimo que necesitará un mínimo de 64 GB de RAM porque las inserciones son más caras. Entonces, con más colas de inserción, la base de datos necesitará mucha más memoria porque almacena todo en la memoria y crea índices automáticos en las etiquetas.