Un vistazo al futuro de la arquitectura de datos abiertos

(evannovstro / Shutterstock)

Es posible que Hadoop se haya desvanecido como plataforma de datos, pero sentó las bases para una arquitectura de datos abiertos que continúa creciendo y evolucionando hoy en día, principalmente en la nube. Echamos un vistazo al futuro de esta arquitectura de datos abiertos durante la reciente conferencia Subsurface, que contó con los creadores de varias tecnologías prometedoras para lagos de datos y las casas de lagos de datos.

Gran parte del trabajo apasionante en la arquitectura de datos actual se lleva a cabo en la nube. Gracias a la disponibilidad de almacenamiento infinito basado en objetos (como S3) y la computación bajo demanda ilimitada (gracias a Docker y Kubernetes), las limitaciones físicas de recopilar, almacenar y procesar cantidades masivas de datos han desaparecido en gran medida (se también ha introducido nuevas preocupaciones sobre los costos, pero ese es otro tema para otro día).


Recomendado: ¿Qué es el Big data?.


Cuando se resuelve un problema, normalmente aparecen nuevos problemas. En este caso, como el almacenamiento y la computación se han «resuelto», el enfoque ahora se convierte en la mejor manera de permitir que el grupo más grande de usuarios acceda y utilice estos datos de la manera más impactante. Por diversas razones, este no es un problema resuelto, especialmente cuando se trata de los florecientes entornos de big data. Los intentos de encasillar las tecnologías y técnicas de gestión de datos heredados en este nuevo paradigma de datos en la nube han tenido un éxito desigual.

En resumen, con la nueva era de los datos en la nube sobre nosotros, se piensa que necesitamos nuevas herramientas y tecnologías para aprovecharla. Esto es precisamente lo que espera hacer una nueva generación de tecnólogos que abogan por herramientas de datos abiertos para trabajar en la arquitectura de datos abiertos. También es en lo que se centró el proveedor de análisis en la nube Dremio con su conferencia Subsurface Live, que se llevó a cabo virtualmente a fines de julio.

En un panel de Subsurface sobre el futuro de la arquitectura de datos abiertos, el analista de Gartner Sanjeev Mohan habló sobre el futuro con cuatro personas que están creando estas tecnologías, incluido Wes McKinney, creador de Pandas y co-creador de Apache Arrow; Ryan Blue, creador del formato de tabla Iceberg; Julien Le Dem, cocreador de Parquet; y Ryan Murray, co-creador de Nessie.


Recomendado: Todos los términos del Big data.


«Es muy emocionante ver que un viaje que comenzamos con el código abierto hace muchas décadas parece estar encajando», dijo Mohan. «Finalmente parece que estamos en un lugar donde, en la arquitectura de datos abiertos, ahora tenemos un conjunto de proyectos de código abierto que se complementan entre sí y nos ayudan a construir una solución de extremo a extremo».

Tome Apache Iceberg, por ejemplo. La tecnología fue desarrollada originalmente por ingenieros de Netflix y Apple para abordar los desafíos de rendimiento y usabilidad del uso de tablas Apache Hive. Si bien Hive es solo uno de varios motores analíticos de SQL, el metastore de Hive ha sobrevivido como el pegamento de facto que conecta los datos almacenados en HDFS y S3 con motores SQL modernos, como Dremio, Presto y Spark.

Desafortunadamente, la tienda de metadatos de Hive no funciona bien en entornos dinámicos de big data. Los cambios en los datos deben coordinarse, lo que puede ser un proceso complejo y propenso a errores. Cuando no se hace correctamente, los datos pueden corromperse. Como reemplazo de las tablas de Hive, Iceberg brinda soporte para transacciones atómicas, lo que brinda a los usuarios esa garantía de corrección.

Pero eso no fue suficiente. Como hemos aprendido, cuando se resuelve un problema, tiende a aparecer otro. En el caso del Proyecto Nessie, era necesario proporcionar control de versiones para los datos almacenados en formatos de tabla como Iceberg.

