Compatibilidad de características de MariaDB en Amazon RDS - Amazon Relational Database Service

Compatibilidad de características de MariaDB en Amazon RDS

RDS para MariaDB admite la mayoría de las características y capacidades de MariaDB. Algunas características pueden disponer de una compatibilidad limitada o de privilegios restringidos.

Puede filtrar nuevas características de Amazon RDS en la página Novedades de Database. En el filtro Products (Productos), elija Amazon RDS. A continuación, busque con palabras clave como MariaDB 2023.

nota

Las listas que siguen no son exhaustivas.

Compatibilidad de características de MariaDB en las versiones principales de Amazon RDS para MariaDB

En las siguientes secciones, encontrará información sobre la compatibilidad de características de MariaDB en Amazon RDS para MariaDB para las versiones principales de MariaDB:

Para obtener información acerca de la compatibilidad de las versiones secundarias de Amazon RDS for MariaDB, consulte Versiones de MariaDB en Amazon RDS.

Compatibilidad con MariaDB 10.11 en Amazon RDS

Amazon RDS admite las siguientes características nuevas de las instancias de base de datos en las que se ejecuta la versión 10.11 de MariaDB o una posterior.

  • Complemento Password Reuse Check: puede utilizar el complemento Password Reuse Check de MariaDB para evitar que los usuarios reutilicen las contraseñas y para establecer el período de retención de las contraseñas. Para obtener más información, consulte el complemento Password Reuse Check.

  • Autorización GRANT TO PUBLIC: puede conceder privilegios a todos los usuarios que tengan acceso a su servidor. Para obtener más información, consulte GRANT TO PUBLIC.

  • Disociación de los privilegios SUPER y READ ONLY ADMIN: puede eliminar los privilegios READ ONLY ADMIN de todos los usuarios, incluidos los usuarios que antes tenían privilegios SUPER.

  • Seguridad: ahora puede configurar la opción --sslcomo predeterminada para su cliente MariaDB. MariaDB ya no deshabilita silenciosamente la SSL si la configuración es incorrecta.

  • Comandos y funciones de SQL: ahora puede utilizar el comando SHOW ANALYZE FORMAT=JSON y las funciones ROW_NUMBER, SFORMAT y RANDOM_BYTES. SFORMAT permite el formato de cadena y está habilitado de forma predeterminada. Puede convertir la partición en tabla y la tabla en partición con un solo comando. También hay varias mejoras en torno a las funciones JSON_*(). Las funciones DES_ENCRYPT y DES_DECRYPT han quedado obsoletas para la versión 10.10 y versiones posteriores. Para obtener más información, consulte SFORMAT.

  • Mejoras de InnoDB: estas mejoras incluyen los siguientes elementos:

    • Mejoras en el rendimiento del registro REDO para reducir la amplificación de la escritura y mejorar la simultaneidad.

    • Posibilidad de cambiar el espacio de tablas UNDO sin reinicializar el directorio de datos. Esta mejora reduce la sobrecarga del plano de control. Se requiere un reinicio, pero no se requiere reinicialización después de cambiar el espacio de tabla UNDO.

    • Soporte para CHECK TABLE … EXTENDED y para índices descendentes internamente.

    • Mejoras en la inserción masiva.

  • Cambios de binlog: estos cambios incluyen los siguientes elementos:

    • Registro ALTER en dos fases para reducir la latencia de replicación. El parámetro binlog_alter_two_phase está deshabilitado de forma predeterminada, pero se puede habilitar mediante grupos de parámetros.

    • Registro explicit_defaults_for_timestamp.

    • Ya no se registra INCIDENT_EVENT si la transacción se puede anular de forma segura.

  • Mejoras de replicación: las instancias de base de datos de la versión 10.11 de MariaDB utilizan la replicación GTID de forma predeterminada si el maestro la admite. Además, Seconds_Behind_Master es más preciso.

  • Clientes: puede utilizar las nuevas opciones de línea de comandos para mysqlbinglog y mariadb-dump. Puede utilizar mariadb-dump para volcar y restaurar datos históricos.

  • Control de versiones del sistema: es posible modificar el historial. MariaDB crea automáticamente nuevas particiones.

  • DDL atómico: ahora CREATE OR REPLACE es atómico. La instrucción se lleva a cabo correctamente o se revierte por completo.

  • Escritura del registro REDO: el registro REDO se escribe de forma asíncrona.

  • Funciones almacenadas: las funciones almacenadas ahora admiten los mismos parámetros IN, OUT e INOUT que los procedimientos almacenados.

  • Parámetros obsoletos o eliminados: los siguientes parámetros han quedado obsoletos o se han eliminado para las instancias de base de datos de la versión 10.11 de MariaDB:

  • Parámetros dinámicos: los siguientes parámetros son ahora dinámicos para las instancias de base de datos de la versión 10.11 de MariaDB:

  • Valores nuevos predeterminados para los parámetros: los siguientes parámetros tienen valores predeterminados nuevos para las instancias de base de datos de la versión 10.11 de MariaDB:

  • Valores nuevos válidos de los parámetros: los siguientes parámetros tienen valores predeterminados nuevos para las instancias de base de datos de la versión 10.11 de MariaDB:

    • Los valores válidos del parámetro old se fusionaron con los del parámetro old_mode.

    • Los valores válidos del parámetro histogram_type ahora incluyen JSON_HB.

    • El rango de valores válido para el parámetro innodb_log_buffer_size ahora es de 262144 a 4294967295 (256 KB a 4096 MB).

    • El rango de valores válido para el parámetro innodb_log_file_size ahora es de 4194304 a 512GB (4 MB a 512 GB).

    • Los valores válidos del parámetro optimizer_prune_level ahora incluyen 2.

  • Nuevos parámetros: los siguientes parámetros son nuevos para las instancias de base de datos de la versión 10.11 de MariaDB:

