Un resumen de las palabras clave sobre big data
Se puede decir que big data es una de las tendencias más candentes en la industria de TI en la actualidad, que ha generado un conjunto completo de nuevas tecnologías para procesar big data. La nueva tecnología trae consigo nuevas palabras de moda: acrónimos, jerga, nombres de productos y más. Incluso el término "grandes datos" en sí mismo resulta confuso. Cuando muchas personas escuchan "big data", piensan que significa "una gran cantidad de datos", pero big data significa más que solo un volumen de datos.
A continuación se muestran algunas palabras de moda que creemos que debería conocer, enumeradas en orden alfabético.
ACID
ACID es la abreviatura de atomicidad, consistencia, aislamiento y durabilidad. En realidad, es un conjunto de requisitos o propiedades: si se siguen estos cuatro puntos, entonces la integridad de los datos. Las transacciones de la base de datos se pueden garantizar durante el procesamiento. Si bien ACID existe desde hace algún tiempo, a medida que el volumen de datos transaccionales ha crecido dramáticamente, se ha prestado mayor atención a la necesidad de cumplir con las regulaciones de ACID cuando se trata de big data.
Tres elementos de Big Data
Los sistemas de TI actuales están generando "grandes" datos, incluido el volumen de datos, la velocidad de los datos y la variedad de los datos.
Volumen: IDC predice que el volumen total de información mundial alcanzará los 2,7 zettabytes (equivalente a 2.700 millones de terabytes) este año, duplicándose cada dos años.
Velocidad: No es sólo el volumen de datos lo que está causando dolores de cabeza a los administradores de TI, sino también el creciente volumen de datos provenientes de sistemas financieros, sistemas minoristas, sitios web, sensores, chips de identificación por radiofrecuencia (RFID), y redes sociales como Facebook y Twitter. Obtenga velocidades de transferencia cada vez más rápidas.
Mucha variedad: si nos remontamos a hace 5 o 10 años, el personal de TI se ocupaba principalmente de datos alfanuméricos que podían almacenarse fácilmente en filas y columnas ordenadas en una base de datos relacional. Pero ese ya no es el caso. Hoy en día, los datos no estructurados, como publicaciones en Twitter y Facebook, diversos documentos y contenido web, forman parte de la combinación de big data.
Bases de datos en columnas (o columnas)
Algunas bases de datos de próxima generación, como Cassandra de código abierto y la base de datos Vertica de HP, están diseñadas para almacenar datos en columnas, en lugar de en las bases de datos SQL tradicionales. Almacene datos fila por fila. Este diseño puede acelerar el acceso al disco y mejorar el rendimiento al procesar big data. Las bases de datos en columnas son especialmente populares en aplicaciones de análisis empresarial con uso intensivo de datos.
Almacén de datos
El concepto de almacén de datos existe desde hace unos 25 años y se refiere específicamente a bases de datos secundarias fuera de línea utilizadas para replicar datos de múltiples sistemas operativos de TI en aplicaciones enfocadas al negocio. análisis
Sin embargo, con el crecimiento exponencial del volumen de datos, los sistemas de almacenamiento de datos también están cambiando rápidamente. Necesitan almacenar más datos y más tipos de datos, lo que hace que la gestión del almacén de datos sea un desafío importante. Hace 10 o 20 años, los datos se podían copiar a un sistema de almacenamiento de datos semanal o mensualmente; ahora, los almacenes de datos se actualizan con mucha más frecuencia, a veces en tiempo real.
ETL
El software de extracción, transformación y carga (ETL) se utiliza para transferir datos de una base de datos (como la base de datos que respalda el sistema de procesamiento de transacciones de una aplicación bancaria) a otra base de datos (como el uso de un sistema de almacenamiento de datos para análisis de negocios). La transferencia de datos de una base de datos a otra a menudo requiere operaciones de limpieza y reformateo de datos.
Debido al fuerte aumento en el volumen de datos, la velocidad de procesamiento de datos se ha acelerado enormemente y los requisitos de rendimiento de las herramientas ETL también han aumentado considerablemente.
Flume
Flume es una tecnología que pertenece a la familia Apache Hadoop (otras tecnologías incluyen HBase, Hive, Oozie, Pig y Whirr) y es una tecnología utilizada para poblar Hadoop con datos.
La tecnología utiliza agentes de software dispersos en servidores de aplicaciones, servidores web, dispositivos móviles y otros sistemas para recopilar datos y entregarlos a los sistemas Hadoop.
Por ejemplo, una empresa podría utilizar Apache Flume ejecutándose en un servidor web para recopilar datos de publicaciones de Twitter para su análisis.
Análisis geoespacial
Una de las tendencias que impulsan la tendencia del big data es la creciente cantidad de datos geoespaciales generados y recopilados por los sistemas de TI actuales. Como dice el refrán, una imagen vale más que mil palabras de información; por lo que no sorprende que el creciente número de mapas, gráficos, fotografías y otros contenidos basados en la ubicación sean un importante impulsor de la explosión actual de Big Data.
El análisis geoespacial es una forma especial de visualización de datos (consulte la entrada "Visualización" a continuación) que superpone datos en un mapa geográfico para ayudar a los usuarios a comprender los resultados del análisis de big data con mayor claridad.
Hadoop
Hadoop es una plataforma de código abierto para desarrollar aplicaciones distribuidas con uso intensivo de datos. Está controlado por la Apache Software Foundation.
Hadoop fue inventado por el desarrollador de Yahoo Doug Cutting, quien desarrolló Hadoop basándose en el concepto MapReduce en Google Labs y le puso el nombre del elefante de juguete de su hijo.
Además, HBase es una base de datos no relacional desarrollada como parte del proyecto Hadoop. El sistema de archivos distribuido Hadoop (HDFS) es un componente clave de Hadoop.
Bases de datos en memoria
Las computadoras generalmente obtienen datos de las unidades de disco cuando procesan transacciones o ejecutan consultas. Pero cuando los sistemas de TI manejan big data, el proceso puede ser demasiado lento.
Los sistemas de bases de datos en memoria utilizan la memoria principal del ordenador para almacenar los datos utilizados con frecuencia, reduciendo así en gran medida el tiempo de procesamiento. Los productos de bases de datos en memoria incluyen SAP HANA y la base de datos en memoria Oracle Times Ten.
Java
Java es un lenguaje de programación desarrollado por Sun Microsystems (ahora parte de Oracle Corporation) y lanzado en 1995. Hadoop y muchas otras tecnologías de big data se desarrollaron utilizando Java y sigue siendo la tecnología de desarrollo dominante en el espacio de big data.
Kafka
Kafka es un sistema de mensajería distribuida de alto rendimiento desarrollado originalmente por LinkedIn para gestionar el flujo de actividad del sitio web del servicio (datos sobre el uso del sitio web) y los canales de procesamiento de datos operativos (con respecto al rendimiento). de los componentes del servidor).
Kafka es muy eficaz a la hora de procesar grandes cantidades de datos en streaming, lo cual es una cuestión clave en muchos entornos informáticos de big data. Storm, desarrollada por Twitter, es otra tecnología de procesamiento de transmisiones popular.
La Apache Software Foundation ha incluido a Kafka como un proyecto de código abierto. Así que no crea que se trata de un software defectuoso.
Latencia
La latencia es el retraso en la transmisión de datos de un punto a otro, o la cantidad de retraso en que un sistema (como una aplicación) responde a otro sistema.
Si bien la latencia no es un término nuevo, se escucha cada vez más sobre él a medida que los volúmenes de datos continúan creciendo y los sistemas de TI luchan por mantenerse al día. En resumen, la "latencia baja" es algo bueno y la "latencia alta" es algo malo.
Map/Reduce
Map/Reduce es un método para dividir un problema complejo en partes más pequeñas, distribuirlas en varias computadoras y recombinarlas en una sola respuesta.
El concepto de mapa/restauración se utiliza en el sistema de búsqueda de Google y la empresa tiene un marco llamado MapReduce.
Google publicó un documento técnico en 2004 introduciendo el uso de mapeo/simplificación. Doug O. Katin, el padre de Hadoop, también reconoció este potencial y desarrolló la primera versión de Hadoop. también es prestado.
Bases de datos NoSQL
La mayoría de las bases de datos principales, como Oracle Database y Microsoft SQL Server, se basan en bases de datos relacionales.
La mayoría de las bases de datos importantes, como Oracle Database y Microsoft SQL Server, se basan en bases de datos relacionales y utilizan lenguaje de consulta estructurado (SQL) para el desarrollo y la gestión de datos.
Sin embargo, una nueva generación de sistemas de bases de datos conocida como "NoSQL" (algunos ahora lo llaman "Not Just SQL") se basa en una arquitectura que sus defensores creen que es más adecuada para procesar big data.
Algunas bases de datos NoSQL están diseñadas para ofrecer escalabilidad y flexibilidad, mientras que otras son más eficientes en el procesamiento de documentos y otros datos no estructurados. Las bases de datos NoSQL típicas incluyen Hadoop/HBase, Cassandra, MongoDB y CouchDB, y algunos desarrolladores conocidos como Oracle también han lanzado sus propios productos NoSQL.
Oozie
Apache Oozie es un motor de flujo de trabajo de código abierto que ayuda a gestionar el procesamiento de Hadoop. Con Oozie, puede definir una secuencia de trabajos en varios idiomas, como Pig y MapReduce, y luego relacionarlos entre sí. Por ejemplo, una vez que se completa la recopilación de datos de una aplicación operativa, los programadores pueden iniciar tareas de consulta de análisis de datos.
Pig
Pig, otro proyecto de Apache Software Foundation, es una plataforma para analizar grandes conjuntos de datos. En esencia, Pig es un lenguaje de programación que se puede utilizar para desarrollar consultas informáticas paralelas que se ejecutan en Hadoop.
Análisis de datos cuantitativos
El análisis de datos cuantitativos se refiere al uso de modelos matemáticos o estadísticos complejos para explicar el comportamiento financiero y empresarial e incluso predecir el comportamiento futuro.
El análisis de datos cuantitativos se ha vuelto más complejo debido al dramático aumento en la cantidad de datos recopilados en la actualidad. Pero más datos también traerán más oportunidades para el análisis de datos, si las empresas saben cómo aprovechar cantidades masivas de datos para obtener una mejor visibilidad, conocimientos sobre sus negocios y conocimientos sobre las tendencias del mercado.
Un problema actual es que existe una grave escasez de personas con tales habilidades analíticas. Según McKinsey, una conocida consultora, solo en Estados Unidos se necesitan 1,5 millones de analistas y administradores con habilidades de análisis de big data.
Bases de datos relacionales
Los sistemas de gestión de bases de datos relacionales (RDBM) son uno de los tipos de bases de datos más utilizados en la actualidad, incluidos DB2 de IBM, SQL Server de Microsoft y Oracle Database. Desde aplicaciones bancarias hasta sistemas de punto de venta de tiendas minoristas y aplicaciones de gestión de inventario, la mayoría de los sistemas de procesamiento de transacciones empresariales se ejecutan en RDBM.
Pero algunas personas creen que es posible que las bases de datos relacionales no puedan mantenerse al día con el explosivo crecimiento actual en volumen y tipos de datos. Por ejemplo, los RDBM están diseñados para manejar datos alfanuméricos, no datos no estructurados.
Fragmentación
A medida que las bases de datos crecen, se vuelven más difíciles de manejar. La fragmentación es una técnica de partición de bases de datos que divide una base de datos en partes más pequeñas y manejables. Específicamente, la base de datos se divide horizontalmente para administrar diferentes filas en la tabla de la base de datos por separado.
El enfoque de fragmentación permite distribuir partes de una base de datos grande en varios servidores, lo que aumenta la velocidad general y el rendimiento de la base de datos.
Además, Sqoop es una herramienta de código abierto para mover datos desde fuentes de datos que no son de Hadoop, como bases de datos relacionales, a un entorno Hadoop.
Análisis de texto
Uno de los factores que contribuyen al problema del big data es la creciente cantidad de texto recopilado para análisis de sitios de redes sociales como Twitter y Facebook, fuentes de noticias externas, e incluso dentro de las empresas. Dado que el texto son datos no estructurados (a diferencia de los datos estructurados, que normalmente se almacenan en bases de datos relacionales), las principales herramientas de análisis empresarial a menudo no pueden manejar texto.
El análisis de texto utiliza una variedad de métodos (búsquedas de palabras clave, análisis estadístico, métodos de investigación lingüística, etc.) para obtener información a partir de datos basados en texto.
Datos no estructurados
No hace mucho tiempo, la mayoría de los datos estaban estructurados y esta información alfanumérica (como datos financieros de transacciones de ventas) podía almacenarse fácilmente en una base de datos de relaciones y ser analizada por la empresa. herramientas de inteligencia.
Pero una gran parte de los 2,7 zettabytes de datos almacenados hoy en día son datos no estructurados, como documentos de texto, mensajes de Twitter, fotografías publicadas en Flickr, vídeos publicados en YouTube, etc. (Curiosamente, cada minuto se suben a YouTube 35 horas de contenido de vídeo). Procesar, almacenar y analizar todos estos datos desordenados y no estructurados suele ser un desafío para los sistemas de TI actuales.
Visualización
A medida que crece la cantidad de datos, se vuelve cada vez más difícil comprenderlos utilizando tablas y gráficos estáticos. Como resultado, ha surgido una nueva generación de herramientas de análisis y visualización de datos que pueden presentar datos de nuevas maneras y ayudar a las personas a entender cantidades masivas de información.
Estas herramientas incluyen: mapas de calor codificados por colores, gráficos 3D, visualizaciones animadas que muestran cambios a lo largo del tiempo y presentaciones geoespaciales que superponen datos en un mapa geográfico. Las herramientas avanzadas de visualización de datos actuales también son más interactivas, lo que permite a los usuarios ampliar subconjuntos de datos para una inspección más detallada, por ejemplo.
Whirr
Apache Whirr es un conjunto de bibliotecas de clases Java para ejecutar servicios en la nube de big data. Más específicamente, acelera el proceso de desarrollo de clústeres de Hadoop en infraestructura virtual como Amazon Elastic Compute Cloud (EC2) y Rackspace.
XML
El lenguaje de marcado extensible (XML) se utiliza para transmitir y almacenar datos (no debe confundirse con HTML, que se utiliza para mostrar datos). Utilizando XML, los programadores pueden crear formatos de datos comunes y compartir información y formatos a través de Internet***.
Dado que los documentos XML pueden ser tan grandes y complejos, a menudo se los considera como grandes desafíos de datos para los departamentos de TI.
yottabyte
Yottabyte es una métrica de almacenamiento de datos equivalente a 1.000 zettabytes. La importante empresa de investigación IDC predice que la cantidad total de datos almacenados a nivel mundial alcanzará los 2,7 terabytes este año, un aumento del 48% con respecto a 2011. Así que todavía estamos muy lejos de la marca de los zettabytes, pero a juzgar por la tasa de crecimiento actual del big data, ese día puede llegar antes de lo que pensamos.
Por cierto, 1 ZB equivale a 1.021 bytes de datos. Equivale a 1.000 exabytes (EB), 1 millón de petabytes y 1.000 millones de terabytes.
ZooKeeper
ZooKeeper es un servicio creado por Apache Software Foundation para ayudar a los usuarios de Hadoop a administrar y coordinar nodos de Hadoop en una red distribuida.
ZooKeeper está estrechamente integrado con HBase, la base de datos asociada a Hadoop.
ZooKeeper es un servicio centralizado para mantener información de configuración, servicios de nombres, sincronización distribuida y otros servicios de clúster. Los administradores de TI lo utilizan para mecanismos de mensajería confiables, ejecución de procesos sincronizados y redundancia de ejecución.