“Cuando comenzamos a pensar en el Proyecto Nessie, realmente comenzamos a pensar en la progresión de la plataforma de lago de datos de los últimos 10 o 15 años”, dijo Murray, un ingeniero de Dremio. «Hemos visto gente [slowly]… Construyendo abstracciones, ya sean abstracciones para ayudarnos a calcular, o abstracciones para cosas como tablas y archivos de datos y ese tipo de cosas. Empezamos a pensar, ¿cuál es la próxima abstracción? ¿Qué es lo que tiene más sentido? «

Para Murray, la siguiente abstracción que se necesitaba era un catálogo que se colocaba sobre los formatos de la tabla para fomentar una mejor interacción con los componentes posteriores.

“Del mismo modo que Ryan Blue sintió que Aache Hive no era adecuado para el formato de tabla, con el único punto de falla, la gran cantidad de llamadas a la API a esa tienda de meta, incluso al endpoint de Thrift, hizo que fuera realmente difícil escalar, hizo es realmente difícil de usar de manera efectiva, especialmente en una forma nativa de la nube ”, dijo Murray. «Así que estábamos buscando algo que fuera nativo de la nube y que funcionara con formatos de tabla modernos y pudimos comenzar a pensar en extendernos a todas las otras cosas maravillosas que está construyendo mi panel».

Como uno de los formatos de big data más populares, Parquet es otra tecnología que se desarrolló originalmente para Hadoop, pero ha seguido teniendo una amplia adopción después de que la adopción de Hadoop se redujo, gracias a su capacidad para usarse en almacenes de objetos en la nube. El formato en columnas brinda a los usuarios la capacidad de realizar consultas analíticas exigentes, a la Teradata, mientras que su compresión y soporte nativo para sistemas de archivos distribuidos le permite trabajar en clústeres de big data modernos.

Le Dem co-desarrolló Parquet mientras trabajaba en Gorjeo, que hizo gran parte de su análisis de datos en Hadoop o Vertica. Hadoop podía escalar para grandes conjuntos de datos, pero carecía de rendimiento para consultas exigentes. Vertica fue todo lo contrario: podía manejar las consultas ad-hoc con buen rendimiento, pero simplemente no podía manejar big data.

«Siempre estuvimos entre las dos opciones», dijo Le Dem. “Y creo que algo de eso hizo que Hadoop se pareciera más a un almacén. Comenzando de abajo hacia arriba, comenzando con la presentación en columnas, y hazla más eficiente, siguiendo las pistas de esas bases de datos en columnas «.

Si bien Parquet ha tenido una gran adopción, todavía existen limitaciones fundamentales en lo que puede hacer. «Parquet es solo un formato de archivo», dijo Le Dem. “Hace que las cosas sean más eficaces para el motor de consultas, pero no se ocupa de nada como, cómo se crea una tabla, cómo se hacen todas esas cosas. Entonces necesitábamos una capa encima. Fue genial ver que esto sucedía en la comunidad «.

Esto nos lleva a Apache Arrow, que fue co-desarrollado por McKinney y en el que Le Dem también está involucrado en el desarrollo. La contribución de Arrow a la arquitectura de datos abiertos es que proporciona un formato de archivo muy rápido para compartir datos entre una gran colección de sistemas y motores de consulta. Esa heterogeneidad es una característica de la arquitectura de datos abiertos, dijo Le Dem.

“Uno de los impulsores de esta arquitectura de almacenamiento abierta es que las personas no solo usan una herramienta”, dijo Le Dem. «Ellos [use] cosas como Spark, usan cosas como Pandas. Usan almacenes, o cosas del tipo SQL-on-Hadoop, como Dremio y Presto, pero también otros almacenes patentados. Entonces, hay mucha fragmentación, pero aún quieren poder usar todas esas herramientas y el aprendizaje automático en los mismos datos. Entonces, tener esta capa de almacenamiento común [Arrow] Tiene mucho sentido estandarizar esto para que pueda crear y transformar datos de varias fuentes «.