Para obtener una lista de todas las características y la documentación, consulte la siguiente información en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características de MariaDB que no admite Amazon RDS.

Compatibilidad con MariaDB 10.6 en Amazon RDS

Amazon RDS admite las siguientes características nuevas de las instancias de base de datos en las que se ejecuta la versión 10.6 de MariaDB o una posterior:

  • Motor de almacenamiento MyRocks: puede utilizar el motor de almacenamiento MyRocks con RDS for MariaDB para optimizar el consumo de almacenamiento de las aplicaciones web con uso intensivo de escritura y de alto rendimiento. Para obtener más información, consulte Motores de almacenamiento de MariaDB admitidos en Amazon RDS y MyRocks.

  • Autenticación de base de datos de AWS Identity and Access Management (IAM): puede utilizar la autenticación de base de datos de IAM para mejorar la seguridad y la administración central de las conexiones a sus instancias de base de datos de MariaDB. Para obtener más información, consulte Autenticación de bases de datos de IAM para MariaDB, MySQL, and PostgreSQL.

  • Opciones de actualización: ahora puede actualizar a la versión 10.6 de RDS for MariaDB desde cualquier versión principal anterior (10.3, 10.4, 10.5). También puede restaurar una instantánea de una instancia de base de datos MySQL 5.6 o 5.7 existente a una instancia de MariaDB 10.6. Para obtener más información, consulte Actualización del motor de base de datos MariaDB.

  • Replicación retrasada: ahora puede establecer un periodo de tiempo configurable durante el cual una réplica de lectura se retrasa con respecto a la base de datos de origen. En una configuración de replicación estándar de MariaDB, hay un retraso de replicación mínimo entre el origen y la réplica. Con la replicación retrasada, puede configurar un retraso intencional como estrategia de recuperación de desastres. Para obtener más información, consulte Configuración de la replicación retrasada con MariaDB.

  • Compatibilidad con Oracle PL/SQL: mediante el uso de la versión 10.6 de RDS for MariaDB puede migrar con más facilidad sus aplicaciones Oracle heredadas a Amazon RDS. Para obtener más información, consulte SQL_MODE=ORACLE.

  • Atomic DDL: las instrucciones de lenguaje de datos dinámicos (DDL) pueden ser relativamente seguras frente a bloqueos con la versión 10.6 de RDS for MariaDB. CREATE TABLE, ALTER TABLE, RENAME TABLE, DROP TABLE, DROP DATABASE y las instrucciones DDL relacionadas ahora son atómicas. La instrucción se lleva a cabo correctamente o se revierte por completo. Para obtener más información, consulte Atomic DDL.

  • Otras mejoras: estas mejoras incluyen una función JSON_TABLE para transformar datos JSON a un formato relacional dentro de SQL y una carga más rápida de datos de tablas vacías con InnoDB. También incluyen un nuevo sys_schema para el análisis y la solución de problemas, la mejora del optimizador que permite ignorar los índices no utilizados, y las mejoras de rendimiento. Para obtener más información, consulte JSON_TABLE.

  • Valores nuevos predeterminados para los parámetros: los siguientes parámetros tienen valores predeterminados nuevos para las instancias de base de datos de la versión 10.6 de MariaDB:

    • El valor predeterminado para los siguientes parámetros ha cambiado de utf8 a utf8mb3:

      Si bien los valores predeterminados han cambiado para estos parámetros, no hay ningún cambio funcional. Para obtener más información, consulte Supported Character Sets and Collations (Conjuntos de caracteres e intercalaciones admitidos) en la documentación de MariaDB.

    • El valor predeterminado del parámetro collation_connection ha cambiado de utf8_general_ci a utf8mb3_general_ci. Si bien el valor predeterminado ha cambiado para este parámetro, no hay ningún cambio funcional.

    • El valor predeterminado del parámetro old_mode ha cambiado de sin establecer a UTF8_IS_UTF8MB3. Si bien el valor predeterminado ha cambiado para este parámetro, no hay ningún cambio funcional.

