La co­mu­ni­ca­ción digital genera cada vez más ca­n­ti­da­des de datos, lo que ofrece una gran opo­r­tu­ni­dad a las empresas que trabajan con big data. Sin embargo, cuantos más datos tenga una empresa a su di­s­po­si­ción, mayor será el reto de filtrar las re­la­cio­nes, los patrones y las co­n­clu­sio­nes que se dan entre ellos. Se necesitan so­lu­cio­nes y sistemas de TI para ayudar a las empresas a evaluar toda esta avalancha de in­fo­r­ma­ción. El análisis de datos uti­li­za­n­do bases de datos tra­di­cio­na­les ya no es su­fi­cie­n­te para almacenar, recuperar y procesar conjuntos de datos ex­tre­ma­da­me­n­te grandes: cuando las bases de datos clásicas alcanzan sus límites, se requiere el uso de las bases de datos en memoria.

¿Qué son las bases de datos en memoria?

Una base de datos en memoria o in-memory (IMDB, por sus siglas en inglés) se basa en un sistema de gestión de bases de datos que almacena toda la in­fo­r­ma­ción di­re­c­ta­me­n­te en la memoria RAM de uno o más or­de­na­do­res. El uso de una RAM tiene una ventaja decisiva: las bases de datos en memoria cuentan con una velocidad de acceso mucho más rápida que las memorias tra­di­cio­na­les y, por lo tanto, una tra­n­s­mi­sión de los datos más eficiente.

Hecho

La memoria de trabajo también se denomina RAM (Random Access Memory) y contiene todos los programas y los datos ne­ce­sa­rios para que estos se ejecuten ade­cua­da­me­n­te. Después de apagar el ordenador se pierden todos los datos al­ma­ce­na­dos en ella te­m­po­ra­l­me­n­te.

¿Cómo funcionan las bases de datos en memoria?

Las bases de datos in-memory almacenan grandes ca­n­ti­da­des de datos y pro­po­r­cio­nan una amplia gama de re­su­l­ta­dos de análisis. Pero ¿cómo funciona exac­ta­me­n­te el al­ma­ce­na­mie­n­to de big data y qué te­c­no­lo­gías lo hacen posible?

Así es como se almacenan tus datos

Cuando se almacena in­fo­r­ma­ción en una base de datos en memoria, hay que di­s­ti­n­guir entre al­ma­ce­na­mie­n­to de datos basado en columnas y en filas, aunque algunos sistemas utilizan ambas variantes de al­ma­ce­na­mie­n­to. Las bases de datos orie­n­ta­das a filas organizan los registros de datos re­co­pi­la­dos en una fila. Por ejemplo, en el al­ma­ce­na­mie­n­to de los valores “nombre”, “ciudad” y “país”, los datos se or­ga­ni­za­rían de la siguiente manera: nombre 1, ciudad 1, país 1, nombre 2, ciudad 2, país 2. En un tipo de al­ma­ce­na­mie­n­to basado en columnas, los datos se cla­si­fi­can en función de sus ca­te­go­rías: nombre 1, nombre 2, ciudad 1, ciudad 2, país 1, país 2.

El registro de datos en columnas recibe el nombre de Column Store Format. Al almacenar juntos los datos con valores idénticos, el sistema minimiza el volumen total de datos, por lo que el espacio de al­ma­ce­na­mie­n­to y los tiempos de tra­n­s­mi­sión se reducen. También mejora el re­n­di­mie­n­to del análisis, ya que solo es necesario analizar las columnas im­pre­s­ci­n­di­bles, en lugar de hacerlo con todas. Esta forma de eva­lua­ción de datos se denomina pro­ye­c­ción columnar.

Las si­guie­n­tes te­c­no­lo­gías te permiten almacenar big data