La necesidad de Arrow surgió en medio del ciclo de publicidad de Hadoop. “Hace unos seis años, reconocimos que … la comunidad había desarrollado Parquet como un estándar abierto para el almacenamiento de datos y el almacenamiento de datos para lagos de datos y para el ecosistema Hadoop”, dijo McKinney.

“Pero estábamos viendo cada vez más este aumento de la heterogeneidad de aplicaciones y lenguajes de programación, donde las aplicaciones que te gustan son cada vez más cuellos de botella al mover grandes cantidades de datos entre lenguajes de programación, entre procesos de aplicación y pasar por un intermediario más caro, como Parquet, para mover los datos entre dos pasos diferentes en el proceso de aplicación son muy costosos ”, continuó.

McKinney, quien recientemente incorporó Ursa Computing a su nueva startup Voltron Data, trabaja hoy en Arrow Flight, un marco para el transporte rápido de datos que se encuentra en la parte superior de gPRC, una tecnología de llamada a procedimiento remoto (PRC) que funciona como un búfer de protocolo para aplicaciones distribuidas. aplicaciones. Una extensión para Arrow Flight podría eventualmente reemplazar a JDBC y ODBC, permitiendo una rápida transformación de datos en todos los ámbitos, dijo McKinney.

En el futuro, a medida que tecnologías como Arrow, Iceberg, Nessie y Parquet se incorporen al ecosistema de datos, permitirá una nueva generación de productividad entre los desarrolladores e ingenieros que tienen la tarea de crear aplicaciones basadas en datos, dijo Murray.

“Muchos ingenieros de datos con los que interactúo están pensando en el tamaño de mi archivo Parquet y en qué directorio pertenece para que se aprovechen las particiones, y cómo asegurarme de que tenga el esquema correcto y todo este tipo de cosas, » él dijo. “Y creo que estamos tan dispuestos a dejar de hablar de eso. Para que los ingenieros puedan comenzar a escribir SQL y aplicaciones además de estas cosas «.

La libertad de elección es un sello distintivo de la arquitectura del lago de datos abiertos, dijo el director de tecnología de Dremio, Tomer Shiran, durante su discurso de apertura de Surface.

«Puede elegir el mejor motor de su clase para una carga de trabajo determinada», dijo Shiran. “No solo eso, sino que en el futuro, a medida que se creen nuevos motores, también puede elegir esos motores. Es muy fácil poner en marcha un nuevo motor, apuntarlo a sus datos, sus archivos Parquet de código abierto o sus tablas Iceberg de código abierto, y comenzar a consultar y modificar esos datos «.

Los lagos de datos abiertos y las casas lacustres están ganando terreno en el mercado y, gracias a tecnologías como esta, se convertirán en la arquitectura predominante en el futuro, predice Billy Bosworth, CEO de Dremio.

“Cuando tienes estos cambios de arquitectura como los que estamos viendo hoy, desde las estructuras clásicas de bases de datos relacionales a estas arquitecturas de lago de datos abiertos, este tipo de cambios tienden a durar décadas”, dijo Bosworth durante su sesión de Subsurface. “Nuestros ingenieros y arquitectos están construyendo ese futuro para todos nosotros, un futuro en el que las cosas sean de más fácil acceso, donde los datos lleguen más rápido y el tiempo de valoración de esos datos se incremente rápidamente. Y lo hace de una manera que permite a las personas tener las mejores opciones de su clase en los tipos de servicios que desean utilizar con esos datos «.

Artículos relacionados:

Apache Iceberg: ¿El eje de un ecosistema de servicios de datos emergente?

¿Quieren los clientes plataformas de datos abiertos?

Sopesando el valor del código abierto para el futuro de Big Data