Para ver una lista de todas las características de la versión 10.6 de MariaDB y la documentación correspondiente, consulte Cambios y mejoras de la versión 10.6 de MariaDB y Notas de la versión: serie 10.6 de MariaDB en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características de MariaDB que no admite Amazon RDS.

Compatibilidad con MariaDB 10.5 en Amazon RDS

Amazon RDS admite las siguientes características nuevas de sus instancias de base de datos en las que se ejecuta la versión 10.5 de MariaDB o una posterior:

  • Mejoras de InnoDB – en la versión 10.5 de MariaDB se incluyen mejoras de InnoDB. Para obtener más información, consulte InnoDB: Performance Improvements etc. (InnoDB: mejoras de rendimiento, etc.) en la documentación de MariaDB.

  • Actualizaciones del esquema de rendimiento – en la versión 10.5 de MariaDB se incluyen actualizaciones del esquema de rendimiento. Para obtener más información, consulte Performance Schema Updates to Match MySQL 5.7 Instrumentation and Tables (Actualizaciones del esquema de rendimiento para lograr la coincidencia con la instrumentación y las tablas de MySQL 5.7) en la documentación de MariaDB.

  • Un solo archivo en el registro REDO de InnoDB – en las versiones de MariaDB anteriores a la versión 10.5, el valor del parámetro innodb_log_files_in_group estaba establecido en 2. En la versión 10.5 de MariaDB, el valor de este parámetro está establecido en 1.

    Si efectúa la actualización desde una versión anterior a la versión 10.5 de MariaDB y no modifica los parámetros, el valor del parámetro innodb_log_file_size no cambia. Sin embargo, vale para un solo archivo de registro en lugar de para dos. El resultado es que la instancia de base de datos actualizada de MariaDB, versión 10.5, utiliza la mitad del tamaño del registro REDO que usaba antes de la actualización. Este cambio puede tener un efecto notable en el rendimiento. Para solucionar este problema, puede duplicar el valor del parámetro innodb_log_file_size. Para obtener información acerca de cómo modificar los parámetros, consulte Modificación de parámetros de un grupo de parámetros de base de datos.

  • No se admite el comando SHOW SLAVE STATUS – en las versiones de MariaDB anteriores a la versión 10.5, el comando SHOW SLAVE STATUS requería el privilegio REPLICATION SLAVE. En la versión 10.5 de MariaDB, el comando SHOW REPLICA STATUS equivalente requiere el privilegio REPLICATION REPLICA ADMIN. Este privilegio nuevo no se otorga al usuario maestro de RDS.

    En lugar de utilizar el comando SHOW REPLICA STATUS, ejecute el procedimiento almacenado mysql.rds_replica_status nuevo para devolver información similar. Para obtener más información, consulte mysql.rds_replica_status.

  • No se admite el comando SHOW RELAYLOG EVENTS – en las versiones de MariaDB anteriores a la versión 10.5, el comando SHOW RELAYLOG EVENTS requería el privilegio REPLICATION SLAVE. En la versión 10.5 de MariaDB, este comando requiere el privilegio REPLICATION REPLICA ADMIN. Este privilegio nuevo no se otorga al usuario maestro de RDS.

  • Valores predeterminados nuevos para los parámetros – los siguientes parámetros tienen valores predeterminados nuevos para las instancias de base de datos de MariaDB, versión 10.5:

