Está en la página 1de 8

BIG DATA Y BUSINESS INTELLIGENCE

2. SISTEMAS DE ALMACENAMIENTO DE DATOS

El Big Data se resuelve con el almacenamiento masivo y el procesado distribuido, y así


logramos saber cuánto crecimiento podemos obtener.

Esto tiene un problema, que se explica mediante el teorema de CAP (teorema de


Brewer) y, es que es imposible que un sistema distribuido pueda ofrecer de forma
simultanea las tres propiedades que siguen:

 Consistencia: todos los nodos con la misma información al mismo tiempo.


 Availability (disponibilidad): una garantía de que cada request recibirá una
respuesta de si se ha realizado bien o no.
 Partición o tolerancia del error: el sistema continúa operando aunque no haya
una caída en el sistema o pérdida de mensaje.

Al ser difícil que se puedan cumplir estas tres propiedades, aparecen las nuevas bases
de datos (BBDD) que resuelven mejor unos aspectos u otros.

2.1 LAS NUEVAS BBDD

El mundo de las bases de datos era el mundo de entornos SQL (lenguaje de consulta
estructurado) hasta que apareció el Big Data.

Aquí se utilizaban:

- Datos estructurados en tablas utilizando columnas para cada atributo.


- Relaciones con otras tablas utilizando claves de referencia.
- Esquema y normalización.
- Querys en lenguaje SQL.

Estas bases se rigen por las normas llamadas ACID (Atomicity, Consistency, Isolation y
Durability). Este tipo de bases de datos no son la solución en Big Data, y es que a partir
de aquí, aparecieron las BBDD NoSQL (Bases de datos no relacionales), que permiten
solucionar los problemas de escalabilidad y rendimiento.

Y
Página 56
BIG DATA Y BUSINESS INTELLIGENCE

Existen varios tipos de BBDD no relacionales, que veremos a continuación, pero todas
tienen en común las siguientes características:

- Escalabilidad horizontal: para un mejor rendimiento se pueden añadir más


nodos e indicar aquellos que están activos.
- Se ejecutan en máquinas de pocos recursos: al no requerir mucha
computación el coste puede ser inferior.
- Pueden tratar gran cantidad de datos: utiliza una estructura distribuida.
- Consistencia eventual: los sistemas no relacionales utilizan BASE (Basically
Available, Soft state, and Eventual Consistency).

2.2 TIPOS DE BASES DE DATOS NoSQL


2.2.1 Bases de datos clave-valor

Es el modelo de bases de datos NoSQL más popular y el de funcionalidad más sencilla


puesto que cada elemento está identificado por una clave única. {clave:valor}

Esto facilita la recuperación de información. Esta está generalmente almacenada como


un objeto binario. Es muy eficaz tanto en la lectura como en la escritura.

*Representación gráfica de un ejemplo de base de datos clave-valor. Fuente:


https://commons.wikimedia.org/wiki/File:Hash_table_simple_999.svg

Y
Página 57
BIG DATA Y BUSINESS INTELLIGENCE

Ejemplos de bases de datos Clave-Valor:

- Redis: software libre.


- Riak: base de datos clave-valor, es para el almacenamiento de documentos y
está preparada para la realización de búsquedas.
- Oracle NoSQL.
- Microsoft Azure Table Storage.

2.2.2 Bases de datos documentales

Aquí la información se almacena como un documento, normalmente, utilizando una


estructura simple como JSON o XML, habiendo una única clave por registro.

[ { name : “Marc” , surname : “Pous”}, { name : “Marc” , surname : “Planagumà”} ] }

Se pueden realizar consultas clave-valor o más avanzadas sobre el contenido del


documento. Estas son las bases de datos NoSQL más versátiles.

*Representación gráfica de un ejemplo de base de datos documental. Fuente:


https://www.emaze.com/@AICQLQTL/Bases-de-datos

Este tipo de bases de datos son muy útiles cuando se necesitan llevar a cabo
numerosos reports y deben ser unidos dinámicamente por elementos que cambian de
forma constante. Un buen ejemplo de dónde se utilizaría este tipo de base de datos es

Y
Página 58
BIG DATA Y BUSINESS INTELLIGENCE

en el área de salud, donde el contenido varía por el perfil del usuario (edad, residencia,
etc.).

Algunos ejemplos de bases de datos documentales:

 Mongo DB: es la más popular y puede trabajar tanto con datos estructurados
como con no estructurados. Destaca por su capacidad de escalado y
rendimiento. Suele ser la que más perfiles experimentados tiene. No soporta
atomicidad en las operaciones y garantiza integridad eventual. Los cambios se
van replicando a lo largo de todos los nodos pero, no se garantiza que todos
tengan el mismo dato a la vez.
 Couchbase Server: base de datos libre creada por el proyecto Apache. Como la
anterior, tampoco garantiza integridad de datos al 100%. Destaca su gran
consola de administración, se puede acceder a muchos datos de forma muy
sencilla.
 Mark Logic Server: esta destaca de las anteriores por permitir integridad de
