Los cofundadores en enero de 2020 de la startup estadounidense-israelí Treeverse, Einat Orr (CEO) y Oz Katz (CTO) trabajaron en SimilarWeb antes de dejar la empresa para desarrollar LakeFS, una plataforma de código abierto (Apache 2.0) dedicada a la gestión de grandes empresas. conjuntos de datos (Hadoop, Databricks, Iceberg, Jupyter, Kafka), capaces de crear repositorios basados en objetos en servicios en la nube como Amazon S3, Google Cloud Almacenamiento, Microsoft Azure Blob Storage o Minio. La idea es ofrecer a los desarrolladores la posibilidad de trabajar con datos, como con su código alojado en GitHub o GitLab: es decir con la posibilidad de crear y rastrear diferentes versiones de datos para retroceder o ejecutar pipelines paralelos para experimentación y CI/ Implementaciones de CD.
La idea del proyecto LakeFS comenzó en SimilarWeb, cuando Einat Orr, PhD en matemáticas, era CTO y jefe de investigación y desarrollo, y Oz Katz era vicepresidente de I+D/ingeniería de producción. “Estábamos en un entorno en el que había muchas fuentes de datos que ingresaban a un lago de datos, generalmente almacenamiento de objetos, como S3, Google Cloud Storage o Azure Blob, con un montón de ETL, ya sea creando nuevos conjuntos de datos o derivados de los datos. que pueden ser utilizados más adelante por herramientas de inteligencia artificial o por ingenieros que crean modelos para el aprendizaje automático. Así que aquí está el entorno y, si parece simple, es por el contrario una forma muy complicada de gestionar el almacenamiento, asegura el CEO, con “por un lado un departamento de I+D compuesto por la mitad de ingenieros de aplicaciones que tomaron los datos derivados y los presentaron en formato gráfico. formulario a nuestros clientes. La segunda mitad de I+D recopiló y analizó datos. La diferencia entre los dos grupos era muy clara: incluso si la mayoría de los talentos de la empresa [SimilarWeb] estaban en el grupo de datos, al grupo de aplicaciones le resultó mucho más fácil trabajar y entregar resultados. Y para nosotros, que gestionábamos este tipo de I+D, estaba muy claro que necesitábamos empezar a crear herramientas que permitieran las mejores prácticas de ingeniería. Cuando hablo de prácticas de ingeniería, pienso en entornos de desarrollo, entornos de prueba, CI/CD, no solo para el código, sino también para los canales de datos, que en realidad son las principales actividades de los ingenieros de datos y de aprendizaje automático”.
Un repositorio en modo Datos como código
Lo que los dos ejecutivos pretenden lograr con LakeFS es proporcionar un entorno de desarrollo que funcione de forma aislada, pero donde los equipos puedan rastrear la evolución de diferentes versiones de sus datos tal como lo hacen con diferentes versiones de su código. Para trabajar, los desarrolladores necesitan datos de producción y, a menudo, hacen copias completas de diferentes instantáneas o copias de seguridad realizadas en diferentes momentos. Es difícil rastrear las diferencias y la proliferación de copias crea confusión y un aumento de los requisitos de almacenamiento y, por tanto, de la factura general.
Para trabajar con los principales lagos de datos, Treeverse ha desarrollado los conectores necesarios para luego crear una abstracción de los datos almacenados en una plataforma de objetos.
El concepto de LakeFS comienza con un conjunto de datos maestro, un repositorio de datos, con la creación de metadatos almacenados en depósitos de S3 y enlaces simbólicos (punteros a los datos de origen) para evitar la replicación de los datos. Para trabajar con archivos, LakeFS utiliza conceptos tomados del control de versiones del código fuente, como ramas y confirmaciones (en realidad registran una transacción en una base de datos). Las ramas le permiten trabajar en copias de archivos en paralelo, mientras que las confirmaciones le permiten confirmar cambios en los archivos y asociarlos con una rama específica. Estas ramas proliferan y se administran como un árbol, con el software LakeFS atravesando el árbol. Los archivos se pueden actualizar agregando, eliminando o modificando objetos en el repositorio. Se pueden realizar actualizaciones creando una confirmación en la rama actual. Cuando se crean dos ramas a partir de la misma fuente, se pueden fusionar para combinar los cambios realizados en cada una. La fusión se puede realizar mediante un comando LakeFS. Si se comete un error o es necesario restaurar una versión anterior de los archivos, LakeFS le permite volver a una versión anterior mediante un comando de restauración.
LakeFS, una plataforma de administración de datos, le permite almacenar objetos en un servicio en la nube y administrar versiones de archivos mediante ramas y confirmaciones, al tiempo que brinda la capacidad de restaurar versiones anteriores de estos archivos en caso de error.
“En los negocios, algunos datos no son exactamente exactos, cambian todo el tiempo. La mayoría de los datos recopilados son operativos. Piense en los datos de Salesforce, por ejemplo. Captaste la información ayer. Uno de los vendedores se da cuenta de que se equivocó al indicar el importe de un pedido. Entonces ingresa al sistema y corrige el error. Esto se llama relleno. Otro ejemplo sería cuando recalculas algo, creas el modelo de aprendizaje automático, calculas algo y luego creas un modelo mejor. Si quieres volver a calcular todo, tendrás una nueva versión de este resultado. Aún necesitarás la versión anterior porque algunos de tus usuarios ya la han usado y no querrán saber las diferencias, etc. Por lo tanto, los datos están en constante evolución”, nos explicó el CEO.
Promotor de Data as a Code con su servicio gestionado LakeFS Cloud, alojado en AWS y próximamente en GCP y Azure, Treeverse comercializa su solución en modalidad de suscripción (nube o on-premise desde 2.500 dólares al mes). También se ofrece una versión local de código abierto, en Ceph o Minio, con un poco menos de funciones. Entre los primeros usuarios de su solución, los ejecutivos destacan Shell, Lockheed Martin, Walmart, Volvo, NASA, Netflix y SimilarWeb. En este mercado, Treeverse enfrenta una competencia liderada por Dremio con el proyecto Nessie y AWS con su solución Lake Formation Service.
Otras noticias que te pueden interesar