Glosario de términos Big Data

Última actualización: 16/09/2021

En esta entrada te presento un glosario de términos de Big Data en español. Se han añadido enlaces y breves explicaciones para aclarar algunos conceptos.

Cartel Big Data

Aquí vamos a recoger algunos términos muy útiles para quien esté empezando a aprender Big Data. De esta forma tendremos una entrada de recopilación para consultar fácilmente.

Términos Big Data

Conceptos

En esta sección recogeremos los conceptos relacionados con Big Data.

  • Blockchain (Cadena de Bloques): Estructura de datos para almacenar información en forma de bloques con información criptográfica relativa al bloque previo, formando una línea temporal que sólo es posible modificar editando todos los bloques anteriores.
  • CEP (Complex Event Processing): Método para analizar y procesar flujos de información y extraer conclusiones. Conceptos y técnicas para procesar eventos en tiempo real.
  • Teorema CAP: Teorema que anuncia que es imposible para un sistema distribuido garantizar simultáneamente la consistencia, la disponibilidad y la tolerancia al particionado.
  • Programación funcional: Paradigma de programación declarativa que está basado en el uso de funciones para expresar las operaciones.
  • Propiedades ACID: Características que permiten clasificar las transacciones de las bases de datos: Atomicidad, Consistencia, Aislamiento y Durabilidad.
  • REST (Transferencia de Estado Representacional): Conjunto de principios de arquitectura de software basado en HTTP para la obtención de datos o la realización de operaciones sobre servidores.
  • SQL (Lenguaje de Consulta Estructurada): Lenguaje de programación usado para administrar e interaccionar (manipular datos) con sistemas de gestión de bases de datos relacionales.

Big Data

  • Cloud computing: Paradigma que permite ofrecer servicios de computación a través de Internet.
  • Data Warehouse: Almacén de datos usado por organizaciones para realizar análisis de datos y generar informes.
  • ETL (Extracción, Transformación y Carga): Proceso que permite extraer, transformar y almacenar datos.
  • ELT (extracción, carga y transformación): Proceso que permite extraer, almacenar y transformar datos.
  • IoT (Internet de las Cosas): Hace referencia a la creciente demanda en la integración y conexión a Internet desde diversos objetos.
  • Map Reduce: Modelo de programación para dar soporte a computación paralela en sistemas distribuidos.
  • NoSQL: Son los sistemas de gestión de bases de datos que no usan SQL como lenguaje principal de consultas. Estos sistemas tampoco requieren estructuras fijas como tablas para almacenar los datos. Generalmente, tienen buena escalabilidad horizontal.
  • OLAP (Procesamiento Analítico en Línea): Solución para analizar grandes cantidades de datos de una manera rápida para Business Intelligence.
  • OLTP (Procesamiento de Transacciones en Línea): Procesamiento aplicable en aplicaciones transaccionales.

Servicios

En esta sección se recogen los servicios relacionados con Big Data.

  • AWS (Amazon Web Services): Plataforma de Amazon que ofrece servicios en la nube, competidor de Microsoft Azure.
  • Apache software Foundation: Organización con sede en EEUU dedicada a dar soporte a proyectos open source con la licencia Apache.
  • Cloudera: Empresa de software dedicada al ecosistema de Apache Hadoop. Tiene productos de distribución Big Data.
  • D2IQ (Mesosphere): Empresa de distribución y soporte sobre el software DC/OS, basado en Apache Mesos entre otros productos.
  • Datastax: Empresa de distribución y soporte sobre la base de datos NoSQL Cassandra.
  • Microsoft Azure: Plataforma de Microsoft que ofrece numerosos servicios en la nube. Generalmente se usa para desplegar aplicaciones y almacenar datos. Competidor de AWS.

Tecnologías Big Data

Esta sección recogerá las tecnologías más conocidas y usadas alrededor del Big Data.

Bases de datos