El concepto de bases de datos en memoria no es nada nuevo. Los fu­n­da­me­n­tos de las te­c­no­lo­gías de este tipo de bases de datos se de­sa­rro­lla­ron ya a mediados de los años 1980. Sin embargo, la in­su­fi­cie­n­cia de las in­frae­s­tru­c­tu­ras de TI impidió el éxito de su apli­ca­ción. Las modernas ar­qui­te­c­tu­ras in­fo­r­má­ti­cas como los almacenes de datos (data warehouse), la te­c­no­lo­gía de 64 bits y los pro­ce­sa­do­res multi-core fi­na­l­me­n­te pe­r­mi­tie­ron una im­ple­me­n­ta­ción del concepto. La di­s­mi­nu­ción de los precios de las memorias RAM también impulsó su pro­pa­ga­ción.

  • Las bases de datos en memoria suelen pe­r­te­ne­cer a un almacén de datos. Estos sistemas de bases de datos recopilan y comprimen datos de diversas fuentes, los guardan a largo plazo y los preparan para el análisis.
  • Con la te­c­no­lo­gía de 64 bits es posible aumentar la capacidad de la memoria principal hasta alcanzar los terabytes. Como resultado, las DB en memoria han crecido en tamaño.
  • Con los pro­ce­sa­do­res mu­l­ti­nú­cleo varios núcleos de pro­ce­sa­dor trabajan en un solo chip, lo que resulta en un mejor re­n­di­mie­n­to de pro­ce­sa­mie­n­to y una mayor capacidad para almacenar datos.

¿Qué procesos se producen cuando se utilizan bases de datos en memoria?

Durante la ejecución práctica de las bases de datos in-memory se producen procesos re­cu­rre­n­tes e idénticos. Las bases de datos en memoria realizan los si­guie­n­tes pasos para realizar una copia de seguridad de los datos:

  1. Inicio de la base de datos: cuando se inicia la base de datos, el sistema carga todos los datos del disco duro a la memoria RAM. Esto significa que no es necesario cargar ningún dato mientras la base de datos está en ejecución.
     
  2. Cotejo de los datos mo­di­fi­ca­dos: si los datos cambian, la base de datos los ajusta a in­te­r­va­los regulares.
     
  3. Copias de seguridad del registro de tra­n­sac­cio­nes: los cambios actuales se registran en los registros de tra­n­sac­cio­nes. Si se produce un error, la base de datos se puede restaurar al momento anterior de que se hubiera producido el error. Este proceso se denomina "ro­ll­fo­r­wa­rd".
     
  4. Tra­ta­mie­n­to de los datos: los datos se procesan según el principio AKID (ato­mi­ci­dad, co­n­si­s­te­n­cia, ai­s­la­mie­n­to y du­ra­bi­li­dad) al igual que con las bases de datos tra­di­cio­na­les. Este principio describe las pro­pie­da­des que han de tener los procesos en los sistemas de gestión de bases de datos.
     
  5. Re­pli­ca­ción de la base de datos: el proceso copia co­n­ti­nua­me­n­te los datos a un ordenador o servidor para realizar copias de seguridad.

Ventajas y de­s­ve­n­ta­jas de las bases de datos en memoria

Como hemos me­n­cio­na­do an­te­rio­r­me­n­te, las bases de datos en memoria alcanzan una velocidad de acceso mucho más alta al­ma­ce­na­n­do los datos en la memoria RAM. La ventaja de estas bases de datos es también la causa de su mayor de­s­ve­n­ta­ja, porque no es posible almacenar pe­r­ma­ne­n­te­me­n­te los datos en la memoria de trabajo. ¿Qué otras ventajas y de­s­ve­n­ta­jas tienen?

Ventajas de las bases de datos en memoria

La mayor ventaja de usar bases de datos en memoria son las ve­lo­ci­da­des de acceso si­g­ni­fi­ca­ti­va­me­n­te más altas que resultan del uso de RAM. Esta velocidad también se refleja en un acelerado análisis de los datos y en la precisión del cálculo del tiempo que dura una consulta. Pero no es solo el factor velocidad el que optimiza el análisis de datos. Las bases de datos en memoria permiten la eva­lua­ción de datos es­tru­c­tu­ra­dos y no es­tru­c­tu­ra­dos de cualquier sistema. Hasta ahora, las empresas y las so­lu­cio­nes de software se han en­fre­n­ta­do al reto de almacenar y procesar grandes ca­n­ti­da­des de datos no es­tru­c­tu­ra­dos, como textos, imágenes o archivos de audio y vídeo.