Para ver una lista de todas las características de la versión 10.5 de MariaDB y la documentación respectiva, consulte Changes & Improvements in MariaDB 10.5 (Cambios y mejoras de la versión 10.5 de MariaDB) y Release Notes - MariaDB 10.5 Series (Notas de la versión: Serie 10.5 de MariaDB), en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características de MariaDB que no admite Amazon RDS.

Compatibilidad con MariaDB 10.4 en Amazon RDS

Amazon RDS admite las siguientes nuevas características de sus instancias de base de datos en las que se ejecuta la versión de MariaDB 10.4 o posterior:

Para ver una lista de todas las características de MariaDB 10.4 y de su documentación, consulte Changes & Improvements in MariaDB 10.4 y Release Notes - MariaDB 10.4 Series en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características de MariaDB que no admite Amazon RDS.

Compatibilidad con MariaDB 10.3 en Amazon RDS

Amazon RDS admite las siguientes nuevas características de sus instancias de base de datos en las que se ejecuta la versión de MariaDB 10.3 o posterior:

  • Compatibilidad con Oracle: analizador de compatibilidad PL/SQL; secuencias; INTERSECT y EXCEPT para complementar UNION; declaraciones TYPE OF y ROW TYPE OF nuevas; y columnas invisibles.

  • Procesamiento de datos temporales: tablas con control de versiones del sistema para realizar consultas en estados anteriores y presentes de la base de datos

  • Flexibilidad: agregados definidos por los usuarios; compresión de columnas independiente del almacenamiento y compatibilidad con el protocolo de proxy para retransmitir la dirección IP del cliente al servidor

  • Manejabilidad: operaciones ADD COLUMN instantáneas; y operaciones de lenguaje de definición de datos (DDL) de falla rápida

Para ver una lista de todas las características de MariaDB 10.3 y de su documentación, consulte Changes & Improvements in MariaDB 10.3 y Release Notes - MariaDB 10.3 Series en el sitio web de MariaDB.

Para ver una lista de las características no admitidas, consulte Características de MariaDB que no admite Amazon RDS.

Motores de almacenamiento de MariaDB admitidos en Amazon RDS

RDS for MariaDB es compatible con los siguientes motores de almacenamiento.

Otros motores de almacenamiento no son compatibles actualmente con RDS for MariaDB.

Motor de almacenamiento InnoDB

