Articulo de referencia

Base de datos en memoria

Una base de datos en memoria ( IMDb , o sistema de base de datos en memoria principal ( MMDB ) o base de datos residente en memoria ) es un sistema de gestión de bases de datos ...

Una base de datos en memoria ( IMDb , o sistema de base de datos en memoria principal ( MMDB ) o base de datos residente en memoria ) es un sistema de gestión de bases de datos que se basa principalmente en la memoria principal para el almacenamiento de datos informáticos . Se diferencia de los sistemas de gestión de bases de datos que emplean un mecanismo de almacenamiento en disco . Las bases de datos en memoria son más rápidas que las bases de datos optimizadas para disco porque el acceso al disco es más lento que el acceso a la memoria y los algoritmos de optimización internos son más simples y ejecutan menos instrucciones de CPU. El acceso a los datos en memoria elimina el tiempo de búsqueda al consultar los datos, lo que proporciona un rendimiento más rápido y predecible que el disco. [ 1 ] [ 2 ]

Las aplicaciones donde el tiempo de respuesta es crítico, como las que gestionan equipos de redes de telecomunicaciones y redes de publicidad móvil , suelen utilizar bases de datos en memoria principal. [ 3 ] Las bases de datos en memoria principal han ganado mucha popularidad, especialmente en el ámbito del análisis de datos , desde mediados de la década de 2000 , principalmente debido a los procesadores multinúcleo que pueden gestionar grandes cantidades de memoria y a la menor coste de la RAM . [ 4 ] [ 5 ]

Un posible obstáculo técnico en el almacenamiento de datos en memoria es la volatilidad de la RAM. Específicamente, en caso de una pérdida de energía, intencional o no, los datos almacenados en la RAM volátil se pierden. [ 6 ] Con la introducción de la tecnología de memoria de acceso aleatorio no volátil , las bases de datos en memoria podrán funcionar a máxima velocidad y mantener los datos en caso de un fallo de energía. [ 7 ] [ 8 ] [ 9 ]

Soporte ACID

En su forma más simple, las bases de datos en memoria principal almacenan datos en dispositivos de memoria volátil . Estos dispositivos pierden toda la información almacenada cuando se interrumpe el suministro eléctrico o se reinician. En este caso, se puede decir que las bases de datos en memoria principal carecen de soporte para la parte de "durabilidad" de las propiedades ACID (atomicidad, consistencia, aislamiento y durabilidad). Las bases de datos en memoria volátil pueden, y a menudo lo hacen, soportar las otras tres propiedades ACID: atomicidad, consistencia y aislamiento.

Muchas bases de datos IMDB han aumentado su durabilidad mediante los siguientes mecanismos:

  • Los archivos de instantáneas , o imágenes de punto de control , registran el estado de la base de datos en un momento dado. El sistema suele generarlos periódicamente, o al menos cuando IMDb realiza un apagado controlado. Si bien proporcionan cierta persistencia a los datos (ya que la base de datos no pierde toda la información en caso de un fallo del sistema), solo ofrecen una durabilidad parcial (ya que se perderán los cambios recientes). Para una durabilidad completa, es necesario complementarlos con uno de los siguientes elementos:
  • El registro de transacciones , que documenta los cambios realizados en la base de datos en un archivo de registro, facilita la recuperación automática de una base de datos en memoria.
  • El módulo de memoria no volátil ( NVDIMM ) cuenta con una interfaz DRAM, que a menudo se combina con memoria flash NAND para garantizar la seguridad de los datos. Las primeras soluciones NVDIMM se diseñaron con supercondensadores en lugar de baterías como fuente de alimentación de respaldo. Gracias a este sistema de almacenamiento, IMDb puede reanudar su funcionamiento de forma segura desde su estado tras el reinicio.
  • Memoria de acceso aleatorio no volátil (NVRAM), generalmente en forma de RAM estática con respaldo de batería (RAM de batería) o ROM programable y borrable eléctricamente ( EEPROM ). Con este almacenamiento, el sistema IMDb, al reiniciarse, puede recuperar los datos almacenados desde su último estado consistente.
  • Implementaciones de alta disponibilidad que se basan en la replicación de bases de datos , con conmutación automática a una base de datos de respaldo idéntica en caso de fallo de la base de datos principal. Para protegerse contra la pérdida de datos en caso de un fallo total del sistema, normalmente se utiliza la replicación de una base de datos IMDb además de uno o más de los mecanismos mencionados anteriormente.

Algunas bases de datos de información de gestión de información (IMDB) permiten que el esquema de la base de datos especifique diferentes requisitos de durabilidad para áreas seleccionadas de la misma ; por lo tanto, los datos que cambian con mayor rapidez, que se pueden regenerar fácilmente o que no tienen sentido después de un apagado del sistema no necesitarían registrarse para garantizar la durabilidad (aunque sí tendrían que replicarse para una alta disponibilidad), mientras que la información de configuración se marcaría como información que necesita conservarse. 

Sistemas híbridos con bases de datos en disco

