De Wikipedia, la enciclopedia libre
Saltar a navegación Saltar a búsqueda

Una base de datos en memoria ( IMDB , también sistema de base de datos de memoria principal o MMDB o base de datos residente en memoria ) es un sistema de gestión de base de datos que se basa principalmente en la memoria principal para el almacenamiento de datos informáticos . Se contrasta con 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 en disco porque el acceso al disco es más lento que el acceso a la memoria, los algoritmos de optimización internos son más simples y ejecutan menos instrucciones de la CPU. El acceso a los datos en la memoria elimina el tiempo de búsquedaal 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 ejecutan equipos de redes de telecomunicaciones y redes de publicidad móvil , a menudo utilizan bases de datos de la memoria principal. [3] Los IMDB han ganado mucha tracción, especialmente en el espacio de análisis de datos , a partir de mediados de la década de 2000 , principalmente debido a los procesadores multinúcleo que pueden manejar una gran memoria y debido a una RAM menos costosa . [4] [5]

Un obstáculo técnico potencial con el almacenamiento de datos en memoria es la volatilidad de la RAM. Específicamente en el 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 corte de energía. [7] [8] [9]

Soporte ACID [ editar ]

En su forma más simple, las bases de datos de la memoria principal almacenan datos en dispositivos de memoria volátiles . Estos dispositivos pierden toda la información almacenada cuando el dispositivo pierde energía o se reinicia. En este caso, se puede decir que los IMDB carecen de soporte para la parte de "durabilidad" de las propiedades ACID (atomicidad, consistencia, aislamiento, durabilidad). Los IMDB basados ​​en memoria volátil pueden admitir, y a menudo lo hacen, las otras tres propiedades ACID de atomicidad, consistencia y aislamiento.

Muchos IMDB tienen mayor durabilidad a través de los siguientes mecanismos:

  • Archivos instantáneos , o imágenes de puntos de control , que registran el estado de la base de datos en un momento determinado. El sistema normalmente los genera periódicamente, o al menos cuando el IMDB realiza un apagado controlado. Si bien dan una medida de persistencia a los datos (en el sentido de que la base de datos no pierde todo en el caso de una falla del sistema), solo ofrecen una durabilidad parcial (ya que se perderán los cambios "recientes"). Para una durabilidad total, necesitan ser complementados con uno de los siguientes:
  • Registro de transacciones , que registra los cambios en la base de datos en un archivo de diario y facilita la recuperación automática de una base de datos en memoria.
  • DIMM no volátil ( NVDIMM ), un módulo de memoria que tiene una interfaz DRAM, a menudo combinado con flash NAND para la seguridad de datos no volátiles. Las primeras soluciones NVDIMM se diseñaron con supercondensadores en lugar de baterías para la fuente de energía de respaldo. Con este almacenamiento, IMDB puede reanudarse de forma segura desde su estado al reiniciar.
  • Memoria de acceso aleatorio no volátil (NVRAM), generalmente en forma de RAM estática respaldada con energía de batería (RAM de batería), o una ROM programable borrable eléctricamente ( EEPROM ). Con este almacenamiento, el sistema IMDB que se reinicia puede recuperar el almacén de datos de su último estado coherente.
  • Implementaciones de alta disponibilidad que dependen de la replicación de la base de datos , con conmutación por error automática a una base de datos en espera idéntica en caso de falla de la base de datos primaria. Para protegerse contra la pérdida de datos en el caso de un bloqueo completo del sistema, normalmente se usa la replicación de un IMDB además de uno o más de los mecanismos enumerados anteriormente.

Algunos IMDB permiten que el esquema de la base de datos especifique diferentes requisitos de durabilidad para áreas seleccionadas de la base de datos; por lo tanto, los datos que cambian más rápido que se pueden regenerar fácilmente o que no tienen significado después de un apagado del sistema no necesitarían registrarse en un diario para mayor durabilidad (aunque tendría que replicarse para una alta disponibilidad), mientras que la información de configuración se marcaría como necesitada de conservación.

Híbridos con bases de datos en disco [ editar ]

