Organización de datos en niveles - Amazon MemoryDB

Organización de datos en niveles

Los clústeres que utilizan un tipo de nodo de la familia r6gd tienen sus datos en niveles entre la memoria y el almacenamiento SSD local (unidades de estado sólido). La organización de datos en niveles proporciona una nueva opción de precio y rendimiento para las cargas de trabajo de Redis OSS mediante el uso de unidades de estado sólido (SSD) de menor costo en cada nodo de clúster, además de almacenar datos en la memoria. Al igual que en otros tipos de nodos, los datos escritos en los nodos r6gd se almacenan de forma duradera en un registro de transacciones Multi-AZ. La organización de datos en niveles es ideal para cargas de trabajo que acceden regularmente hasta un 20 % de su conjunto de datos general y para aplicaciones que pueden tolerar latencia adicional al acceder a los datos en SSD.

En clústeres con organización de datos en niveles, MemoryDB supervisa la última hora de acceso de cada elemento que almacena. Cuando la memoria disponible (DRAM) se consume por completo, MemoryDB utiliza un algoritmo de menos usados recientemente (LRU) para trasladar automáticamente los elementos a los que se obtiene acceso con poca frecuencia de la memoria a la SSD. Cuando se obtiene acceso posteriormente a los datos de SSD, MemoryDB los mueve de nuevo a la memoria de forma automática y asíncrona antes de procesar la solicitud. Si tiene una carga de trabajo que solo accede a un subconjunto de sus datos regularmente, la organización de datos en niveles es una forma óptima de escalar su capacidad de forma rentable.

Tenga en cuenta que cuando se utiliza la organización de datos en niveles, las propias claves siempre permanecen en la memoria, mientras que la LRU rige la ubicación de los valores en la memoria frente al disco. En general, recomendamos que los tamaños de las claves sean más pequeños que los tamaños de los valores al usar la organización de datos en niveles.

La organización de datos en niveles está diseñada para tener un impacto mínimo en el rendimiento de las cargas de trabajo Por ejemplo, suponiendo valores de cadena de 500 bytes, puede esperar por lo general 450 microsegundos adicionales de latencia para las solicitudes de lectura de datos almacenados en SSD en comparación con las solicitudes de datos de la memoria.

Con el mayor tamaño de nodo de organización de datos en niveles (db.r6gd.8xlarge), puede almacenar hasta ~500 TB en un solo clúster de 500 nodos (250 TB cuando se utiliza 1 réplica de lectura). Para la organización de datos en niveles, MemoryDB reserva el 19 % de la memoria (DRAM) por nodo para usos distintos de los datos. La organización de datos en niveles es compatible con todos los comandos y estructuras de datos de Valkey y Redis OSS compatibles con MemoryDB. No es necesario cambiar el lado del cliente para usar esta característica.