Big Data

5 herramientas de almacenamiento de datos que se usan en Big Data

El almacenamiento de datos es, a día de hoy, una necesidad para las empresas de este siglo que quieran adaptarse a la era digital. ¡Te comentamos cinco herramientas!

Por Redacción España, el 06/09/2019

auto ¿Te ha gustado nuestro artículo? ¡Vota!

El análisis y gestión de datos se ha convertido en una verdadera necesidad para las empresas del siglo XXI que quieran adaptarse a los cambios del contexto digital. Esto es debido al gran volumen de datos que se generan diariamente. Para ayudarles con esta ardua tarea se han desarrollado arquitecturas y soluciones especializadas en almacenamiento de datos. ¡Estas son algunas de ellas!


HDFS

HDFS responde a las siglas Hadoop Distributed File System, es decir, un sistema de archivos distribuido que usa Hadoop como sistema de almacenamiento de ficheros. Está formado por clústeres GNU/Linux y construido en Java, aspecto que permite instalarlo en multitud de máquinas.

La arquitectura de HDFS se basa en dos componentes fundamentales:

  • Namenode: este nodo actúa como servidor maestro y se encarga principalmente de regular el acceso de los clientes a los ficheros, mantener en memoria la metadata del sistema de ficheros y controlar los bloques que tiene cada datanode.
  • Datanode: son los encargados de almacenar y recuperar los bloques. Estos nodos formarán un cluster cuyos objetivos serán realizar operaciones de lectura y escritura de los archivos a raíz de las peticiones de los clientes.

Los archivos se manipulan siguiendo dos líneas de comando: “Hadoop FS” y “HDFS DFS”. El primero indica un sistema de archivos genérico que puede dar soporte a HFRP, FS, S3 y otros HDFS. A diferencia, el segundo es más específico y ofrece soporte únicamente para el sistema de archivos HDFS.

Al tratarse de un sistema computacional formado en clústeres, puede darse la posibilidad de que alguno de ellos no funcione correctamente. Aquí entra su característica estrella, la replicación a los fallos. Además, ofrece acceso a datos en streaming  y portabilidad entre hardware y software entre distintas plataformas.


HIVE

Apache Hive es un framework diseñado por Facebook que se sirve de HDFS (Hadoop Distributed File System) para proporcionar agrupación, consulta y análisis de datos. Ofrece un lenguaje de consultas basado en queries SQL (Hive QL) mediante el cual se pueden enviar consultas que serán traducidas por MapReduce, Apache Tez o tareas Spark.

Trabajar con Apache Hive es muy similar a usar una base de datos tradicional. Los datos se deben estructurar y agrupar en tablas, con sus columnas y datos debidamente asociados a cada una de ellas. Posteriormente hay que procesarlos y finalmente analizarlos.

Actualmente empresas de renombre como Netflix o la Financial Industry Regulatory Authority (FINRA) utilizan Apache Hive como herramienta de almacenamiento de datos. Incluso Amazon se sirve de una variante de Hive en sus servicios de Amazon Web Services.


MongoDB

MongoDB es una base de datos orientada a documentos en código abierto. Esto quiere decir que, en lugar de almacenar los datos en registros o tablas como ocurre en las bases de datos tradicionales, lo hace mediante documentos en BSON, una representación binaria de JSON.

Es una base de datos NoSQL muy útil para trabajar con agrupaciones de datos que varían o están poco estructurados. Algunas de las empresas que se sirven de MongoDB para almacenar sus datos son Bosch y Telefónica.

MongoDB es la mezcla perfecta entre eficacia y alto rendimiento. Destaca por su velocidad a la hora de acceder a la información y su facilidad para gestionar grandes volúmenes de datos gracias a su potente computación en memoria (in-memory).

Funciona en los sistemas operativos Windows, Linux OS X y Solaris y es muy útil en situaciones que requieran escalabilidad gracias a sus opciones de replicación y sharding, fácilmente configurables, y es posible obtener un sistema que escale horizontalmente reduciendo considerablemente los errores.  


Cassandra

Cassandra es un sistema utilizado para el almacenamiento de datos, cuyo origen se sitúa en Facebook. La gigantesca red social diseñó este sistema para potenciar la funcional de búsqueda en su inbox, ante el volumen de crecimiento de las consultas. Más adelante, se convirtió en un proyecto open source liderado por la fundación Apache.

Entonces, ¿qué es Cassandra? Se trata de una base de datos distribuida, característica principal del sistema. Esto quiere decir que la información almacenada se reparte a través de todos los nodos que componen el clúster y, en el caso de que alguno se caiga, el sistema seguirá ofreciendo disponibilidad y asegurando el servicio online de la base de datos.

Además, otra de sus características estrella es su escalabilidad, la cual ejerce de forma lineal respecto al número de nodos que se incluyan. Sin embargo, también está preparada para escalar horizontalmente, añadiendo nodos basados en hardware commodity de bajo coste.

No sigue un nodo maestro, sino que se basa en arquitectura Peer to Peer (P2P), lo que significa que, en caso de que algún nodo falle, el sistema no caerá también por su propio peso sino que podría seguir funcionando mientras se trabaja en su recuperación (tolerancia a fallos).

Aparte de Facebook, considerado un caso de éxito de este sistema, Netflix, eBay y Twitter son otros ejemplos de empresas que usan Cassandra en sus modelos de negocio.


Neo4J

Neo4J es una base de datos NoSQL (Not Only SQL) de código abierto orientada a grafos y escrita en Java. A diferencia de las SQL en las que se utilizan esquemas, Neo4J se fundamenta en schema-less. Los grafos estructuran los datos en nodos y relaciones que equivaldrían a las columnas de las tablas en un modelo relacional.

Dispone de dos versiones principales: la Community Edition y la Enterprise Edition. Si lo que queremos es implementarla en clúster, monitorizar procesos, backups y un sistema de caché rentable, optaremos por la segunda.

Para la elaboración de la estructura de los grafos, así como de los nodos y las relaciones, utiliza un lenguaje declarativo conocido como Cypher. También se sirve de Gremlin, que es un lenguaje específico de dominio para la gestión de grafos.

Algunas empresas  de renombre que usan Neo4J en el desarrollo de sus operaciones son eBay, Walmart, IBM, Microsoft, etcétera.

TAGS:
Imagen del autor Redacción España

Equipo de redacción de B12 España: Marketing, Big Data, Inteligencia Artificial y Ventas.

Ponte en contacto con nosotros:

+52 (55) 4774 1185

mexico@agenciab12.com

Ejército Nacional #579 - Piso 1, Colonia Granada, Alcaldía Miguel Hidalgo, 11520, CDMX, México.