Big Data

5 plataformas de Big Data de código abierto

5 plataformas de Big Data de código abierto
Este artículo le dará una idea de cinco herramientas populares de código abierto que se pueden utilizar para crear una plataforma de análisis de datos.

Big data son datos del orden de terabytes o petabytes y más, que consisten en minería, análisis y modelado predictivo de grandes conjuntos de datos. El rápido crecimiento de la información y los desarrollos tecnológicos ha brindado una oportunidad única para que las personas y empresas de todo el mundo obtengan ganancias y desarrollen nuevas capacidades redefiniendo los modelos comerciales tradicionales utilizando análisis a gran escala.

Este artículo ofrece una vista panorámica de cinco de las plataformas de datos de código abierto más populares. Aquí está nuestra lista:

Apache Hadoop

Apache Hadoop es una plataforma de software de código abierto que procesa conjuntos de datos muy grandes en un entorno distribuido con respecto al almacenamiento y la potencia computacional, y se basa principalmente en hardware básico de bajo costo.

Apache Hadoop está diseñado para escalar fácilmente de unos pocos a miles de servidores. Le ayuda a procesar los datos almacenados localmente en una configuración general de procesamiento paralelo. Uno de los beneficios de Hadoop es que maneja fallas a nivel de software. La siguiente figura ilustra la arquitectura general del ecosistema Hadoop y dónde se encuentran los diferentes marcos dentro de él:

Apache Hadoop proporciona un marco para la capa del sistema de archivos, la capa de administración del clúster y la capa de procesamiento. Deja una opción para que otros proyectos y marcos vengan y trabajen junto con el ecosistema Hadoop y desarrollen su propio marco para cualquiera de las capas disponibles en el sistema.

Apache Hadoop se compone de cuatro módulos principales. Estos módulos son Hadoop Distributed File System (la capa del sistema de archivos), Hadoop MapReduce (que funciona tanto con la administración de clústeres como con la capa de procesamiento), Yet Another Resource Negotiator (YARN, la capa de administración de clústeres) y Hadoop Common.

Elasticsearch

Elasticsearch es un motor de análisis y búsqueda basado en texto completo. Es un sistema altamente escalable y distribuido, específicamente diseñado para trabajar de manera eficiente y rápida con sistemas de big data, donde uno de sus principales casos de uso es el análisis de registros. Es capaz de realizar búsquedas avanzadas y complejas, y procesamiento casi en tiempo real para análisis avanzados e inteligencia operativa.

Elasticsearch está escrito en Java y se basa en Apache Lucene. Lanzado en 2010 y rápidamente ganó popularidad debido a su estructura de datos flexible, arquitectura escalable y tiempo de respuesta muy rápido. Elasticsearch se basa en un documento JSON con una estructura sin esquema, lo que hace que la adopción sea fácil y sin complicaciones. Es uno de los principales motores de búsqueda de nivel empresarial. Puede escribir su cliente en cualquier lenguaje de programación; Elasticsearch funciona oficialmente con Java, .NET, PHP, Python, Perl, etc.

Elasticsearch interactúa principalmente mediante una API REST. Obtiene datos en forma de documentos JSON con todos los parámetros requeridos y proporciona su respuesta de manera similar.

MongoDB

MongoDB es una base de datos NoSQL basada en el modelo de datos del almacén de documentos. En MongoDB todo es colección o documento. Para comprender la terminología de MongoDB, colección es una palabra alternativa para tabla, mientras que documento es una palabra alternativa para filas.

MongoDB es una base de datos multiplataforma, de código abierto y orientada a documentos. Está escrito principalmente en C++. También es la base de datos NoSQL líder que proporciona alto rendimiento, alta disponibilidad y fácil escalabilidad. MongoDB utiliza documentos similares a JSON con esquema y proporciona una amplia compatibilidad con consultas. Algunas de sus características principales incluyen indexación, replicación, equilibrio de carga, agregación y almacenamiento de archivos.

Casandra

Cassandra es un proyecto Apache de código abierto diseñado para la gestión de bases de datos NoSQL. Las filas de Cassandra se organizan en tablas y se indexan mediante una clave. Utiliza un motor de almacenamiento basado en registros de solo anexos. Los datos en Cassandra se distribuyen a través de múltiples nodos sin maestro, sin un solo punto de falla. Es un proyecto Apache de primer nivel y su desarrollo está supervisado actualmente por Apache Software Foundation (ASF).

Cassandra está diseñado para resolver problemas asociados con la operación a gran escala (web). Dada la arquitectura sin maestro de Cassandra, puede continuar realizando operaciones a pesar de una pequeña (aunque significativa) cantidad de fallas de hardware. Cassandra se ejecuta en varios nodos en varios centros de datos. Replica datos en estos centros de datos para evitar fallas o tiempos de inactividad. Esto lo convierte en un sistema altamente tolerante a fallas.

Cassandra usa su propio lenguaje de programación para acceder a los datos a través de sus nodos. Se llama Cassandra Query Language o CQL. Es similar a SQL, que se utiliza principalmente en bases de datos relacionales. CQL se puede utilizar ejecutando su propia aplicación llamada cqlsh. Cassandra también proporciona muchas interfaces de integración para múltiples lenguajes de programación para construir una aplicación usando Cassandra. Su API de integración es compatible con Java, C ++, Python y otros.

Apache HBase

HBase es otro proyecto de Apache diseñado para administrar el almacén de datos NoSQL. Está diseñado para hacer uso de las características del ecosistema de Hadoop, incluida la confiabilidad, la tolerancia a fallas, etc. Utiliza HDFS como sistema de archivos para fines de almacenamiento. Hay varios modelos de datos con los que trabaja NoSQL y Apache HBase pertenece al modelo de datos orientado a columnas. HBase se basó originalmente en Google Big Table, que también está relacionado con el modelo orientado a columnas para datos no estructurados.

HBase almacena todo en forma de par clave-valor. Lo importante a tener en cuenta es que en HBase, una clave y un valor están en forma de bytes. Entonces, para almacenar cualquier información en HBase, debe convertir la información en bytes. (En otras palabras, su API no acepta nada más que una matriz de bytes.) Tenga cuidado con HBase, ya que cuando almacena datos, debe recordar su tipo original. Los datos que originalmente eran una cadena regresarán como una matriz de bytes si se recuperan incorrectamente. Como resultado, creará un error en su aplicación y la bloqueará.

Espero que hayas disfrutado de este artículo. Si está buscando diseñar y diseñar aplicaciones con uso intensivo de datos, entonces puede explorar las aplicaciones de Anuj Kumar Arquitectura de aplicaciones intensivas en datos. Esto libro es su puerta de entrada para construir sistemas inteligentes con uso intensivo de datos mediante la incorporación de los principios, patrones y técnicas de la arquitectura central con uso intensivo de datos directamente en la arquitectura de su aplicación.

Tutorial de OpenTTD
OpenTTD es uno de los juegos de simulación empresarial más populares que existen. En este juego, necesitas crear un maravilloso negocio de transporte....
SuperTuxKart para Linux
SuperTuxKart es un gran título diseñado para ofrecerte la experiencia Mario Kart de forma gratuita en tu sistema Linux. Es bastante desafiante y diver...
Tutorial de Battle for Wesnoth
The Battle for Wesnoth es uno de los juegos de estrategia de código abierto más populares que puedes jugar en este momento. Este juego no solo ha esta...