Mediante el uso de in­frae­s­tru­c­tu­ras di­s­tri­bui­das, los datos no es­tru­c­tu­ra­dos pueden al­ma­ce­nar­se en una base de datos in-memory en la que varias unidades de pro­ce­sa­mie­n­to (or­de­na­do­res, pro­ce­sa­do­res, etc.) trabajan en una tarea común en paralelo y la di­s­tri­bu­yen a di­fe­re­n­tes clusters de se­r­vi­do­res. El resultado es una mayor capacidad de al­ma­ce­na­mie­n­to y el aumento de la velocidad de pro­ce­sa­mie­n­to y tra­n­s­fe­re­n­cia de los datos no es­tru­c­tu­ra­dos.

De­s­ve­n­ta­jas de las bases de datos en memoria

Por un lado, el uso de la memoria principal asegura una mayor velocidad de acceso, pero también trae consigo una de­s­ve­n­ta­ja decisiva: el al­ma­ce­na­mie­n­to de datos se realiza a corto plazo. En caso de un fallo del sistema, se perderían todos los datos. Se han es­ta­ble­ci­do los si­guie­n­tes métodos para co­n­tra­rre­s­tar la posible pérdida de datos:

  • Archivos de in­s­ta­n­tá­neas: en de­te­r­mi­na­dos momentos, por ejemplo, cada ciertos in­te­r­va­los o antes de de­s­co­ne­c­tar, se almacena la versión actual de la base de datos. Sin embargo, una crítica im­po­r­ta­n­te a esta medida es que todos los archivos añadidos después de la última in­s­ta­n­tá­nea se pierden.
     
  • Copia de seguridad del registro de tra­n­sac­cio­nes: la nota de cambios en los registros de tra­n­sac­cio­nes se integra en el proceso en curso como método de copia de seguridad. En co­m­bi­na­ción con in­s­ta­n­tá­neas regulares, se puede rastrear el último estado después de un fallo.
     
  • Re­pli­ca­ción: la mayoría de bases de datos en memoria ya incluyen una función para almacenar una copia exacta de la base de datos en un disco duro co­n­ve­n­cio­nal. En caso de fallo, se puede acceder a la base de datos al­ma­ce­na­da.
     
  • Memoria RAM no volátil: una memoria RAM es capaz de hacer que los archivos estén di­s­po­ni­bles para su re­cu­pe­ra­ción incluso después de reiniciar el sistema, cuando se combina con un almacén de energía.

Otra de­s­ve­n­ta­ja causada por el uso de RAM es que el ordenador común no suele tener tanto espacio de RAM di­s­po­ni­ble. La co­mpu­tación en red puede ser una solución para co­n­tra­rre­s­tar este límite, ya que conecta muchos or­de­na­do­res di­fe­re­n­tes. Para pa­r­ti­ci­par en este enlace, se debe instalar un software especial en el ordenador: mediante la fusión de los recursos no uti­li­za­dos se crea un ordenador virtual de alto re­n­di­mie­n­to.

Las bases de datos en memoria frente a las bases de datos tra­di­cio­na­les

Una base de datos se entiende ge­ne­ra­l­me­n­te como una colección de in­fo­r­ma­ción que está di­s­po­ni­ble de forma ele­c­tró­ni­ca. Las bases de datos tra­di­cio­na­les solo almacenan datos es­tru­c­tu­ra­dos, que ocurre cuando se organizan campos de datos cla­ra­me­n­te definidos en registros de datos concretos. Los registros de datos se organizan en tablas, donde cada campo de datos re­pre­se­n­ta un atributo diferente y recibe el nombre co­rre­s­po­n­die­n­te. El cambio al big data que se inició hace algunos años llevó este modelo a sus límites, ya que muestra de­bi­li­da­des en el al­ma­ce­na­mie­n­to y en el pro­ce­sa­mie­n­to de grandes ca­n­ti­da­des de datos. Otro problema es la falta de ada­p­ta­bi­li­dad, ya que los datos no es­tru­c­tu­ra­dos, como las imágenes y los do­cu­me­n­tos en lenguaje natural, no se pueden almacenar ni evaluar tan fá­ci­l­me­n­te.

  Bases de datos in-memory Bases de datos tra­di­cio­na­les
