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.
Almacenamiento, fiabilidad y disponibilidad de Amazon Neptune
Amazon Neptune utiliza una arquitectura de almacenamiento distribuido y compartido que se escala automáticamente a medida que aumentan las necesidades de almacenamiento de la base de datos.
Los datos de Neptune se almacenan en un volumen de clúster, que es un volumen virtual único que utiliza unidades basadas en Non-Volatile Memory Express (NVMe)SSD. El volumen del clúster se compone de un conjunto de bloques lógicos conocidos como segmentos. A cada uno de estos segmentos se le asignan 10 gigabytes (GB) de almacenamiento. Los datos de cada segmento se replican en seis copias, que luego se asignan a tres zonas de disponibilidad (AZs) de la AWS región en la que reside el clúster de base de datos.
Cuando se crea un clúster de base de datos de Neptune, se le asigna un único segmento de 10 GB. A medida que el volumen de datos aumenta y supera el almacenamiento asignado actualmente, Neptune amplía automáticamente el volumen del clúster añadiendo nuevos segmentos. El volumen de un clúster de Neptune puede crecer hasta un tamaño máximo de 128 tebibytes (TiB) en todas las regiones compatibles, excepto en China GovCloud y, donde está limitado a 64 TiB. Sin embargo, para las versiones de motores anteriores a la Versión: 1.0.2.2 (09/03/2020), el tamaño de los volúmenes de los clústeres está limitado a 64 TiB en todas las regiones.
El volumen del clúster de base de datos contiene todos sus datos de usuario, índices y diccionarios (que se describen en la sección Modelo de datos de gráficos de Neptune.), así como metadatos internos como registros de transacciones internas. Todos estos datos de gráficos, incluidos índices y registros internos, no pueden superar el tamaño máximo del volumen del clúster.
Opción de almacenamiento optimizado para E/S
Neptune ofrece dos modelos de precios para el almacenamiento:
Almacenamiento estándar: el almacenamiento estándar proporciona un almacenamiento de bases de datos rentable para aplicaciones con un uso de E/S de moderado a bajo.
-
Almacenamiento optimizado para E/S: con el almacenamiento optimizado para E/S, solo paga por el almacenamiento que utiliza, a un costo mayor que el del almacenamiento estándar, y no paga nada por la E/S que utiliza.
El almacenamiento optimizado para E/S está diseñado para satisfacer las necesidades de las cargas de trabajo de gráficos con uso intensivo de operaciones de E/S a un costo predecible, con una latencia de E/S baja y un rendimiento de E/S constante.
Para obtener más información, consulte Almacenamiento optimizado para E/S.
Asignación de almacenamiento de Neptune
Aunque un volumen de clúster de Neptune puede crecer hasta 128 TiB (o 64 TiB en algunas regiones), solo se le cobrará por el espacio que se asigne realmente. El espacio total asignado lo determina el límite máximo de almacenamiento, que es la cantidad máxima asignada al volumen del clúster en cualquier momento de su existencia.
Esto significa que, incluso si los datos de usuario se eliminan del volumen de un clúster, por ejemplo, mediante una consulta de colocación como g.V().drop()
, el espacio total asignado sigue siendo el mismo. Neptune optimiza automáticamente el espacio asignado no utilizado para reutilizarlo en el futuro.
Además de los datos del usuario, dos tipos adicionales de contenido consumen espacio de almacenamiento interno: los datos del diccionario y los registros de transacciones internos. Aunque los datos del diccionario se almacenan junto con los datos de los gráficos, persisten indefinidamente, incluso cuando los datos de gráficos que admiten se han eliminado, lo que significa que las entradas se pueden reutilizar si se vuelven a introducir los datos. Los datos del registro interno se almacenan en un espacio de almacenamiento interno independiente que tiene su propio límite máximo. Cuando un registro interno caduca, el almacenamiento que ocupaba se puede reutilizar para otros registros, pero no para datos de gráficos. La cantidad de espacio interno que se ha asignado a los registros se incluye en el espacio total que indica la métrica. VolumeBytesUsed CloudWatch
Compruebe en Prácticas recomendadas de almacenamiento las formas de reducir al mínimo el almacenamiento asignado y de reutilizar el espacio.
Facturación del almacenamiento de Neptune
Los costos de almacenamiento se facturan en función del límite máximo de almacenamiento, tal y como se ha descrito anteriormente. Aunque los datos se replican en seis copias, solo se le facturará una copia de los datos.
Puede determinar cuál es el límite máximo de almacenamiento actual de su clúster de base de datos supervisando la VolumeBytesUsed
CloudWatch métrica (consulteMonitorización de Neptune con Amazon CloudWatch).
Otros factores que pueden afectar a los costos de almacenamiento de Neptune incluyen las instantáneas y copias de seguridad de las bases de datos, que se facturan por separado como almacenamiento de copia de seguridad y se basan en los costos de almacenamiento de Neptune (consulte CloudWatch métricas que son útiles para administrar el almacenamiento de copias de seguridad de Neptune).
Sin embargo, si crea un clon de la base de datos, ese clon apunta al mismo volumen de clúster que utiliza el propio clúster de base de datos, por lo que no se cobrará ningún cargo adicional por el almacenamiento de los datos originales. Los cambios posteriores en el clon utilizan el copy-on-write protocolo y generan costes de almacenamiento adicionales.
Para obtener más información acerca de los precios de Neptune, consulte Precios de Amazon Neptune
Prácticas recomendadas de almacenamiento de Neptune
Dado que ciertos tipos de datos consumen almacenamiento permanente en Neptune, utilice estas prácticas recomendadas para evitar grandes picos en el crecimiento del almacenamiento:
Al diseñar su modelo de datos de gráficos, evite en la medida de lo posible utilizar claves de propiedad y valores orientados al usuario que sean de naturaleza temporal.
Si planea realizar cambios en su modelo de datos, no cargue los datos en un clúster de base de datos existente con el nuevo modelo hasta que haya borrado los datos de ese clúster de base de datos mediante el restablecimiento rápido API. Lo mejor suele ser cargar los datos que utilizan un modelo nuevo en un clúster de base de datos nuevo.
-
Las transacciones que funcionan con grandes cantidades de datos generan registros internos proporcionalmente grandes, lo que puede aumentar permanentemente el límite máximo del espacio de registros interno. Por ejemplo, una sola transacción que elimine todos los datos de su clúster de base de datos podría generar un registro interno enorme que requeriría asignar una gran cantidad de almacenamiento interno y, por lo tanto, reduciría permanentemente el espacio disponible para los datos de gráficos.
Para evitarlo, divida las transacciones grandes en otras más pequeñas y deje pasar tiempo entre ellas para que los registros internos asociados tengan la posibilidad de caducar y liberar su almacenamiento interno para que se reutilice en los registros posteriores.
Para monitorear el crecimiento del volumen de su cúmulo de Neptune, puede configurar una CloudWatch alarma en la
VolumeBytesUsed
CloudWatch métrica. Esto puede resultar especialmente útil si los datos alcanzan el tamaño máximo del volumen del clúster. Para obtener más información, consulta Cómo usar CloudWatch las alarmas de Amazon.
La única forma de reducir el espacio de almacenamiento que utiliza su clúster de base de datos cuando tiene una gran cantidad de espacio asignado sin utilizar consiste en exportar todos los datos de gráficos y, a continuación, volver a cargarlos en un nuevo clúster de base de datos. Consulte el servicio y la utilidad de exportación de datos de Neptune para conocer una forma sencilla de exportar datos desde un clúster de base de datos, y el programa de carga masiva de Neptune para conocer una forma sencilla de importar datos a Neptune.
nota
La creación y restauración de una instantánea no reduce la cantidad de almacenamiento asignada al clúster de base de datos, ya que la instantánea conserva la imagen original del almacenamiento subyacente del clúster. Si no se está utilizando una cantidad sustancial del almacenamiento asignado, la única forma de reducirlo es exportar los datos de sus gráficos y volver a cargarlos en un nuevo clúster de base de datos.
Fiabilidad y alta disponibilidad del almacenamiento de Neptune
Amazon Neptune se ha diseñado para ofrecer fiabilidad, durabilidad y tolerancia a errores.
El hecho de que se mantengan seis copias de los datos de Neptune en tres zonas de disponibilidad (AZs) garantiza que el almacenamiento de los datos sea muy duradero y que la probabilidad de pérdida de datos sea muy baja. Los datos se replican automáticamente en todas las zonas de disponibilidad, independientemente de si hay instancias de base de datos en ellas, y la cantidad de réplicas es independiente de la cantidad de instancias de base de datos de su clúster.
Esto significa que puede añadir una réplica de lectura rápidamente, ya que Neptune no hace una nueva copia de los datos de los gráficos. En su lugar, la réplica de lectura se conecta al volumen del clúster que ya contiene sus datos. Del mismo modo, al eliminar una réplica de lectura, no se elimina ninguno de los datos subyacentes.
Puede eliminar el volumen del clúster y sus datos solo después de eliminar todas sus instancias de base de datos.
Neptune también detecta automáticamente los errores de los segmentos que integran el volumen de clúster. Cuando una copia de los datos de un segmento está dañada, Neptune repara inmediatamente ese segmento y utiliza otras copias de los datos dentro del mismo segmento para garantizar que los datos reparados estén actualizados. Como resultado, Neptune evita la pérdida de datos y reduce la necesidad de realizar una point-in-time restauración para recuperarse de una falla en el disco.