Acerca del servicio
TraducidoDiseño y opero bases de datos distribuidas de columnas anchas en Apache Cassandra y ScyllaDB, y siempre empiezo con una cosa: tus consultas. Antes de iniciar un nodo, mapeo todos los caminos de lectura y escritura que tu aplicación realmente necesita, luego construyo un modelo de datos alrededor de esos patrones de acceso. En el almacenamiento orientado a columnas, la tabla sigue la consulta, así que deliberadamente desnormalizo, elijo claves de partición con distribución uniforme, y selecciono columnas de agrupamiento que concentran lecturas calientes en una partición.
Luego ajusto el clúster para manejar tráfico real. Establezco el factor de replicación y los niveles de consistencia según tu presupuesto para fiabilidad y latencia, limito el tamaño de la partición, elijo la estrategia de compactación para tu carga — series temporales, registro de eventos o clave-valor de alta rotación. Mantengo las tuberías de escritura en decenas de miles de ops/sec sin interrupciones durante los vaciados y la compactación, y la latencia de cola predecible: particiones amplias, tumbas y fragmentos calientes que detecto temprano. En ScyllaDB utilizo una arquitectura de fragmento por núcleo y extraigo significativamente más rendimiento del mismo hardware.
También me encargo de las tareas que rompen clústeres a las 3 AM: programación de reparaciones, reemplazo de nodos, replicación entre centros de datos, planificación de capacidad y migraciones desde bases de datos relacionales que dejaron de escalar. En el camino hacia afuera — una base de datos que absorbe picos y crece añadiendo nodos.
— Modelado de datos a partir de consultas y diseño de particiones
— Replicación, consistencia y ajuste de compactación
— Alto rendimiento de escritura y latencia predecible
— Reparación, reemplazo de nodos y configuración multi-DC
Luego ajusto el clúster para manejar tráfico real. Establezco el factor de replicación y los niveles de consistencia según tu presupuesto para fiabilidad y latencia, limito el tamaño de la partición, elijo la estrategia de compactación para tu carga — series temporales, registro de eventos o clave-valor de alta rotación. Mantengo las tuberías de escritura en decenas de miles de ops/sec sin interrupciones durante los vaciados y la compactación, y la latencia de cola predecible: particiones amplias, tumbas y fragmentos calientes que detecto temprano. En ScyllaDB utilizo una arquitectura de fragmento por núcleo y extraigo significativamente más rendimiento del mismo hardware.
También me encargo de las tareas que rompen clústeres a las 3 AM: programación de reparaciones, reemplazo de nodos, replicación entre centros de datos, planificación de capacidad y migraciones desde bases de datos relacionales que dejaron de escalar. En el camino hacia afuera — una base de datos que absorbe picos y crece añadiendo nodos.
— Modelado de datos a partir de consultas y diseño de particiones
— Replicación, consistencia y ajuste de compactación
— Alto rendimiento de escritura y latencia predecible
— Reparación, reemplazo de nodos y configuración multi-DC