Optimizando el nivel de almacenamiento activo de Rockset para mejorar la eficiencia en más del 200%

La rapidez y escalabilidad de los datos utilizados en las aplicaciones, que están directamente relacionadas con sus costos, son componentes críticos que preocupan a todos los equipos de desarrollo. En este artículo se explica cómo se ha mejorado el nivel de almacenamiento activo de Rockset para aumentar la eficiencia en más del 200%. Se describe cómo se ha aprovechado el nuevo hardware, optimizado la utilización del almacenamiento disponible, implementado técnicas de orquestación mejoradas y utilizado instantáneas para garantizar la durabilidad de los datos. Gracias a estas mejoras en la eficiencia, se logró reducir costos manteniendo el mismo rendimiento y trasladando los ahorros a los usuarios. El nuevo precio escalonado de Rockset es tan bajo como $0,13 por GB al mes, lo que hace que los datos en tiempo real sean más accesibles que nunca.

La capa de almacenamiento activo en Rockset

La solución de almacenamiento de Rockset consiste en una caché basada en SSD superpuesta a Amazon S3, diseñada para ofrecer respuestas de consultas consistentes y de baja latencia. Esta configuración evita eficazmente la latencia asociada comúnmente con la recuperación de datos directamente desde el almacenamiento de objetos y elimina cualquier costo de recuperación.


imagen6

La estrategia de almacenamiento en caché de Rockset tiene una tasa de aciertos de caché del 99,9997%, alcanzando casi la perfección en la eficiencia del almacenamiento en caché en S3. En el último año, Rockset ha implementado una serie de iniciativas para mejorar la rentabilidad de su sistema avanzado de almacenamiento en caché. Nos hemos enfocado en satisfacer las crecientes necesidades de los usuarios, que van desde decenas hasta cientos de terabytes de almacenamiento, sin comprometer el crucial rendimiento de baja latencia.

La innovadora arquitectura de Rockset ha introducido la separación de cálculo y ejecución, lo que permite escalar independientemente el cálculo de la ingestión con respecto al cálculo de consulta. Rockset ofrece una latencia inferior a un segundo para la inserción, actualización y eliminación de datos. Los costos de almacenamiento, el rendimiento y la disponibilidad no se ven afectados por el proceso de ingestión o de consulta. Esta arquitectura única permite a los usuarios:

  • Separar la ingestión de streaming del proceso de consulta, evitando la contención de la CPU.
  • Ejecutar múltiples aplicaciones con datos compartidos en tiempo real, sin necesidad de réplicas.
  • Escalar rápidamente en simultaneidad, con posibilidad de ampliación en segundos, evitando el exceso en la provisión de capacidad de cálculo.

La combinación de computación-almacenamiento y la separación entre computación ha permitido a los usuarios incorporar nuevas cargas de trabajo a mayor escala, lo que, como era de esperar, ha incrementado su huella de datos. El aumento en las huellas de datos nos ha desafiado a repensar el nivel de almacenamiento activo para lograr rentabilidad. Antes de resaltar las optimizaciones realizadas, primero queremos explicar la base para crear un nivel de almacenamiento activo.

¿Por qué usar un nivel de almacenamiento activo?

Rockset se distingue por mantener un nivel de almacenamiento activo. Bases de datos como búsqueda elástica confían en almacenes de datos y almacenamiento localmente conectado. En la nube, se utiliza el almacenamiento de objetos para atender consultas que no caben en la memoria.

Al servir aplicaciones, se ejecutan múltiples consultas sobre datos a gran escala en un corto período, generalmente de menos de un segundo. Esto puede resultar en errores de caché rápidamente debido a la falta de memoria y a recuperaciones de datos desde el almacenamiento local conectado o el almacenamiento de objetos.

Limitaciones del almacenamiento localmente conectado

Los sistemas estrechamente acoplados utilizan almacenamiento localmente conectado para acceder a datos en tiempo real y lograr tiempos de respuesta rápidos. Los desafíos del almacenamiento localmente conectado incluyen:

  • Incapacidad para escalar datos y consultas de forma independiente. Si el tamaño del almacenamiento supera los requisitos de computación, estos sistemas terminan con un exceso de capacidad de cálculo.
  • Escalado lento y propenso a errores. Escalar el clúster implica copiar y mover los datos, un proceso lento.
  • Mantener alta disponibilidad mediante réplicas, lo que afecta el uso del disco y aumenta los costos de almacenamiento.
  • Cada réplica debe procesar los datos entrantes, lo que resulta en una amplificación de la escritura y una duplicación del trabajo de ingestión.

 

Desafíos del almacenamiento de objetos compartidos

La implementación de una infraestructura desagregada utilizando el almacenamiento de objetos en la nube resuelve los problemas de congestión asociados con el almacenamiento local conectado. Sin embargo, surgen nuevos desafíos que incluyen:

  • Aumento de la latencia, especialmente en operaciones de lectura y escritura aleatorias. Comparativas internas entre Rockset y S3 mostraron tiempos de lectura de <1 ms para Rockset y ~100 ms para S3.
  • Exceso de memoria para evitar la lectura desde el almacenamiento de objetos en aplicaciones sensibles a la latencia.
  • Alta latencia de los datos, generalmente en el rango de minutos. Los almacenes de datos almacenan datos en memoria caché y comprimen la información para optimizar las operaciones de exploración, generando un retraso adicional desde la ingestión de datos hasta…Su solicitud.


imagen3

