Anunciado como parte del lanzamiento de ClusterControl 1.5, ahora brindamos soporte completo para MariaDB versión 10.2. Esta nueva versión ofrece una integración aún mayor con Galera Cluster, la solución de alta disponibilidad de MariaDB, y también presenta mejoras en SQL como funciones de ventana, expresiones de tabla comunes y funciones JSON.
MariaDB es la base de datos de código abierto de más rápido crecimiento, llegando a más de 60 millones de desarrolladores en todo el mundo a través de su inclusión en todas las principales distribuciones de Linux, así como una presencia creciente en los principales proveedores de nube del mundo. Su uso generalizado en distribuciones de Linux y plataformas en la nube, así como su facilidad de uso, han convertido rápidamente a MariaDB en el estándar de base de datos de código abierto para la empresa moderna.
MariaDB Server se incluyó en la encuesta reciente de OpenStack como la tecnología de base de datos número uno y dos en uso en la actualidad.
¿Qué hay de nuevo en la versión 10.2?
MariaDB Server 10.1 trajo la integración incorporada predeterminada de Galera Cluster para permitir a sus usuarios lograr lo último en alta disponibilidad. Variousnines fue uno de los primeros en adoptar esta tecnología de agrupación en clústeres y estaba emocionado de ver que MariaDB la adoptaba para HA.
Estas son algunas de las mejoras incluidas en la nueva versión 10.2 anunciadas por MariaDB...
- Las mejoras de SQL como funciones de ventana, expresiones de tabla comunes y funciones JSON permiten nuevos casos de uso para MariaDB Server
- La replicación del servidor MariaDB estándar tiene más optimizaciones
- Se han eliminado muchas limitaciones de área, lo que permite un uso más fácil y no hay necesidad de manejar limitaciones en el nivel de la aplicación
- Se presentó MyRocks, un nuevo motor de almacenamiento desarrollado por Facebook, que enriquecerá aún más los casos de uso de MariaDB Server (NOTA:este nuevo motor de almacenamiento ahora también está disponible para implementaciones de MariaDB en ClusterControl, sin embargo, ClusterControl no aún no es compatible con el monitoreo específico de MyRocks .)
Funciones de ventana
Las funciones de ventana son populares en Business Intelligence (BI), donde se necesita una generación de informes más compleja en función de un subconjunto de datos, como métricas del país o del equipo de ventas. Otro caso de uso común es cuando los datos basados en series de tiempo deben agregarse en función de una ventana de tiempo en lugar de solo un registro actual, como todas las filas dentro de un período de tiempo determinado.
A medida que el análisis se vuelve cada vez más importante para los usuarios finales, las funciones de ventana ofrecen una nueva forma de escribir consultas SQL analíticas optimizadas para el rendimiento, que son fáciles de leer y mantener, y eliminan la necesidad de escribir costosas subconsultas y autocombinaciones.
Expresiones de tabla comunes
Las consultas jerárquicas y recursivas generalmente se implementan mediante expresiones de tabla comunes (CTE). Son similares a las tablas derivadas en una cláusula FROM, pero al tener una palabra clave de identificación WITH, el optimizador puede producir planes de consulta más eficientes. Actuando como un conjunto de resultados temporal y con nombre creado automáticamente, que solo es válido para el momento de la consulta, se puede usar para la ejecución recursiva y jerárquica, y también permite la reutilización del conjunto de datos temporal. Tener un método dedicado también ayuda a crear un código SQL más expresivo y limpio.
Funciones JSON
JSON (Notación de objetos de JavaScript), un formato de intercambio de datos independiente de la plataforma y basado en texto, se utiliza no solo para intercambiar datos, sino también como un formato para almacenar datos no estructurados. MariaDB Server 10.2 ofrece más de 24 funciones JSON para permitir la consulta, modificación, validación e indexación de datos con formato JSON, que se almacenan en un campo basado en texto de una base de datos. Como resultado, el poderoso modelo relacional de MariaDB se puede enriquecer trabajando con datos no estructurados, cuando sea necesario.
Mediante el uso de columnas virtuales, la función JSON, JSON_VALUE y la función de indexación más nueva de MariaDB Server 10.2 en columnas virtuales, los valores JSON se extraerán automáticamente de la cadena JSON, se almacenarán en una columna virtual y se indexarán para proporcionar el acceso más rápido a JSON. cadena.
Usando la función JSON JSON_VALID, el nuevo CHECK CONSTRAINTS en MariaDB Server 10.2 garantiza que solo las cadenas JSON del formato JSON correcto se pueden agregar a un campo.
Reversión basada en registros binarios
La utilidad mysqlbinlog mejorada que se entrega con MariaDB Server 10.2 incluye una nueva función de reversión en un punto en el tiempo, que permite que una base de datos o una tabla vuelvan a un estado anterior y ofrece una reversión basada en registros binarios de datos ya comprometidos. La herramienta mysqlbinlog no está modificando directamente ningún dato, está generando un "archivo de exportación" que incluye las declaraciones revertidas de las transacciones, registradas en un archivo de registro binario. El archivo creado se puede utilizar con el cliente de línea de comandos u otra herramienta SQL para ejecutar las instrucciones SQL incluidas. De esta manera, se revertirán todas las transacciones confirmadas hasta una marca de tiempo determinada.
En el caso de abordar errores lógicos como agregar, cambiar o eliminar datos, hasta ahora la única forma posible ha sido usar mysqlbinlog para revisar las transacciones y solucionar los problemas manualmente. Sin embargo, esto a menudo conduce a la inconsistencia de los datos porque las correcciones generalmente solo abordan la declaración incorrecta, ignorando así otras dependencias de datos.
Por lo general, debido a un error del DBA o del usuario, la restauración de una base de datos enorme puede provocar una interrupción significativa del servicio. La reversión de las últimas transacciones utilizando la reversión de un punto en el tiempo requiere solo el tiempo del extracto, una breve revisión y la ejecución de las transacciones revertidas, lo que ahorra tiempo, recursos y servicios valiosos.
¿Por qué MariaDB?
Con varias opciones de MySQL para elegir, ¿por qué elegir MariaDB como la tecnología para potenciar su aplicación? Estos son algunos de los beneficios de seleccionar MariaDB...
- MariaDB se basa en una arquitectura moderna que es extensible en cada capa:cliente, clúster, kernel y almacenamiento. Esta extensibilidad proporciona dos ventajas principales. Permite la innovación continua de la comunidad a través de complementos y facilita a los clientes la configuración de MariaDB para admitir una amplia variedad de casos de uso, desde OLTP hasta OLAP.
- MariaDB desarrolla funciones y mejoras que forman parte de su propia hoja de ruta, independientemente de Oracle/MySQL. Esto permite que MariaDB acepte y atraiga la innovación de una comunidad más amplia, así como agregar nuevas funciones desarrolladas internamente que facilitan la migración de sistemas propietarios a MariaDB de código abierto.
- MariaDB está diseñada para proteger la base de datos en cada capa, lo que la convierte en una base de datos confiable de uso general que se utiliza en industrias como el gobierno y la banca que requieren funciones de seguridad del más alto nivel.
- MariaDB ofrece soporte para una variedad de motores de almacenamiento, incluido el soporte NoSQL, lo que brinda a sus usuarios varias opciones para determinar cuál funcionará mejor con su entorno.
- MariaDB ha implementado muchas mejoras que mejoran el rendimiento, incluidas optimizaciones de consultas que, en varias pruebas comparativas, permiten que MariaDB funcione entre un 3 y un 5 % mejor que un entorno MySQL configurado de manera similar.
ClusterControl para MariaDB
ClusterControl brinda soporte para cada una de las principales tecnologías de MariaDB...
- Servidor MariaDB: MariaDB Server es una base de datos de propósito general diseñada con una arquitectura extensible para admitir un amplio conjunto de casos de uso a través de motores de almacenamiento conectables, como InnoDB, MyRocks y Spider.
- Replicación maestra/esclava asíncrona incorporada
- Columnas dinámicas que permiten que diferentes filas almacenen diferentes datos en la misma columna
- Cifrado integrado
- Optimización de consultas
- Compatibilidad de esquema mejorada
- Clúster MariaDB: MariaDB Cluster está hecho para los entornos basados en la nube de hoy. Es completamente escalable de lectura y escritura, viene con replicación síncrona, permite topologías multimaestro y garantiza que no haya retrasos ni transacciones perdidas.
- Replicación síncrona sin retraso esclavo ni transacciones perdidas
- Topología multimaestro activo-activo
- Leer y escribir en cualquier nodo de clúster
- Control de membresía automático, con nodos fallidos eliminados del clúster
- Unión automática de nodos
- Replicación paralela verdadera a nivel de fila
- Conexiones directas de clientes, aspecto nativo de MariaDB
- Escalabilidad de lectura y escritura
- Escala máxima de MariaDB: MariaDB MaxScale es un proxy de base de datos que amplía la alta disponibilidad, escalabilidad y seguridad de MariaDB Server y, al mismo tiempo, simplifica el desarrollo de aplicaciones al desvincularlo de la infraestructura de base de datos subyacente.
- Incluye firewall de base de datos y protección DoS
- División de lectura y escritura
- Enmascaramiento de datos
- fragmentación basada en esquemas
- Almacenamiento en caché de consultas