datos y compatibilidad con XML, JSON y RDF. Sistemas soportados: Windows,
Solaris, Red Hat, Sse, CentOS, Amazon Linux y Mac os.
 Otras bases de datos a destacar: Elastic Search, RavenDB, Apache Jena y Pivotal
GemFire.

2.2.3 Bases de datos en grafo

En estas, la información se presenta en nodos de un grafo y sus relaciones con las


aristas del mismo. Se utiliza la teoría de grafos para recorrerla. Comentar que los
grafos son un conjunto de puntos a los que llamamos nodos o vértices. Estos grafos se
unen por unas líneas llamadas aristas. Los grafos y su estudio nos ofrecen conocer qué
interrelación existe entre partes que interactúan entre sí. Aquí se puede usar la teoría
de grafos para representar una red de ordenadores, dónde las vértices o nodos
representan terminales y las aristas representan conexiones, que pueden ser
conexiones inalámbricas o cables.

Y
Página 59
BIG DATA Y BUSINESS INTELLIGENCE

Si se quiere sacar rendimiento debe estar totalmente normalizada, de forma que cada
tabla tenga una columna y cada relación dos. Se recomiendan este tipo de bases de
datos si los datos están muy relacionados como en redes sociales, recomendaciones en
tiempo real, etc.

Las bases de datos de grafo son una buena opción cuando hay la necesidad de hallar
relaciones explícitas entre entidades del modelo y de recorrer rápidamente camino
entre las entidades. Algunos casos prácticos son las infraestructuras en redes, acceso
de usuarios y recomendaciones de productos o servicios.

*Representación gráfica de un ejemplo de base de datos en grafo. Fuente:


https://es.wikipedia.org/wiki/Base_de_datos_orientada_a_grafos

Algunos ejemplos de datos en grafo son: Neo4j, InfoGrid o Virtuoso.

Y
Página 60
BIG DATA Y BUSINESS INTELLIGENCE

2.2.4 Bases de datos orientadas a objetos

La información se presenta como objetos, del mismo modo que la programación


orientada a objetos (POO), en la que no se utilizan algoritmos, sino que se usan objetos
para diseñar las aplicaciones. Dichos objetos son instancias de alguna clase y, estas
clases se relacionan con otras.

Algunos ejemplos de esta tipología de datos son: Zope, Gemstone o Db4o.

2.2.5 Bases de datos orientadas a columnas

Se pueden mapear claves a valores y agruparlas en estructuras. Las bases de datos


relacionales se basan en estructuras en forma de filas, ya que los datos de cada fila se
guardan de forma conjunta. En una base de datos en columna, los datos se guardan a
lo largo de las diferentes filas, este es el elemento diferencial de la bases de datos en
columna.

Este tipo de base de datos se utiliza en entornos de poca escritura y en los que hay una
necesidad de acceder a varias columnas de muchas filas. Son útiles en el
procesamiento y análisis de eventos, gestión de contenidos o análisis de datos. Se
basan en el sistema Big Table de Google de 2004.

Y
Página 61
BIG DATA Y BUSINESS INTELLIGENCE

i1 i2 i3 i4

Ts Ts Ts ts

1 0 0 0

0 1 0 0

1 1 1 0

0 0 1 1

1 1 0 1

1 1 0

0 1

Estas bases de datos funcionan bien en aplicaciones que requieren que estén
distribuidas geográficamente en varios centros de datos, aplicaciones que puedan
tolerar inconsistencia a corto plazo en réplicas, aplicaciones con campos dinámicos o
aplicaciones con grandes volúmenes de datos como cientos de Terabytes.

Ejemplos de bases de datos orientadas a columnas:

 Apache Cassandra: base de datos creada por Facebook que ahora es de libre
distribución. Es recomendada para gestionar cantidades masivas de datos. La
versión Enterprise de Cassandra es Datastax Enterprise. Datos soportados:
ASCII, bigint, BLOB, Boolean, counter, decimal, double, flota, int, text,
timestamp, UUID, VARCHAR and varint.
 Apache Hbase: soporta grandes cantidades de accesos a lectura y escritura en
tiempo real a grandes cantidades de datos. Corre sobre el sistema de ficheros
Hadoop.

Y
Página 62
BIG DATA Y BUSINESS INTELLIGENCE

2.2.6 Modelo híbrido

Soluciones híbridas que dan cabida a modelos NoSQL junto con modelos relacionales.
Por ejemplo, CortexDB, Foundation DB y Orient DB ofrecen varios modelos NoSQL.

IBM ha extendido su base de datos DB2 para ofrecer la posibilidad de utilizar bases de
datos NoSQL con BLU Acceleration. IBM DB2 en su versión extendida permite
almacenar datos en XML, JSON y almacenamiento en modo grafo.

2.2.7 Comparación principales BBDD NoSQL

En la siguiente tabla se puede observar una pequeña comparación de las principales


bases de datos NoSQL.

Tipo Rendimiento Escalabilidad Flexibilidad Complejidad

BBDD Clave Alto Alta Alta Baja

BBDD Alto Alta Moderada Baja


Columna

BBDD Alto Variable Alta Baja


Documental

BBDD en grafo Variable Variable Alta Alta

Y
Página 63

También podría gustarte