Si bien MariaDB admite varios motores de almacenamiento con diversas capacidades, no todos están optimizados para la recuperación y la durabilidad de los datos. InnoDB es el motor de almacenamiento recomendado para las instancias de base de datos MariaDB en Amazon RDS. Las características de Amazon RDS de recuperación a un momento dado y la restauración de instantáneas requieren un motor de almacenamiento que pueda recuperarse y solo son compatibles con el motor de almacenamiento recomendado para la versión de MariaDB.

Para obtener más información, consulte InnoDB.

Motor de almacenamiento MyRocks

El motor de almacenamiento MyRocks está disponible en la versión 10.6 de RDS for MariaDB y versiones posteriores. Antes de utilizar el motor de almacenamiento MyRocks en una base de datos de producción, recomendamos que realice análisis comparativos y pruebas exhaustivas para verificar cualquier beneficio potencial sobre InnoDB para su caso de uso.

El grupo de parámetros predeterminado para la versión 10.6 de MariaDB incluye parámetros de MyRocks. Para obtener más información, consulte Parámetros de MariaDB y Working with parameter groups (Trabajar con grupos de parámetros).

Para crear una tabla que utilice el motor de almacenamiento MyRocks, especifique ENGINE=RocksDB en la instrucción CREATE TABLE. En el siguiente ejemplo, se crea una tabla que utiliza el motor de almacenamiento MyRocks.

CREATE TABLE test (a INT NOT NULL, b CHAR(10)) ENGINE=RocksDB;

Se recomienda no ejecutar transacciones que abarquen las tablas InnoDB y MyRocks. MariaDB no garantiza ACID (atomicidad, consistencia, aislamiento, durabilidad) para transacciones entre motores de almacenamiento. Si bien es posible tener tablas InnoDB y MyRocks en una instancia de base de datos, no recomendamos este enfoque, excepto durante la migración de un motor de almacenamiento a otro. Cuando existen tablas InnoDB y MyRocks en una instancia de base de datos, cada motor de almacenamiento tiene su propio grupo de búferes, lo que podría provocar una degradación del rendimiento.

MyRocks no admite aislamiento SERIALIZABLE o bloqueos de espacio. Por lo tanto, en general, no puede utilizar MyRocks con replicación basada en instrucciones. Para obtener más información, consulte MyRocks y replicación.

En la actualidad, puede modificar solo los siguientes parámetros de MyRocks:

El motor de almacenamiento MyRocks y el motor de almacenamiento InnoDB pueden competir por la memoria en función de la configuración de los parámetros rocksdb_block_cache_size y innodb_buffer_pool_size. En algunos casos, es posible que solo tenga la intención de utilizar el motor de almacenamiento MyRocks en una instancia de base de datos determinada. Si es así, recomendamos configurar el parámetro innodb_buffer_pool_size minimal en un valor mínimo y configurar el rocksdb_block_cache_size lo más alto posible.

Puede acceder a los archivos de registro de MyRocks mediante las operaciones DescribeDBLogFiles y DownloadDBLogFilePortion.

Para obtener más información sobre MyRocks, consulte MyRocks en el sitio web de MariaDB.

Calentamiento de caché para MariaDB en Amazon RDS

El calentamiento de caché de InnoDB puede proporcionar ganancias de rendimiento para la instancia de base de datos de MariaDB al guardar el estado actual del grupo del búfer cuando se cierra la instancia de base de datos y volver a cargar el grupo del búfer desde la información guardada cuando se inicia la instancia de base de datos. Este método elimina la necesidad de que el grupo del búfer "se caliente" con respecto al uso normal de la base de datos y, en su lugar, precarga el grupo del búfer con las páginas de las consultas frecuentes conocidas. Para obtener más información acerca del calentamiento de caché consulte Volcado y restauración del grupo de búferes en la documentación de MariaDB.

