

# Uso de un volumen de registro específico (DLV)
<a name="USER_PIOPS.dlv"></a>

Puede utilizar un volumen de registro específico (DLV) para una instancia de base de datos que utilice el almacenamiento de IOPS aprovisionadas (PIOPS). Un DLV transporta los registros de transacciones de la base de datos de PostgreSQL y los registros redo y registros binarios de MySQL/MariaDB a un volumen de almacenamiento independiente del volumen que contiene las tablas de la base de datos. Un DLV hace que el registro de escritura de transacciones sea más eficiente y uniforme. Los DLV son ideales para bases de datos con gran capacidad de almacenamiento asignado, requisitos elevados de E/S por segundo (IOPS) o cargas de trabajo donde la latencia es muy importante.

Los DLV son compatibles con el almacenamiento PIOPS (io1 y io2 Block Express) y se crean con un tamaño fijo de 1024 GiB y 3000 IOPS aprovisionadas.

Amazon RDS es compatible con los DLV en todas las Regiones de AWS para las siguientes versiones:
+ MariaDB 10.6.7 y versiones 10 superiores
+ MySQL versión 8.0.28 y posteriores a la 8.0, MySQL versión 8.4.3 y posteriores a la 8.4
+ PostgreSQL 13.10 y versiones 13 superiores, 14.7 y versiones 14 superiores y 15.2 y versiones 15 superiores

RDS es compatible con DLV con implementaciones Multi-AZ Al modificar o crear una instancia multi-AZ, se crea un DLV tanto para la instancia principal como para la secundaria.

RDS admite DLV con réplicas de lectura. Si la instancia de base de datos principal tiene un DLV habilitado, todas las réplicas de lectura creadas después de habilitar el DLV también tendrán un DLV. Las réplicas de lectura creadas antes del cambio a DLV no la tendrán habilitada, a menos que se modifiquen explícitamente para ello. Es recomendable que todas las réplicas de lectura conectadas a una instancia principal antes de activar el DLV también se modifiquen manualmente para que tengan un DLV.

**nota**  
Es recomendable emplear volúmenes de registro específicos para configuraciones de bases de datos de 5 TiB o más.