Si bien el almacenamiento de datos en la memoria confiere ventajas de rendimiento, es un método costoso de almacenamiento de datos. Un enfoque para aprovechar los beneficios del almacenamiento en memoria y, al mismo tiempo, limitar sus costos, es almacenar los datos a los que se accede con más frecuencia en la memoria y el resto en el disco. Dado que no existe una distinción estricta entre qué datos deben almacenarse en la memoria y cuáles deben almacenarse en el disco, algunos sistemas actualizan dinámicamente dónde se almacenan los datos en función del uso de los datos. [10] Este enfoque es sutilmente diferente del almacenamiento en caché , en el que los datos a los que se accedió más recientemente se almacenan en caché, a diferencia de los datos a los que se accede con mayor frecuencia que se almacenan en la memoria.

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

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

En la industria de la computación en 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 a este respecto. [11] Los datos calientes se utilizan para describir los datos críticos para la misión a los que se debe acceder con frecuencia, mientras que los datos fríos describen los datos que se necesitan con menos frecuencia y con menos urgencia, como los datos que se guardan con fines de archivo o auditoría. Los datos activos deben almacenarse de manera que permitan una recuperación y modificación rápidas, lo que a menudo se logra mediante el almacenamiento en memoria, pero no siempre. Por otro lado, los datos fríos se pueden almacenar 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, no existe una definición concreta de "caliente" y "frío".[11]

La eficiencia de fabricación proporciona otra razón para seleccionar un sistema de base de datos combinado en memoria / en disco. Algunas líneas de productos de dispositivos, especialmente en electrónica de consumo , incluyen algunas unidades con almacenamiento permanente y otras que dependen de la memoria para el almacenamiento ( decodificadores , por ejemplo). Si tales dispositivos requieren un sistema de base de datos, un fabricante puede adoptar un sistema de base de datos híbrido a un costo más bajo y más alto , y con menos personalización de código, en lugar de usar bases de datos separadas en memoria y en disco, respectivamente, para su uso sin disco y sin disco. productos basados ​​en disco.

El primer motor de base de datos que admite tablas en memoria y en disco en una sola base de datos, WebDNA , se lanzó en 1995.

Memoria de almacenamiento [ editar ]

Otra variación implica grandes cantidades de memoria no volátil en el servidor, por ejemplo, chips de memoria flash como memoria direccionable en lugar de estructurada como matrices de discos. Una base de datos en esta forma de memoria combina una velocidad de acceso muy rápida con persistencia en reinicios y pérdidas de energía. [12]

Ver también [ editar ]

  • Comparación de sistemas de gestión de bases de datos relacionales
  • Almacén de datos distribuidos
  • Bases de datos integradas
  • Procesamiento en memoria
  • Lista de bases de datos en memoria
  • NoSQL
  • NewSQL

Notas [ editar ]

  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 desde el original el 1 de febrero de 2013 . Consultado el 19 de enero de 2013 .
  3. ^ "Sistemas de telecomunicaciones se inscribe como revendedor de TimesTen; los operadores móviles y los operadores obtienen una plataforma en tiempo real para servicios basados ​​en la ubicación" . Business Wire . 2002-06-24.
  4. ^ "La caída de los precios de la RAM impulsa el aumento de la base de datos en memoria" . SAP . Consultado el 19 de enero de 2013 .
  5. ^ "El aumento de las bases de datos en memoria afecta a una amplia gama de trabajos" . Dice.com . 13 de julio de 2012.
  6. ^ "In-memory computing: ¿qué sucede cuando se corta la energía?" . Consultado el 10 de marzo de 2017 .
  7. ^ Históricamente, la RAM no se usaba como un almacén 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 a través de fallas del sistema https://www.embedded.com/electronics-products/electronic-product-reviews/real-time-and-performance/4422291/AGIGARAM-NVDIMM-saves-data-through-system- falla
  10. ^ "Teradata entra en la refriega en memoria, inteligentemente ZDNet" . Consultado el 28 de julio de 2017 .
  11. ^ a b "Cuál es la diferencia: almacenamiento de datos en caliente y en frío" . Consultado el 28 de julio de 2017 .
  12. ^ "Verdaderamente estos son los AÑOS DORADOS del almacenamiento".

Referencias [ editar ]

  • Jack Belzer. Enciclopedia de ciencia y tecnología de la computación - Volumen 14: Sistemas de bases de datos muy grandes para fuentes de información de memoria cero y Markov . Marcel Dekker Inc. ISBN 978-0-8247-2214-2.

Enlaces externos [ editar ]

  • El renacimiento de la base de datos en memoria
  • Número especial sobre sistemas de bases de datos de memoria principal, IEEE Data Engineering Bulletin