hero image data

El auge de diferentes tipos y herramientas de almacenamiento y gestión de datos

Blog |

Sistemas de Almacenamiento y Gestión de los Datos

Los que ya llevamos algunas décadas vinculados al aprovechamiento inteligente de datos masivos, recordamos que hace no tantos años cuando nos referíamos a un ‘especialista en bases de datos’ pensábamos en alguien con conocimiento en bases de datos SQL, Microsoft (Access, Foxpro, Excel…), ORACLE, Dbase (Clipper…) y quizá alguna otra herramienta específica y los correspondientes SGBD (Sistemas Gestores de Bases de Datos) era alguien que dominaba la tecnología relativa al almacenamiento de datos en sistemas computacionales.  

blog data almacenamiento

 

Esto ha cambiado mucho, sobre todo de una forma acelerada en los últimos años. Cuando se comenzó a hablar del ‘Big Data’ era frecuente que se hablase de datos  SQL y NO SQL, desde mi punto de vista de una forma muy imprecisa y desenfocada, describiendo los primeros como aquellos cuyo volumen no crece o lo hace poco a poco. Las necesidades de proceso se pueden asumir en un único servidor y no hay picos de uso el sistema por parte de los usuarios más allá de los previstos, y los NO SQL como aquellos en los que el volumen crece muy rápidamente en momentos puntuales, las necesidades de proceso no se pueden prever y hay picos de uso del sistema por parte de los usuarios en múltiples ocasiones. 

Se comenzaron a especializar los sistemas de almacenamiento y gestión de los datos, que desde una visión simplificada podríamos dividir en estos cuatro grupos: 

  1. Bases de datos documentales, como Couchbase, MarkLogic o mongoDB pensadas para trabajar con documentos de diferentes formatos y tamaños. 
  2. Bases de datos gráficas, como Neo4j o InfiniteGraph orientadas a manejar datos de temas con características que puedan ser asimiladas a estructuras de grafos, como sistemas planetarios o galaxias, estructuras químicas o internet y los medios sociales, que en el fondo no deja de ser un gran conjunto de nodos interconectados. 
  3. Bases de datos de columna ancha, como redis, amazonDynamoDB o riak, que gestionan bases de datos NoSQL y organizan el almacenamiento de datos en columnas flexibles que pueden repartirse entre varios servidores o nodos, utilizando un mapeo multidimensional para referenciar los datos por columna, fila o marca de tiempo, es decir, los nombres y el formato de las columnas pueden variar de una fila a otra en la misma tabla. 
  4. Bases de datos Key-value, como accumulo, Hipertable, Cassandra, amazonSimpleDB o la más conocida ApacheHBASE, que son bases de datos sencillas que utilizan una matriz asociativa (piense en un mapa o un diccionario) como modelo de datos fundamental, en el que cada clave se asocia a uno y sólo un valor en una colección. Esta relación se denomina par clave-valor. Siguen la filosofía del famoso paradigma Map-reduce, que puede ser considerado uno de los pilares de Big data desde sus inicios en Google a principios de este siglo. 

Conclusiones

Cada vez más, la tendencia es almacenar y procesar datos en la ‘nube’, con herramientas como amazonWebServices, Windows Azure o Cloudera para Hadoop y en particular destacaría Google Colab, que permite a cualquier usuario escribir y ejecutar un programa Python en el navegador y es especialmente adecuado para tareas de aprendizaje automático (descubrimiento de comportamientos regulares -patrone- en datos), análisis de datos y educación. 

Todo esto nos lleva, entre otras cosas, al concepto de ‘data lake’ o lago de datos, que trataremos posteriormente con más detalle.  

Como vemos, el perfil de un especialista en bases de datos ha cambiado radicalmente en los últimos años y cada vez es más inabarcable en su totalidad.