Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Organización de datos en niveles
Los clústeres que utilizan un tipo de nodo de la familia r6gd tienen sus datos agrupados en niveles entre la memoria y el almacenamiento local SSD (unidades de estado sólido). La organización de datos en niveles ofrece una nueva opción de relación precio-rendimiento para las OSS cargas de trabajo de Valkey y Redis, ya que utiliza unidades de estado sólido (SSDs) de menor costo en cada nodo del clúster, además de almacenar los 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 los datos en niveles es ideal para las cargas de trabajo que acceden hasta un 20 por ciento de su conjunto de datos con regularidad y para las aplicaciones que pueden tolerar una latencia adicional al acceder a los datos. 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 agota por completo, MemoryDB utiliza un algoritmo (LRU) utilizado menos recientemente para mover automáticamente de la memoria a los elementos a los que se accede con poca frecuencia. SSD Cuando posteriormente SSD se accede a los datos, MemoryDB los devuelve 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 utilizan niveles de datos, las propias claves siempre permanecen en la memoria, mientras que controlan la ubicación de los valores en LRU 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, normalmente se espera una latencia adicional de 450 microsegundos para las solicitudes de lectura de los datos almacenados en SSD comparación con las solicitudes de lectura de los datos de la memoria.
Con el tamaño de nodo de jerarquización de datos más grande (db.r6gd.8xlarge), puede almacenar hasta aproximadamente 500 nodos TBs en un único clúster de 500 nodos (250 TB si se utiliza una réplica de lectura). Para la organización de datos en niveles, MemoryDB reserva el 19% de () la memoria por nodo para usos no relacionados con los datos. DRAM La organización de datos en niveles es compatible con todos los OSS comandos y estructuras de datos de Valkey y Redis compatibles con MemoryDB. No es necesario cambiar el lado del cliente para usar esta característica.
Temas
Prácticas recomendadas
Recomendamos que siga las siguientes prácticas recomendadas:
La organización de los datos en niveles es ideal para las cargas de trabajo que acceden hasta el 20 por ciento de su conjunto de datos con regularidad y para las aplicaciones que pueden tolerar una latencia adicional al acceder a los datos. SSD
Al utilizar la SSD capacidad disponible en los nodos con niveles de datos, recomendamos que el tamaño del valor sea mayor que el tamaño de la clave. El tamaño del valor no puede ser superior a 128 MB; de lo contrario, no se moverá al disco. Cuando los elementos se mueven entre DRAM ySSD, las claves permanecerán siempre en la memoria y solo los valores se moverán al SSD nivel.
Limitaciones
La organización de datos en niveles tiene las siguientes restricciones:
El tipo de nodo que utilice debe pertenecer a la familia r6gd, que está disponible en las siguientes regiones:
us-east-2
,us-east-1
,us-west-2
,us-west-1
,eu-west-1
,eu-west-3
,eu-central-1
,ap-northeast-1
,ap-southeast-1
,ap-southeast-2
,ap-south-1
,ca-central-1
ysa-east-1
.No se puede restaurar una instantánea de un clúster r6gd en otro clúster a menos que también utilice r6gd.
No se puede exportar una instantánea a Amazon S3 para clústeres de organización de datos en niveles.
No se admite el guardado sin ramificación.
No se admite el escalado desde un clúster de organización de datos en niveles (por ejemplo, un clúster que utiliza un tipo de nodo r6gd) a un clúster que no utiliza la organización de datos en niveles (por ejemplo, un clúster que utiliza un tipo de nodo r6g).
La organización de datos en niveles solo admite las políticas maxmemory
volatile-lru
,allkeys-lru
ynoeviction
.Los elementos de más de 128 MiB no se mueven a. SSD
Precios de organización de datos en niveles
Los nodos R6gd tienen 5 veces más capacidad total (memoria +SSD) y pueden ayudarle a ahorrar más del 60 por ciento en los costos de almacenamiento cuando se ejecutan al máximo en comparación con los nodos R6g (solo memoria). Para obtener más información, consulte Precios de MemoryDB
Monitorización
MemoryDB ofrece métricas diseñadas específicamente para monitorear los clústeres de rendimiento que utilizan la organización de datos en niveles. Para controlar la proporción de elementos en DRAM comparación conSSD, puedes usar la CurrItems
métrica enMétricas de MemoryDB.. Puede calcular el porcentaje de la siguiente manera:(CurrItems with Dimension: Tier = Memory * 100) / (CurrItems with no dimension filter)
. Cuando el porcentaje de elementos en la memoria disminuye por debajo del 5 %, le recomendamos que lo considere como Escalado de clústeres de MemoryDB.
Para obtener más información, consulte Métricas para clústeres de MemoryDB que utilizan la organización de datos en niveles en Métricas de MemoryDB.
Uso de la organización de datos en niveles
Al crear un clúster, se utiliza la organización de datos en niveles seleccionando un tipo de nodo de la familia r6gd, como db.r6gd.xlarge. La selección de ese tipo de nodo habilita automáticamente la organización de datos en niveles.
Para obtener más información sobre la creación de clústeres, consulte Paso 2: crear un clúster.
Al crear un clúster mediante el AWS CLI, se utiliza la estratificación de datos seleccionando un tipo de nodo de la familia r6gd, como db.r6gd.xlarge, y configurando el parámetro. --data-tiering
No puede excluirse de la organización de datos en niveles al seleccionar un tipo de nodo de la familia r6gd. Si configura el parámetro --no-data-tiering
, la operación no se llevará a cabo correctamente.
Para Linux, macOS o Unix:
aws memorydb create-cluster \ --cluster-name my-cluster \ --node-type db.r6gd.xlarge \ --engine valkey \ --acl-name my-acl \ --subnet-group my-sg \ --data-tiering
Para Windows:
aws memorydb create-cluster ^ --cluster-name my-cluster ^ --node-type db.r6gd.xlarge ^ --engine valkey ^ --acl-name my-acl ^ --subnet-group my-sg --data-tiering
Después de ejecutar esta operación, verá una respuesta parecida a la siguiente:
{ "Cluster": { "Name": "my-cluster", "Status": "creating", "NumberOfShards": 1, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Port": 6379 }, "NodeType": "db.r6gd.xlarge", "EngineVersion": "7.2", "EnginePatchVersion": "7.2.6", "Engine": "valkey" "ParameterGroupName": "default.memorydb-valkey7", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxxxxxxxxx:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering":"true", "AutoMinorVersionUpgrade": true } }
Restauración de datos desde una instantánea en clústeres con la organización de datos en niveles habilitada
Puede restaurar una instantánea en un clúster nuevo con la organización de datos en niveles habilitada mediante (Console), (AWS CLI) o (APIMemoryDB). Cuando crea un clúster mediante tipos de nodos de la familia r6gd, se habilita la organización de datos en niveles.
Restauración de datos desde una instantánea en clústeres con la organización de datos en niveles habilitada (consola)
Para restaurar una instantánea a un nuevo clúster con la organización de datos en niveles habilitada (consola), siga los pasos que se indican en Restauración a partir de una instantánea (consola).
Tenga en cuenta que para habilitar la organización de datos en niveles, debe seleccionar un tipo de nodo de la familia r6gd.
Al crear un clúster mediante el AWS CLI, la organización de datos por niveles se utiliza de forma predeterminada. Para ello, se selecciona un tipo de nodo de la familia r6gd, como db.r6gd.xlarge, y se establece el parámetro. --data-tiering
No puede excluirse de la organización de datos en niveles al seleccionar un tipo de nodo de la familia r6gd. Si configura el parámetro --no-data-tiering
, la operación no se llevará a cabo correctamente.
Para Linux, macOS o Unix:
aws memorydb create-cluster \ --cluster-name my-cluster \ --node-type db.r6gd.xlarge \ --engine valkey --acl-name my-acl \ --subnet-group my-sg \ --data-tiering \ --snapshot-name
my-snapshot
Para Windows:
aws memorydb create-cluster ^ --cluster-name my-cluster ^ --node-type db.r6gd.xlarge ^ --engine valkey ^ --acl-name my-acl ^ --subnet-group my-sg ^ --data-tiering ^ --snapshot-name
my-snapshot
Después de ejecutar esta operación, verá una respuesta parecida a la siguiente:
{ "Cluster": { "Name": "my-cluster", "Status": "creating", "NumberOfShards": 1, "AvailabilityMode": "MultiAZ", "ClusterEndpoint": { "Port": 6379 }, "NodeType": "db.r6gd.xlarge", "EngineVersion": "7.2", "EnginePatchVersion": "7.2.6", "Engine": "valkey" "ParameterGroupName": "default.memorydb-valkey7", "ParameterGroupStatus": "in-sync", "SubnetGroupName": "my-sg", "TLSEnabled": true, "ARN": "arn:aws:memorydb:us-east-1:xxxxxxxxxxxxxx:cluster/my-cluster", "SnapshotRetentionLimit": 0, "MaintenanceWindow": "wed:03:00-wed:04:00", "SnapshotWindow": "04:30-05:30", "ACLName": "my-acl", "DataTiering": "true" }