Amazon ha detectado la latencia de su servicio de almacenamiento en la nube y ha presentado recientemente S3 Xpress One Zone, con acceso a los datos en tiempos de un solo dígito en milisegundos. Existen diferencias clave en el diseño y los costos entre S3 Xpress One Zone y el almacenamiento activo de Rockset. Por un lado, S3 Xpress One Zone se diseñó para ser usado como caché en una sola zona de disponibilidad, mientras que Rockset se enfoca en el almacenamiento en caliente para un acceso rápido y S3 para una mayor durabilidad. Además, los enfoques de precios son diferentes: S3 Xpress One Zone incluye costos por GB y otros relacionados, como colocación, copia, publicación y solicitudes de lista, mientras que el precio de Rockset se basa únicamente en el GB almacenado.

La principal diferencia entre S3 Xpress One Zone y Rockset se encuentra en el rendimiento. Al analizar el gráfico de latencia a lo largo de 24 horas, se observa que la latencia media de Rockset entre el nodo de cálculo y la coherencia del almacenamiento en caliente se mantiene en 1 milisegundo o menos.


imagen1

Si nos enfocamos exclusivamente en la latencia del servidor, la lectura promedio es de ~100 microsegundos o menos.

 

imagen8

Optimización de los costos del almacenamiento activo

Para alcanzar una gestión eficiente de decenas a cientos de terabytes en Rockset, se han aplicado diversas estrategias, como el uso de hardware especializado, la maximización del almacenamiento disponible, la implementación de técnicas de orquestación mejoradas y la utilización de instantáneas para la recuperación de datos.

Aprovechamiento de hardware especializado

Al separar el almacenamiento de los recursos de computación en Rockset, es posible seleccionar perfiles de hardware óptimos para el almacenamientoLa adopción de las últimas instancias en la nube optimizadas para almacenamiento y red ha resultado en una reducción de costos del 17 %, beneficiando a los usuarios con estos ahorros.

Una estrategia clave incluyó la identificación de instancias EC2 con recursos ligeramente menores pero con un rendimiento similar en IOPS y ancho de banda, lo que permitió ahorrar significativamente sin comprometer la calidad del servicio.

Optimización del espacio de almacenamiento disponible

Inicialmente, se implementó el almacenamiento activo duplicando cada bloque de datos para garantizar un rendimiento estable. Sin embargo, para reducir costos sin afectar el rendimiento, se optó por implementar una política LRU que logró mantener un equilibrio entre el rendimiento y los costos de almacenamiento.

Según pruebas de producción, se determinó que mantener copias secundarias de alrededor del 30 % de los datos era suficiente para asegurar un acceso rápido y confiable a la información relevante en caso de fallos.

Implementación de avanzadas técnicas de orquestación

Aunque añadir nodos al almacenamiento activo es sencillo, gestionar la eliminación de nodos para optimizar costos requiere una orquestación cuidadosa. Para evitar latencias al quitar nodos, se diseñó un proceso de "drenaje previo", donde los datos del nodo destinado a ser eliminado se redistribuyen a otros nodos antes de su eliminación.

Una vez que los datos se han transferido completamente a los demás nodos del clúster, el nodo puede eliminarse sin afectar el rendimiento de los usuarios.

Para garantizar una actualización segura y sin impacto en el rendimiento, hemos implementado un proceso riguroso que se aplica a cada actualización. Este enfoque se utiliza de manera constante para asegurar un rendimiento óptimo de la caché.

Mejora de la recuperación de datos mediante instantáneas

Inicialmente, configuramos S3 para almacenar cada modificación, inserción y eliminación de documentos con el propósito de recuperación de datos. Sin embargo, con el crecimiento en la utilización de Rockset, esta práctica resultó en un considerable aumento en el espacio de almacenamiento de S3. Para abordar esta situación, implementamos una estrategia basada en instantáneas, lo que redujo la cantidad de datos almacenados en S3. Las instantáneas permiten a Rockset crear copias congeladas de los datos a un bajo costo, listas para ser restauradas en el futuro. En vez de duplicar todo el conjunto de datos, las instantáneas solo registran los cambios ocurridos desde la última instantánea, lo que llevó a una reducción del 40 % en el almacenamiento necesario para la recuperación de datos.

Capacidad de almacenamiento activo a gran escala

La capa de almacenamiento activo de Rockset ha sido diseñada para proporcionar un rendimiento predecible en consultas en aplicaciones de búsqueda y análisis. Esta capa de almacenamiento compartido es accesible desde cualquier instancia informática.

Con el nuevo costo de almacenamiento activo tan bajo como $0,13 por GB al mes, Rockset puede manejar cargas de trabajo de entre 10 y 100 terabytes de forma rentable. Estamos constantemente buscando maneras de hacer que el almacenamiento activo sea más asequible y transferir esos ahorros a nuestros clientes. Hasta la fecha, hemos optimizado la eficiencia de la capa de almacenamiento activo de Rockset en más del 200 %.

[publired]

¿Nos apoyarás hoy?

Creemos que todos merecen entender el mundo en el que viven. Este conocimiento ayuda a crear mejores ciudadanos, vecinos, amigos y custodios de nuestro planeta. Producir periodismo explicativo y profundamente investigado requiere recursos. Puedes apoyar esta misión haciendo una donación económica a Gelipsis hoy. ¿Te sumarás a nosotros?

Suscríbete para recibir nuestro boletín:

Recent Articles

Related Stories

DEJA UN COMENTARIO

Por favor ingrese su comentario!
Por favor ingrese su nombre aquí