La Apache Software Foundation desarrolla y mantiene fuente abierta proyectos de software que impactan significativamente varios dominios de la informática, desde servidores web y bases de datos hasta grandes datos y aprendizaje automático. Como el volumen y la velocidad de datos de series de tiempo continúa creciendo, gracias a los dispositivos IoT, la inteligencia artificial, los sistemas financieros y las herramientas de monitoreo, cada vez más empresas confiarán en el ecosistema Apache para administrar y analizar este tipo de datos.
Este artículo proporciona un breve recorrido por el ecosistema Apache para el procesamiento y análisis de datos de series temporales. Se centrará en la pila FDAP:Vuelo, La fusión de datos, Flechay Parquet—ya que estos proyectos afectan particularmente al transporte, almacenamiento y procesamiento de grandes volúmenes de datos.
Cómo la pila FDAP mejora el procesamiento de datos
La pila FDAP ofrece capacidades mejoradas de procesamiento de datos para grandes volúmenes de datos. Apache Arrow actúa como una plataforma de desarrollo en varios idiomas para datos en memoria, lo que facilita el intercambio y procesamiento eficiente de datos. Su formato de memoria en columnas está optimizado para CPU y GPU modernas, lo que permite el acceso y la manipulación de datos a alta velocidad, lo que resulta beneficioso para procesar datos de series temporales.
Apache Parquet, por otro lado, es un formato de archivo de almacenamiento en columnas que ofrece esquemas de codificación y compresión de datos eficientes. Su diseño está optimizado para estructuras de datos anidadas complejas y es ideal para el procesamiento por lotes de datos de series temporales, donde la eficiencia del almacenamiento y la rentabilidad son fundamentales.
DataFusion aprovecha Apache Arrow y Apache Parquet para el procesamiento de datos, proporcionando un potente motor de consultas que puede ejecutar tareas complejas. SQL consultas sobre datos almacenados en memoria (Arrow) o en archivos Parquet. Esta integración permite un análisis fluido y eficiente de datos de series temporales, combinando las capacidades en tiempo real de InflujoDB con las fortalezas del procesamiento por lotes de Parquet y las capacidades de procesamiento de datos de alta velocidad de Arrow.
Las ventajas específicas de utilizar el almacenamiento en columnas para datos de series temporales incluyen:
- Almacenamiento y compresión eficientes: los datos de series temporales generalmente consisten en secuencias de valores registrados a lo largo del tiempo, que a menudo rastrean múltiples métricas simultáneamente. En el almacenamiento en columnas, los datos se almacenan por columna en lugar de por fila. Esto significa que todos los valores de una única métrica se almacenan de forma contigua, lo que conduce a una mejor compresión de datos porque los valores consecutivos de una métrica suelen ser similares o cambian gradualmente con el tiempo, lo que los hace altamente comprimibles. Los formatos en columnas como Parquet optimizan la eficiencia del almacenamiento y reducen los costos de almacenamiento, lo que resulta particularmente beneficioso para grandes volúmenes de datos de series temporales.
- Rendimiento de consultas mejorado: las consultas sobre datos de series temporales a menudo implican operaciones de agregación (como SUM, AVG) durante períodos o métricas específicas. El almacenamiento en columnas permite leer solo las columnas necesarias para responder una consulta, omitiendo datos irrelevantes. Esta carga selectiva reduce significativamente la E/S y acelera la ejecución de consultas, lo que hace que las bases de datos en columnas sean altamente eficientes para las operaciones de lectura intensiva típicas del análisis de series temporales.
- Mejor utilización de la caché: el almacenamiento contiguo de datos en columnas mejora la utilización de la caché de la CPU durante el procesamiento de datos. Debido a que la mayoría de las consultas analíticas sobre datos de series temporales procesan muchos valores de la misma métrica simultáneamente, cargar datos de columnas contiguas en la caché de la CPU puede minimizar los errores de caché y mejorar los tiempos de ejecución de las consultas. Esto es particularmente beneficioso para el análisis de series temporales, donde las operaciones con grandes conjuntos de datos son comunes.
Un ecosistema de datos perfectamente integrado
Aprovechar la pila FDAP junto con InfluxDB facilita una integración perfecta con otras herramientas y sistemas en el ecosistema de datos. Por ejemplo, el uso de Apache Arrow como puente permite un fácil intercambio de datos con otros análisis y aprendizaje automático marcos, mejorando las capacidades analíticas disponibles para datos de series temporales. Esta interoperabilidad ayuda a crear canales de datos flexibles y potentes que pueden adaptarse a las necesidades cambiantes de procesamiento de datos.
Por ejemplo, muchos sistemas de bases de datos y herramientas de datos han comenzado a admitir Apache Arrow para aprovechar sus beneficios de rendimiento y convertirse en parte de la comunidad. Algunas bases de datos y herramientas notables en este campo incluyen:
- Dracma: Dremio es un motor de lago de datos de próxima generación que se integra directamente con Arrow y ha sido uno de los primeros en adoptar Arrow Flight SQL. Utiliza Arrow Flight para mejorar el rendimiento de sus consultas y las velocidades de transferencia de datos.
- Taladro Apache: Apache Drill es un motor de consultas SQL sin esquemas y de código abierto para la exploración de big data. Apache Drill utiliza Apache Arrow para realizar consultas en memoria.
- Google BigQuery: Google BigQuery aprovecha Apache Arrow para obtener importantes mejoras de rendimiento al transportar datos en el back-end. Arrow también permite transferencias de datos más eficientes entre BigQuery y los clientes que admiten Arrow.
- Copo de nieve: Snowflake adoptó Apache Arrow y Arrow Flight SQL para evitar la sobrecarga de serialización y aumentar la interoperabilidad dentro del ecosistema Arrow.
- InflujoDB: InfluxDB utiliza la pila FDAP para habilitar una arquitectura de datos abierta, mayor rendimiento y mejor interoperabilidad con otras bases de datos y herramientas de análisis de datos.
- pandas: De manera similar, la integración de Apache Arrow con Pandas ha llevado a marcadas mejoras de rendimiento en las operaciones de datos para los científicos de datos que utilizan Pitón.
- Polares: Polars es una interfaz DataFrame encima de un OLAP motor de consultas implementado en Óxido que también utiliza el formato de columnas Apache Arrow, lo que permite una fácil integración con herramientas existentes en el panorama de datos.
Todas las bases de datos que aprovechan Arrow Flight permiten a los programadores utilizar el mismo texto estándar para consultar múltiples fuentes. Combine esto con el poder de Pandas y Polars y los desarrolladores podrán unificar fácilmente datos de múltiples almacenes de datos y realizar transformaciones y análisis de datos multiplataforma. Eche un vistazo a las siguientes publicaciones de blog para obtener más información: Consultar una base de datos con Arrow Flight y Lectura de metadatos de tabla con Flight SQL.
El eficiente formato de almacenamiento en columnas de Apache Parquet lo convierte en una excelente opción para flujos de trabajo de inteligencia artificial y aprendizaje automático, particularmente aquellos que involucran conjuntos de datos grandes y complejos. Su popularidad ha llevado al soporte de varias herramientas y plataformas dentro del ecosistema de inteligencia artificial y aprendizaje automático. Aquí hay unos ejemplos:
- oscuro: Dask es una biblioteca de computación paralela en Python. Dask admite archivos Parquet para el procesamiento de datos distribuidos, lo que lo hace adecuado para preprocesar grandes conjuntos de datos antes de introducirlos en modelos de aprendizaje automático.
- chispa apache: Apache Spark es un motor de análisis unificado para el procesamiento de datos a gran escala. Spark MLlib es una biblioteca de aprendizaje automático escalable que proporciona una amplia gama de algoritmos para clasificación, regresión, agrupación en clústeres y más. Spark puede leer y escribir directamente archivos Parquet, lo que permite un almacenamiento y acceso eficiente a datos en proyectos de aprendizaje automático de big data.
- H2O.ai: H2O es una plataforma de aprendizaje automático en memoria, distribuida y de código abierto compatible con una amplia gama de algoritmos de aprendizaje automático. Puede importar datos de archivos Parquet para tareas de aprendizaje automático (incluidos pronósticos y detección de anomalías), ofreciendo una forma sencilla de utilizar datos almacenados en Parquet en flujos de trabajo de aprendizaje automático.
Fuerte apoyo e innovación de la comunidad.
El ecosistema Apache se extiende mucho más allá de la pila FDAP. Ser parte del ecosistema Apache y contribuir a proyectos upstream ofrece muchas ventajas a las empresas, tanto técnicas como comerciales. Estas ventajas incluyen:
- Acceso a innovaciones y tecnologías de vanguardia: Apache Software Foundation alberga una variedad de proyectos a la vanguardia de la tecnología en big data, computación en la nube, gestión de bases de datos, tecnologías del lado del servidor y muchas otras áreas. Ser parte de este ecosistema brinda a las empresas un acceso temprano a innovaciones y tecnologías emergentes, lo que les permite seguir siendo competitivas.
- Calidad de software mejorada: contribuir a los proyectos upstream de Apache permite a las empresas influir directamente en la calidad y dirección del software crítico para sus operaciones comerciales. Como participantes activos en el proceso de desarrollo, las empresas pueden garantizar que el software cumpla con sus estándares y requisitos. Los proyectos de código abierto a menudo se someten a una rigurosa revisión por pares, lo que lleva a una mayor calidad del código y estándares de seguridad.
- Soporte y colaboración de la comunidad: ser parte del ecosistema Apache brinda acceso a una vasta comunidad de desarrolladores y expertos. Esta comunidad puede ofrecer apoyo, asesoramiento y oportunidades de colaboración. Las empresas pueden aprovechar este conocimiento colectivo para resolver problemas complejos, innovar y acelerar los ciclos de desarrollo.
El ecosistema Apache ha hecho contribuciones notables al espacio de las series temporales. Al ofrecer un formato estandarizado, eficiente y optimizado para hardware para datos en memoria, Apache Arrow mejora el rendimiento y la interoperabilidad de los sistemas de bases de datos existentes y prepara el escenario para la próxima ola de tecnologías de procesamiento de datos analíticos. Apache Parquet proporciona un formato de archivo eficiente y duradero, lo que facilita el transporte de conjuntos de datos entre herramientas de análisis. Y DataFusion proporciona una forma unificada de consultar sistemas dispares.
A medida que el ecosistema Apache evolucione y mejore aún más, su influencia en las tecnologías de bases de datos seguirá expandiéndose, enriqueciendo el conjunto de herramientas disponibles para los profesionales de datos que trabajan no sólo con datos de series temporales sino también con datos de todo tipo.
Anais Dotis-Georgiou es defensora principal de desarrolladores en Afluencia de datos.
—
New Tech Forum ofrece un lugar para que los líderes tecnológicos, incluidos proveedores y otros contribuyentes externos, exploren y debatan la tecnología empresarial emergente con una profundidad y amplitud sin precedentes. La selección es subjetiva y se basa en nuestra elección de las tecnologías que creemos que son importantes y de mayor interés para los lectores de InfoWorld. InfoWorld no acepta garantías de marketing para su publicación y se reserva el derecho de editar todo el contenido aportado. Envia todo consultas a doug_dineley@foundryco.com.
Copyright © 2024 IDG Communications, Inc.