TECNOLOGÍA, INTERNET, JUEGOS

¿Cómo hacer que una base de datos en tiempo real sea más rápida?

¿Cómo hacer que una base de datos en tiempo real sea más rápida?

By Bitor Camar

Rockset

El proveedor de bases de datos de análisis en tiempo real, Rockset, ha anunciado recientemente una actualización de su plataforma homónima que presenta una nueva arquitectura diseñada para ayudar a acelerar aquellos casos destinados a uso empresarial. La separación de algunas operaciones básicas es fundamental para conseguir esa aceleración que pretenden.

Las plataformas de datos modernas, incluidas las casas de lagos de datos, han separado cada vez más el componente informático donde se ejecutan las consultas de la pieza de almacenamiento donde se almacenan los datos. Pero tradicionalmente, la computación para la ejecución de consultas de datos no se ha separado de la ingestión de datos.

Para una base de datos en tiempo real, los datos deben ingerirse de todas las fuentes. Por lo general, el mismo motor de cómputo que admite la ingesta es el mismo que proporciona el motor de consulta. Pero esto puede generar problemas de rendimiento y latencia, así como desafíos para ejecutar consultas de análisis en tiempo real sobre los datos.

El uso de la misma computación para la ingesta y la consulta también significa que en la nube, una organización tiene que dimensionar una instancia de computación para ambos tipos de operaciones, en lugar de solo optimizar para cada caso de uso específico. Con su última actualización, Rockset ahora está separando las dos operaciones en un enfoque al que se refiere como «separación de cómputo-cómputo».

“Con análisis en tiempo real, los datos nunca se detienen; estás procesando datos entrantes todo el tiempo y tus consultas nunca se detienen”, dijo a VentureBeat el cofundador y director ejecutivo de Rockset, Venkat Venkataramani. “Cuando la computación se ejecuta tanto en la ingesta como en el procesamiento de consultas las 24 horas del día, los 7 días de la semana, puede volverse demasiado lento, demasiado costoso y demasiado engorroso para operar, y ahora eliminamos todas esas cosas”.

RocksDB de código abierto

El equipo de Rockset tiene sus inicios en Meta (anteriormente conocida como Facebook). Entre las tecnologías centrales se encuentra el almacén persistente de clave-valor de código abierto RocksDB. Esta es la base de Rockset y proporciona una base para el almacenamiento y la agregación de bases de datos. Las nuevas capacidades de separación computación-computación también tiene su origen en las nuevas funciones que encontramos en RocksDB y que Rockset está habilitando en su plataforma de base de datos comercial.

Venkataramani explicó que Rockset ayudó a desarrollar el replicador de tablas de memoria RocksDB que puede duplicar de manera eficiente y confiable el estado de la memoria de los datos en RocksDB de una instancia informática a otra. “Ahora, donde una máquina está escribiendo y otra está leyendo, aún pueden obtener acceso en tiempo real al estado de cada uno”, explicó Venkataramani. «El resto de la pila de Rockset ya se ha creado para aprovechar eso en términos de ingesta de datos y procesamiento de consultas SQL».

Menos duplicaciones

Reaplicar el estado de una instancia informática no es lo mismo que una reaplicación de datos al por mayor, un intento de permitir la ingesta de datos en tiempo real y las consultas de datos. Venkataramani dijo que una forma simple e “ingenua” de lograr la separación entre cómputo y cómputo podría ser algo tan básico como usar la funcionalidad de réplicas en una base de datos relacional como PostgreSQL.

En el modelo de réplicas de PostgreSQL, una organización puede tener un nodo principal que realiza la ingesta de datos y luego tener una réplica que básicamente atiende todas las consultas. Venkataramani explicó que, con ese enfoque, se han duplicado los datos de ingestión. Esto significa más almacenamiento de datos, más costos y cierta latencia.

¿Qué permite la separación computación-computación?

Con esta separación, una empresa podría tener instancias de computación en la nube optimizadas para casos de uso reales. Por ejemplo, algunas organizaciones pueden tener menos necesidades de procesamiento de consultas y más ingesta de datos, o viceversa. Sin este modelo, dijo Venkataramani, las organizaciones a menudo terminarían sobreaprovisionando recursos para cumplir con el requisito máximo tanto de ingesta como de cómputo.

La nueva actualización de Rockset también permitirá una mejor confiabilidad general de las aplicaciones con la separación de la ingesta de datos del procesamiento de consultas. El enfoque también permitirá escalar la concurrencia a medida que crece el volumen de consultas. Venkataramani explicó que si inicialmente se aprovisiona una aplicación para manejar 100 consultas por segundo, pero luego la demanda aumenta hasta 500 consultas por segundo, el motor de cómputo de consultas aislado puede activar nuevas instancias de cómputo virtual para manejar la demanda.