El calentamiento de caché se habilita de forma predeterminada en MariaDB 10.3 y en instancias de base de datos superiores. Para habilitarlo, establezca los parámetros innodb_buffer_pool_dump_at_shutdown e innodb_buffer_pool_load_at_startup en 1 en el grupo de parámetros de la instancia de base de datos. Cambiar los valores de estos parámetros en un grupo de parámetros afecta a todas las instancias de base de datos de MariaDB que utilicen ese grupo de parámetros. Para habilitar el calentamiento de caché para instancias de base de datos de MariaDB concretas, es posible que deba crear un nuevo grupo de parámetros para esas instancias de base de datos. Para obtener información acerca de los grupos de parámetros, consulte Working with parameter groups (Trabajar con grupos de parámetros).

El calentamiento de caché proporciona principalmente un beneficio de desempeño para las instancias de bases de datos que utilizan almacenamiento estándar. Si utiliza almacenamiento PIOPS, normalmente no se observa un beneficio de desempeño significativo.

importante

Si la instancia de base de datos MariaDB no se cierra de forma normal como, por ejemplo, durante una conmutación por error, el estado del grupo del búfer no se guarda en el disco. En este caso, MariaDB carga cualquier archivo de grupo del búfer que esté disponible cuando se reinicia la instancia de base de datos. No es perjudicial, pero el grupo del búfer restaurado podría no reflejar el estado más reciente del grupo del búfer antes del reinicio. Para asegurarse de que tiene un estado reciente del grupo del búfer disponible para calentar la caché de al iniciar, recomendamos que vuelque periódicamente el grupo del búfer "bajo demanda". Puede volcar o cargar el grupo del búfer bajo demanda.

Puede crear un evento para volcar el grupo del búfer automáticamente a intervalos regulares. Por ejemplo, la siguiente instrucción crea un evento denominado periodic_buffer_pool_dump que vuelca el grupo del búfer cada hora.

CREATE EVENT periodic_buffer_pool_dump ON SCHEDULE EVERY 1 HOUR DO CALL mysql.rds_innodb_buffer_pool_dump_now();

Para obtener más información, consulte Events en la documentación de MariaDB.

Volcado y carga del grupo del búfer bajo demanda

Puede guardar y cargar la caché de bajo demanda usando los siguientes procedimientos almacenados:

Características de MariaDB que no admite Amazon RDS

Las siguientes características de MariaDB no se admiten en Amazon RDS:

  • Motor de almacenamiento S3

  • Complemento de autenticación: GSSAPI

  • Complemento de autenticación: conector Unix

  • AWSComplemento de cifrado de Key Management

  • Replicación retrasada para versiones de MariaDB anteriores a la versión 10.6

  • Cifrado nativo de MariaDB en reposo para InnoDB y Aria

    Puede habilitar el cifrado en reposo para una instancia de base de datos de MariaDB siguiendo las instrucciones en Cifrado de recursos de Amazon RDS.

  • HandlerSocket

  • Tipo de tabla JSON para versiones de MariaDB anteriores a la versión 10.6

  • ColumnStore de MariaDB

  • Clúster Galera de MariaDB

  • Replicación de varios orígenes

  • Motor de almacenamiento MyRocks para versiones de MariaDB anteriores a la versión 10.6

  • Complemento de validación de contraseñas, simple_password_check y cracklib_password_check

  • Motor de almacenamiento Spider

  • Motor de almacenamiento Sphinx

  • Motor de almacenamiento TokuDB

  • Atributos de objetos específicos de motores de almacenamiento, como se describe en Engine-defined New Table/Field/Index Attributes en la documentación de MariaDB

  • Cifrado de tabla y espacio de tabla

  • Complemento Hashicorp Key Management

  • Ejecución de dos actualizaciones en paralelo

Para ofrecer una experiencia de servicio administrado, Amazon RDS no proporciona acceso mediante shell a las instancias de base de datos y restringe el acceso a ciertos procedimientos y tablas del sistema que requieren privilegios avanzados. Amazon RDS permite el acceso a las bases de datos de una instancia de base de datos usando cualquier aplicación cliente de SQL estándar. Amazon RDS no permite el acceso de anfitrión directo a una instancia de base de datos a través de Telnet, Secure Shell (SSH) o conexión a escritorio remoto de Windows.