Parte 3 y última
Necesitas saber esto sobre los motores de bases de datos (III)
KelSin Global Consulting
Bases de datos en memoria
Una base de datos en memoria también conocida como base de datos en memoria principal, almacena sus datos en memoria para facilitar tiempos más rápidos de respuesta. La base de datos en memoria carga la data en un formato comprimido no relacional. Adicionalmente la base de datos en memoria optimiza el trabajo relacionado con el procesamiento de las consultas.
Este tipo de base de datos además de brindar tiempos extremadamente rápidos de respuesta a consultas, reduce la necesidad de indexar datos en base de datos en memoria.
Adicionalmente la computación de 64 bits, servidores multi-nucleo y los bajos costos de memoria han hecho posible la aplicación de estas técnicas en base de datos en memoria.
Para el uso eficiente de la base de datos en memoria se debe habilitar el modo Quad Channel, que es la configuración más rápida en base de datos en memoria y consiste en llenar el primer banco de memoria (más próximo al procesador) que consta de 4 slot y llenar los 4 slots. Con el ello el uso intensivo de la base de datos en memoria se ve maximizado versus el uso del single channel.
Usos:
Como base de datos OLTP:
La base de datos en memoria OLTP almacena los datos a nivel de filas y se utilizan para almacenar y procesar datos transaccionales.
Como base de datos OLAP:
La base de datos en memoria OLAP es una base de datos analítica, que es a su vez un sistema de sólo lectura con datos históricos para la generación de indicadores en aplicaciones de inteligencia de negocios y el almacenamiento de esta base de datos es típicamente en columna.
Ventajas:
Las ventajas de trabajar con base de datos en memoria son:
– Su principal soporte de almacenamiento es la memoria.
– No consume CPU
– Es más veloz que el almacenamiento en disco.
Velocidad: la base de datos en memoria al almacenar toda su data en memoria RAM su velocidad de acceso es de 80milisegundo en promedio, mientras que la velocidad de acceso a disco duro es de 5 milisegundos, el cual es utilizado por base de datos tradicionales, es una diferencia de casi 100,000 veces. Y si estos tiempos los comparamos con almacenamiento en base de datos basado en discos de estado sólido o memoria FLASH no-volátil se estima en 1000 veces más lento que usando memoria RAM para esta base de datos.
Persistencia: La duda en general para base de datos en memoria es que sucede en caso de pérdida de fuente de energía, para ello las bases de datos en memoria permiten que las páginas de memoria RAM se escriban en almacenamiento no-volátil. Además la base de datos en memoria no considera completa la transacción completada hasta que esta no se grabe en el log de transacciones, ello también permite que en caso de falla se pueda recuperar la página más reciente de la base de datos en memoria y vuelva a aplicarse las operaciones desde el log.
Entre los principales motores de bases de datos en memoria tenemos:
Base de datos en memoria | Precio | Plataforma | Licencia | Escrita en | Última actualización |
Redis | 09-feb-21 | ||||
Tarantool | Gratis | Linux, FreeBSD, macOS | Simplified BSD | C | 09-jun-21 |
MemSQL | 30-jun-21 | ||||
Aerospike | 01-dic-19 | ||||
VoltDB | Windows, Linux, Mac | 17-abr-20 | |||
Hazelcast | 24-oct-20 | ||||
Dynomite | 23-jun-21 | ||||
SAP HANA Database | 26-sep-19 | ||||
Raima Database Manager | 21-may-21 | ||||
Oracle Database In-Memory | 29-dic-20 |
Comparativo de Motores de Bases de Datos SQL y No SQL
SQL
Costo | Versión (estable) | Sistema operativo | Soporta transacciones | |
Oracle | Sí/No | 18c (18.1) | Multiplataforma | Sí |
SQLServer | Sí/No | 14.0 | Linux / Microsoft Windows Server / Microsoft Windows | Sí |
MySQL | Sí/No | 8.0.12 | Multiplataforma | Sí |
PostgreSQL | No | 10.6 | Linux / Windows | Sí |
Microsoft Access | Sí | 14.0.6123.5001 | Microsoft Windows | Sí |
Teradata | Sí | 16.20 | SUSE Linux Enterprise Server | Sí |
IBM DB2 | Sí | 11.1 | Multiplataforma | Sí |
Informix | Sí | 12.10.xC2 | Multiplataforma | Sí |
SAP ASE | Sí | 16.0 | Unix / Microsoft Windows | Sí |
Amazon’s SimpleDB | Sí/No | – | Alojado | No |
NoSQL
Costo | Versión (estable) | Sistema operativo | Soporta transacciones | |
MongoDB | No | 4.0.2 | Windows / Linux / OS X / Solaris / Free BSD | Sí |
Cassandra | No | 3.11.1 | Multiplataforma | No |
Redis | No | 4.0.11 | Multiplataforma | Sí |
Hbase | No | 1.2.1 | Multiplataforma | Sí |
Neo4j | Sí/No | 3.3.0 | Multiplataforma | Sí |
Oracle NoSQL | Sí/No | 18.1 | Multiplataforma | Sí |
Amazon DynamoDB | Sí/No | – | Multiplataforma | Sí |
CouchBase | No | 5.5.0 | Multiplataforma | Sí |
Memcached | 1.5.11 | Multiplataforma | Sí | |
CouchDB | No | 2.2.0 | Multiplataforma | No |
Ranking de popularidad de bases de datos
Lee aquí la segunda parte de este artículo: Necesitas saber esto sobre los motores de bases de datos (II)
Autor: Francisco Serrano, Director de Desarrollo de KelSin Global Consulting
REFERENCIAS
Motor de base de datos, Wikipedia (2021)
Cómo funciona el motor de base de datos SQL, Empleos TI
Base de Datos en Memoria, BSG Institute, NICOLAS NAKASONE
What are the best scalable In-Memory Databases?, Slant (2021)
Comments are closed