Si bien el almacenamiento de datos en memoria ofrece ventajas de rendimiento, es un método costoso. Una estrategia para aprovechar los beneficios del almacenamiento en memoria y, al mismo tiempo, limitar sus costos, consiste en almacenar los datos más frecuentemente accedidos en memoria y el resto en disco. Dado que no existe una distinción estricta entre qué datos deben almacenarse en memoria y cuáles en disco, algunos sistemas actualizan dinámicamente la ubicación de almacenamiento de los datos en función de su uso. [ 10 ] Este enfoque difiere sutilmente del almacenamiento en caché , en el que se almacenan en caché los datos accedidos más recientemente , en lugar de los datos más frecuentemente accedidos en memoria.

La flexibilidad de los enfoques híbridos permite alcanzar un equilibrio entre:

  • rendimiento (que se mejora al ordenar, almacenar y recuperar los datos especificados completamente en la memoria, en lugar de acceder al disco)
  • costo, porque se puede sustituir un disco duro menos costoso por más memoria
  • persistencia
  • factor de forma, porque los chips de RAM no pueden alcanzar la densidad de un disco duro pequeño

En la industria de la computación en la nube, han surgido los términos "temperatura de los datos" o "datos calientes" y "datos fríos" para describir cómo se almacenan los datos en este sentido. [ 11 ] Los datos calientes se utilizan para describir los datos de misión crítica que necesitan ser accedidos con frecuencia, mientras que los datos fríos describen los datos que se necesitan con menos frecuencia y urgencia, como los datos que se conservan para fines de archivo o auditoría. Los datos calientes deben almacenarse de forma que permitan una recuperación y modificación rápidas, lo que a menudo se logra mediante el almacenamiento en memoria, pero no siempre. Los datos fríos, por otro lado, pueden almacenarse de una manera más rentable y se acepta que el acceso a los datos probablemente será más lento en comparación con los datos calientes. Si bien estas descripciones son útiles, los términos "caliente" y "frío" carecen de definiciones concretas. [ 11 ]

La eficiencia de fabricación es otro motivo para elegir un sistema de base de datos combinado en memoria y en disco. Algunas líneas de productos, especialmente en electrónica de consumo , incluyen unidades con almacenamiento permanente y otras que dependen de la memoria para el almacenamiento ( por ejemplo, los decodificadores ). Si estos dispositivos requieren un sistema de base de datos, un fabricante puede adoptar un sistema híbrido con un coste menor y mayor , y con menos personalización del código, en lugar de utilizar bases de datos separadas en memoria y en disco para sus productos sin disco y con disco, respectivamente.

El primer motor de base de datos que admitía tablas tanto en memoria como en disco en una sola base de datos, WebDNA, se lanzó en 1995.

Memoria de almacenamiento

Otra variante implica grandes cantidades de memoria no volátil en el servidor, por ejemplo, chips de memoria flash como memoria direccionable en lugar de una estructura de discos. Una base de datos en este tipo de memoria combina una velocidad de acceso muy rápida con persistencia tras reinicios y cortes de energía. [ 12 ]

Bases de datos en memoria destacadas

Véase también

Notas

  1. "Definición: base de datos en memoria" . WhatIs.com . Consultado el 19 de enero de 2013 .
  2. Michael Vizard. "El auge de las bases de datos en memoria" . Slashdot. Archivado del original el 1 de febrero de 2013. Consultado el 19 de enero de 2013 .
  3. "TeleCommunication Systems se convierte en revendedor de TimesTen; los operadores móviles y las compañías telefónicas obtienen una plataforma en tiempo real para servicios basados ​​en la ubicación" . Business Wire . 24 de junio de 2002.
  4. "La caída de los precios de la RAM impulsa el auge de las bases de datos en memoria" . SAP. Archivado del original el 4 de noviembre de 2013. Consultado el 19 de enero de 2013 .
  5. "El auge de las bases de datos en memoria impacta en una amplia gama de empleos" . Dice.com . 13 de julio de 2012.
  6. Steel, Chris (18 de febrero de 2015). "Computación en memoria: ¿qué sucede cuando se corta la energía?" . Recuperado el 10 de marzo de 2017 .
  7. Históricamente, la RAM no se utilizaba como almacenamiento de datos persistente y, por lo tanto, la pérdida de datos en estos casos no era un problema. Persistencia de todo el sistema con memorias no volátiles http://research.microsoft.com/apps/pubs/default.aspx?id=160853
  8. El sombrío futuro de la memoria flash NAND http://research.microsoft.com/apps/pubs/default.aspx?id=162804
  9. AGIGARAM NVDIMM guarda datos incluso ante fallos del sistema https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system-failure
  10. Brust, Andrew (8 de mayo de 2013). "Teradata entra en la batalla de la memoria, de forma inteligente" . ZDNet . Consultado el 28 de julio de 2017 .
  11. 1 2 Clancy, Molly (10 de agosto de 2023). "Cuál es la diferencia: almacenamiento de datos en caliente y en frío" . Recuperado el 28 de julio de 2017 .
  12. Mellor, Chris (30 de enero de 2013). "Verdaderamente estos son los AÑOS DORADOS del almacenamiento" . The Register .
  13. "¿Qué es SAP HANA?" . SAP . Consultado el 1 de agosto de 2024 .
  14. "Base de datos en memoria Oracle TimesTen" .

Referencias

  • Jack Belzer (abril de 1980).Enciclopedia de Ciencias y Tecnologías de la Computación - Volumen 14: De sistemas de bases de datos muy grandes a memoria cero y fuente de información de Markov . Marcel Dekker Inc. ISBN 978-0-8247-2214-2.