Para obtener más información sobre las ventajas de los DLV, consulte las siguientes entradas del blog:
+ [Mejore el rendimiento de las bases de datos con los volúmenes de registro dedicados de Amazon RDS](https://aws.amazon.com/blogs/database/enhance-database-performance-with-amazon-rds-dedicated-log-volumes/)
+ [Compare Amazon RDS para PostgreSQL con volúmenes de registro dedicados](https://aws.amazon.com/blogs/database/benchmark-amazon-rds-for-postgresql-with-dedicated-log-volumes/)
+ [Maximizar el rendimiento de AWS RDS para MySQL con volúmenes de registro dedicados](https://www.percona.com/blog/maximizing-performance-of-aws-rds-for-mysql-with-dedicated-log-volumes/) en la documentación de Percona

Para obtener información sobre los rangos de almacenamiento asignado, las IOPS aprovisionadas y el rendimiento de almacenamiento disponibles para cada motor de base de datos, consulte [Almacenamiento de SSD de IOPS aprovisionadas](CHAP_Storage.md#USER_PIOPS).

**Topics**
+ [Observaciones sobre la activación o desactivación del DLV](#USER_PIOPS.dlv.considerations)
+ [Habilitación de DLV al crear una instancia de base de datos](#USER_PIOPS.create-dlv)
+ [Habilitación de DLV en una instancia de base de datos existente](#USER_PIOPS.modify-dlv)
+ [Supervisión del almacenamiento del DLV](#USER_PIOPS.dlv.monitoring)

## Observaciones sobre la activación o desactivación del DLV
<a name="USER_PIOPS.dlv.considerations"></a>

La activación y desactivación del DLV puede llevar mucho tiempo y provocar tiempos de inactividad. El proceso consiste en copiar todos los registros de transacciones, o los registros binarios y REDO (en función del motor de base de datos), en el nuevo volumen al activarlo, o bien en devolverlo al almacenamiento original al desactivarlo. La duración de esta operación depende de varios factores:
+ Número de registros de transacciones:
  + Las bases de datos más grandes y con más transacciones generan más registros, lo que aumenta el tiempo necesario para copiarlos.
  + Los registros de transacciones se pueden acumular en la instancia de base de datos principal si las ranuras de replicación están inactivas o si la replicación está retrasada, lo que aumenta el tiempo necesario para realizar la copia. Asegúrese de que la replicación esté actualizada y elimine las ranuras innecesarias.
+ Configuración de almacenamiento:
  + Ancho de banda de EBS de la instancia de base de datos: un mayor ancho de banda permite una transferencia de datos más rápida.
  + Número de IOPS aprovisionadas: un mayor número de operaciones de entrada/salida por segundo (IOPS) puede acelerar el proceso de copia.
+ Actividad de la base de datos: los niveles altos de actividad de la base de datos durante la configuración pueden ralentizar el proceso.

Para minimizar el tiempo de inactividad, le recomendamos que planifique y programe los periodos de baja actividad o de mantenimiento.

## Habilitación de DLV al crear una instancia de base de datos
<a name="USER_PIOPS.create-dlv"></a>

Puede usar la Consola de administración de AWS, la AWS CLI o la API de RDS para crear una instancia de base de datos con DLV habilitado.

### Consola
<a name="USER_PIOPS.create-dlv.CON"></a>

**Habilitación de DLV en una nueva instancia de base de datos**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. Elija **Create database (Crear base de datos)**.

1. En la **página Crear instancia de base de datos**, elija un motor de base de datos compatible con DLV.

1. En **Almacenamiento**:

   1. Elija entre **SSD de IOPS aprovisionadas (io1)** o **SSD de IOPS aprovisionadas (io2)**.

   1. Introduzca el **Almacenamiento asignado** y las **IOPS aprovisionadas** que desee.

   1. Expanda **Volumen de registro dedicado** y seleccione **Activar el volumen de registro dedicado**.  
![\[Habilitación de DLV en una nueva instancia de base de datos.\]](http://docs.aws.amazon.com/es_es/AmazonRDS/latest/UserGuide/images/enable-dlv.png)

1. Seleccione el resto de ajustes según sea necesario.

1. Elija **Creación de base de datos**.

Una vez creada la base de datos, el valor del volumen de registro dedicado aparece en la pestaña **Configuración** de la página de detalles de la base de datos.

### CLI
<a name="USER_PIOPS.create-dlv.CLI"></a>

Para habilitar DLV cuando cree una instancia de base de datos mediante el almacenamiento de IOPS aprovisionadas, use el comando de la AWS CLI [create-db-instance](https://docs.aws.amazon.com/cli/latest/reference/rds/create-db-instance.html). Establezca los siguientes parámetros:
+ `--dedicated-log-volume`: habilita un volumen de registro específico.
+ `--storage-type`: establézcalo en `io1` o `io2` para IOPS aprovisionadas.
+ `--allocated-storage`: cantidad de almacenamiento que se debe asignar a la instancia de base de datos, en gibibytes.
+ `--iops`: nueva cantidad de IOPS aprovisionadas para la instancia de base de datos, expresada en operaciones de E/S por segundo.

### API de RDS
<a name="USER_PIOPS.create-dlv.API"></a>

Para habilitar DLV al crear una instancia de base de datos utilizando el almacenamiento de IOPS aprovisionadas, utilice la operación [CreateDBInstance](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_CretaeDBInstance.html) de la API de Amazon RDS. Establezca los siguientes parámetros:
+ `DedicatedLogVolume`: se configura en `true` para habilitar un volumen de registro dedicado.
+ `StorageType`: establézcalo en `io1` o `io2` para IOPS aprovisionadas.
+ `AllocatedStorage`: cantidad de almacenamiento que se debe asignar a la instancia de base de datos, en gibibytes.
+ `Iops`: tasa de IOPS para la instancia de base de datos, expresada en operaciones de E/S por segundo.

## Habilitación de DLV en una instancia de base de datos existente
<a name="USER_PIOPS.modify-dlv"></a>

Puede utilizar la Consola de administración de AWS, la AWS CLI o la API de RDS para modificar una instancia de base de datos y habilitar DLV.

Una vez que haya modificado la configuración de DLV de una instancia de base de datos, debe reiniciar la instancia de base de datos.

### Consola
<a name="USER_PIOPS.modify-dlv.CON"></a>

**Habilitación de DLV en una instancia de base de datos existente**

1. Inicie sesión en la Consola de administración de AWS y abra la consola de Amazon RDS en [https://console.aws.amazon.com/rds/](https://console.aws.amazon.com/rds/).

1. En el panel de navegación, seleccione **Databases (Bases de datos)**.

   Para filtrar la lista de instancias de base de datos, en **Filter databases (Filtrar bases de datos)**, escriba una cadena de texto para que Amazon RDS la utilice para filtrar los resultados. Solo aparecen instancias de base de datos cuyos nombres contengan la cadena.

1. Elija la instancia de base de datos con almacenamiento de IOPS aprovisionadas que desea modificar.

1. Elija **Modificar**.

1. En la **página Modificar instancia de base de datos**:

   1. En **Almacenamiento**, expanda **Volumen de registro dedicado** y seleccione **Activar el volumen de registro dedicado**.

1. Elija **Continuar**.

1. Para aplicar los cambios inmediatamente a la instancia de base de datos, elija **Aplicar inmediatamente**. También puede elegir **Apply during the next scheduled maintenance window** (Aplicar durante la próxima ventana de mantenimiento programada) para aplicar los cambios durante el próximo período de mantenimiento.

1. Revise los parámetros que se cambiarán y elija **Modify DB Instance** (Modificar instancia de base de datos) para completar la modificación.

El nuevo valor del volumen de registro dedicado aparece en la pestaña **Configuración** de la página de detalles de la base de datos.

### CLI
<a name="USER_PIOPS.modify-dlv.CLI"></a>

Para habilitar o deshabilitar el DLV en una instancia de base de datos existente mediante el almacenamiento de IOPS aprovisionadas, use el comando [https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html](https://docs.aws.amazon.com/cli/latest/reference/rds/modify-db-instance.html) de la AWS CLI. Establezca los siguientes parámetros:
+ `--dedicated-log-volume`: habilita un volumen de registro dedicado.

  Utilice `--no-dedicated-log-volume` (predeterminado) para deshabilitar un volumen de registro dedicado.
+ `--apply-immediately`: utilice `--apply-immediately` para aplicar los cambios inmediatamente.

  Utilice `--no-apply-immediately` (el valor predeterminado) para aplicar los cambios en el siguiente período de mantenimiento.

### API de RDS
<a name="USER_PIOPS.modify-dlv.API"></a>

Para habilitar o deshabilitar el DLV en una instancia de base de datos existente mediante el almacenamiento de IOPS aprovisionadas, use la operación de la API de Amazon RDS [https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html](https://docs.aws.amazon.com/AmazonRDS/latest/APIReference/API_ModifyDBInstance.html). Establezca los siguientes parámetros:
+ `DedicatedLogVolume`: configure esta opción en `true` para habilitar un volumen de registro dedicado.

  Configure esta opción en `false` para deshabilitar un volumen de registro dedicado. Este es el valor predeterminado.
+ `ApplyImmediately`: establezca esta opción en `True` para aplicar los cambios inmediatamente.

  Establezca esta opción en `False` (el valor predeterminado) para aplicar los cambios durante el siguiente período de mantenimiento.

## Supervisión del almacenamiento del DLV
<a name="USER_PIOPS.dlv.monitoring"></a>

Puede supervisar el uso del almacenamiento del DLV con la métrica `FreeStorageSpaceLogVolume` en CloudWatch.

Puede utilizar la siguiente consulta de RDS para PostgreSQL a fin de encontrar el tamaño ocupado por los registros de transacciones:

```
SELECT pg_size_pretty(COALESCE(sum(size), 0)) AS total_wal_generated_size
FROM pg_catalog.pg_ls_waldir();
```

Si el DLV se queda sin espacio de almacenamiento, la instancia de base de datos entrará en el estado `storage-full`, lo que provocará un tiempo de inactividad.