Datos Es­tru­c­tu­ra­dos y no es­tru­c­tu­ra­dos Es­tru­c­tu­ra­dos
Velocidad de acceso En tiempo real Lentas
Seguridad de los datos Inseguras Seguras

¿Cuándo una base de datos en memoria puede ser útil para ti?

Una vez ex­pli­ca­das las ventajas y de­s­ve­n­ta­jas de las bases de datos en memoria y la co­m­pa­ra­ción directa con las bases de datos tra­di­cio­na­les, debes co­n­si­de­rar qué sistema de gestión de bases de datos (SGBD) es el adecuado para ti o tu empresa. Si trabajas con big data, la decisión está muy clara: para el al­ma­ce­na­mie­n­to y el análisis de grandes ca­n­ti­da­des de datos solo se puede utilizar una base de datos in-memory. Sin embargo, este tipo de base de datos también puede ser la mejor opción en otros casos.

Una base de datos en memoria es el DBMS correcto para tus datos cuando:

  • tienes una gran cantidad de datos
  • necesitas acceso rápido y frecuente a sus datos
  • tus sistemas de gestión de bases de datos o se­r­vi­do­res exi­s­te­n­tes están so­bre­ca­r­ga­dos
  • la pe­r­si­s­te­n­cia de tus datos no tiene la máxima prioridad
  • puedes aceptar una posible pérdida de sus datos

Ejemplos de bases de datos en memoria

Entre las bases de datos in-memory más conocidas se en­cue­n­tran SAP HANA y Oracle TimesTen. Si buscas software em­pre­sa­rial con una amplia gama de funciones, las so­lu­cio­nes de SAP y Oracle son las más comunes. Ambos sistemas de gestión de bases de datos alcanzan el mayor re­n­di­mie­n­to posible. ¿Qué los distingue y cuál es su apli­ca­ción práctica en una empresa?

SAP HANA (Di­s­po­si­ti­vo analítico de alto re­n­di­mie­n­to)

La base de datos en memoria SAP HANA (High Pe­r­fo­r­ma­n­ce Analytic Appliance) es una co­m­bi­na­ción de hardware y software. El software fue de­sa­rro­lla­do es­pe­cia­l­me­n­te por SAP, mientras que el hardware (servidor físico) proviene de diez fa­bri­ca­n­tes di­fe­re­n­tes. A di­fe­re­n­cia de otras bases de datos en memoria, SAP HANA no almacena los datos te­m­po­ra­l­me­n­te, sino en la memoria de trabajo de forma pe­r­ma­ne­n­te y graba los datos uti­li­za­n­do logs de tra­n­sac­cio­nes.

El pro­ce­sa­mie­n­to de tra­n­sac­cio­nes y análisis en una base de datos en común permite procesar in­fo­r­ma­ción en tiempo real. SAP HANA se puede im­ple­me­n­tar tanto en el servidor de la empresa como en la nube, lo que reduce los desafíos para las es­tru­c­tu­ras de TI de la empresa. Además, se minimizan los costes de los métodos an­te­rio­res de gestión de datos y los re­s­po­n­sa­bles de la toma de de­ci­sio­nes reciben pre­vi­sio­nes nuevas y precisas.

Oracle TimesTen

La base de datos de Oracle tiene mucho en común con la de SAP. El pro­ce­sa­mie­n­to de datos también se realiza en tiempo real y la apli­ca­ción se puede realizar a través de un servidor o como un servicio en la nube. A di­fe­re­n­cia de la base de datos de SAP, el software y el hardware de Oracle TimesTen proceden del propio Oracle.