Estas son las tecnologías de bases de datos más populares en Big Data.

  • Cassandra: Cassandra es una base de datos NoSQL distribuida de tipo clave-valor con gran escalabilidad usada para almacenar grandes cantidades de datos.
  • Druid: Druid es una base de datos distribuida de código abierto orientada a columnas capaz de realizar consultas con baja latencia.
  • HBase: Hbase es una base de datos de código abierto distribuida y no relacional que ejecuta sobre HDFS. Proporciona tolerancia a fallos y capacidad para almacenar grandes cantidades de datos dispersos.
  • Hive: Tecnología distribuida diseñada y construida sobre Hadoop. Permite hacer consultas y analizar datos almacenados en HDFS con el lenguaje de consulta HQL.
  • Ignite: Base de datos open source distribuida que además puede usarse como una caché de datos y también como una plataforma de computación.
  • Kafka: Plataforma distribuida de procesamiento de flujos de datos basada en el modelo publicador suscriptor.
  • Pulsar: Sistema distribuido de mensajería de tipo Pub-Sub con alta escalabilidad y rendimiento. Incorpora replicación geográfica y multi-tenancy.
  • Base de datos Oracle: Es una base de datos propietaria. Principalmente, Oracle se conoce por su gestión de transacciones y por su modelo de datos relacional.
  • Couchbase: Es una base de datos NoSQL distribuida y orientada a documentos. Está optimizada para su uso en aplicaciones interactivas.
  • HDFS (Hadoop Distributed File System): Sistema de ficheros distribuido capaz de almacenar datos con replicación. Forma parte del framework de Hadoop.
  • MongoDB: Base de datos NoSQL orientada a documentos que usa JSON para el esquema de datos.
  • MySQL: Base de datos open source relacional con licencia GPL.
  • Snowflake: Data warehouse elástico diseñado para la nube.

Otros

Otras tecnologías muy usadas y que debemos conocer.

  • DC/OS: Sistema operativo distribuido basado en Apache Mesos.
  • Drools: Sistema de gestión de reglas de negocio (BRMS) con un motor de reglas basado en inferencia y reglas de producción.
  • Flink: Flink es un framework de código abierto para realizar procesamiento distribuido de flujos de datos.
  • Flume: Flume es un software distribuido con alta disponibilidad capaz de para recolectar, agregar y mover grandes cantidades de datos.
  • Hadoop: Software de código abierto que proporciona un framework para procesamiento y almacenamiento de datos distribuido y Big Data usando el paradigma Map Reduce.
  • Hadoop Yarn: Plataforma responsable de administrar los recursos en clústeres y planificar las aplicaciones de los usuarios.
  • Kubernetes: Software open source que permite la orquestación de contenedores para el despliegue y gestión de aplicaciones.
  • Mesos: Es un software distribuido y de código abierto. Nos permite manejar los recursos y planificar tareas en un clúster de máquinas.
  • Myriad: Software open source que permite la coexistencia de Apache Hadoop y Apache Mesos sobre la misma infraestructura. Así, Myriad puede ejecutar Apache Hadoop Yarn como un framework de Apache Mesos. De esta forma, Myriad consigue aprovechar los recursos del clúster de forma dinámica.
  • NiFi: Software open source que permite automatizar flujos de datos entre distintos sistemas.
  • Pig: Plataforma para crear aplicaciones que ejecutan en Hadoop en lenguaje Pig Latin. Puede ejecutar los trabajos Hadoop en Tez, Spark o MapReduce.
  • Spark: Framework de computación distribuido para implementar aplicaciones paralelas y tolerantes a fallos.
  • Storm: Framework de código abierto para realizar procesamiento distribuido de flujos de datos.

Desarrollo

Conceptos relacionados con el desarrollo de software que nos resultará muy útil conocer.

  • Docker: Software que proporciona virtualización al nuvel de sistema operativo en paquetes llamados contenedores.
  • Maven: Herramienta de automatización y gestión para la creación de proyectos Java basado en XML.
  • GIT: Sistema de control de versiones distribuido para el desarrollo de software.
  • Golang: Es un lenguaje de programación compilado. GoLang es muy conocido por estar desarrollado por Google.
  • JSON (JavaScript Object Notation): Formato de texto usado para el intercambio de datos. Además, también puede ser una alternativa al XML clásico.
  • JUnit: Framework para realizar tests de aplicaciones Java.
  • Java: Lenguaje de programación de propósito general compilado.
  • Python: Lenguaje de programación de propósito general interpretado.
  • Scala: Lenguaje de programación de propósito general con soporte para programación funcional y tipado estático.
  • Vagrant: Software open source que permite construir y mantener entornos de desarrollo virtuales soportando VirtualBox, KVM, Hyper-V, Docker, VMWare, etc.

Deja una respuesta