Por co­n­si­guie­n­te, se trata de un puro di­s­po­si­ti­vo Oracle. La ventaja re­su­l­ta­n­te para el usuario es que en caso de error se puede actuar in­te­r­na­me­n­te y no se depende de varias empresas de hardware y software. Oracle no almacena los datos re­co­pi­la­dos ex­clu­si­va­me­n­te en la memoria: los datos que dependen menos del alto re­n­di­mie­n­to se pueden almacenar en el disco duro o en un disco flash.

Co­m­pa­ra­ción de bases de datos en memoria: SAP HANA y Oracle TimesTen

Las funciones de SAP HANA y Oracle TimesTen son en gran medida idénticas, lo que in­cre­me­n­ta las ventajas para las empresas que se decanten por cua­l­quie­ra de estas so­lu­cio­nes:

  • Pro­ce­sa­mie­n­to acelerado de datos
  • Re­orie­n­ta­ción de la empresa a través de apli­ca­cio­nes in­no­va­do­ras
  • Mayor agilidad en términos de fle­xi­bi­li­dad, actividad y ada­p­ta­bi­li­dad

La siguiente tabla resume las di­fe­re­n­cias y si­mi­li­tu­des entre estas dos bases de datos en memoria:

  Oracle TimesTen SAP HANA
Co­n­se­r­va­ción de datos Al­ma­ce­na­mie­n­to de datos en la memoria de trabajo, disco duro y disco flash Al­ma­ce­na­mie­n­to pe­r­ma­ne­n­te de datos en la memoria RAM
Software y hardware Software y hardware de Oracle Software de SAP, hardware de varios fa­bri­ca­n­tes
Co­n­fi­gu­ra­ción Hardware y servicio cloud Hardware y servicio cloud
Banco de datos Base de datos orientada a columnas Base de datos orientada a columnas
Gestión de la in­fo­r­ma­ción em­pre­sa­rial (EIM) Op­ti­mi­za­ción de los procesos de negocio a través de varias funciones de gestión de datos Op­ti­mi­za­ción de los procesos de negocio a través de varias funciones de gestión de datos
Capacidad de datos Diseñado para grandes ca­n­ti­da­des de datos Diseñado para grandes ca­n­ti­da­des de datos
Tra­ta­mie­n­to de datos En tiempo real En tiempo real
Análisis de datos Di­re­c­ta­me­n­te en la base de datos Di­re­c­ta­me­n­te en la base de datos

Desafíos para las bases de datos en memoria

A medida que avance la di­gi­ta­li­za­ción, las ya enormes montañas de datos seguirán creciendo. Por lo tanto, los de­sa­rro­lla­do­res de bases de datos en memoria se enfrentan al constante de­sa­rro­llo de los sistemas an­te­rio­res. Deben abordarse las si­guie­n­tes tareas:

  • Recopilar datos de un número creciente de fuentes.
  • Si­m­pli­fi­car aún más las es­tru­c­tu­ras de TI y reducir al mismo tiempo los tiempos de respuesta y las ve­lo­ci­da­des de análisis.
  • Obtener más in­fo­r­ma­ción sobre el análisis de datos y apoyar a las empresas en la toma de de­ci­sio­nes.
  • De­sa­rro­llar apli­ca­cio­nes que respondan aún mejor a los desafíos del cambio digital.
Co­n­clu­sión

Las bases de datos en memoria se han es­ta­ble­ci­do con éxito como una te­c­no­lo­gía capaz de almacenar y procesar datos en memorias digitales. Permiten a las empresas que tienen que manejar grandes ca­n­ti­da­des de datos ana­li­zar­los lo más rápido posible y acceder a ellos en cualquier momento. Sin embargo, el uso efectivo de las bases de datos en memoria solo es posible si la ubicación del al­ma­ce­na­mie­n­to de datos no es ex­clu­si­va­me­n­te una base de datos in-memory y los sistemas es­ta­n­da­ri­za­dos para el respaldo de datos están in­te­gra­dos en los procesos.

Ir al menú principal