Hay varios desafíos a los que se puede enfrentar una empresa moderna de indexación de blockchain, que incluyen:
En este artículo, revisamos la evolución de la arquitectura tecnológica de Footprint Analytics en etapas como un caso de estudio para explorar cómo la tecnología Iceberg-Trino aborda los desafíos de los datos en cadena.
Footprint Analytics ha indexado alrededor de 22 datos públicos de blockchain, 17 mercados de NFT, 1900 proyectos de GameFi y más de 100 000 colecciones de NFT en una capa de datos de abstracción semántica. Es la solución de almacén de datos de cadena de bloques más completa del mundo.
Independientemente de los datos de blockchain, que incluyen más de 20 mil millones de filas de registros de transacciones financieras, que los analistas de datos consultan con frecuencia. es diferente de los registros de ingreso en los almacenes de datos tradicionales.
Hemos experimentado 3 actualizaciones importantes en los últimos meses para cumplir con los crecientes requisitos comerciales:
Al comienzo de Footprint Analytics, usamos Google Bigquery como nuestro motor de almacenamiento y consulta; Bigquery es un gran producto. Es increíblemente rápido, fácil de usar y proporciona poder aritmético dinámico y una sintaxis UDF flexible que nos ayuda a hacer el trabajo rápidamente.
Sin embargo, Bigquery también tiene una serie de problemas.
Estábamos muy interesados en algunos de los productos OLAP que se habían vuelto muy populares. La ventaja más atractiva de OLAP es su tiempo de respuesta a las consultas, que normalmente tarda unos segundos en devolver los resultados de la consulta para cantidades masivas de datos, y también puede admitir miles de consultas simultáneas.
Elegimos una de las mejores bases de datos OLAP, Doris, para probarla. Este motor funciona bien. Sin embargo, en algún momento nos encontramos con otros problemas:
Desafortunadamente, no pudimos reemplazar Bigquery con Doris, por lo que tuvimos que sincronizar periódicamente los datos de Bigquery con Doris usándolos solo como un motor de consulta. Este proceso de sincronización tenía una serie de problemas, uno de los cuales era que las escrituras de actualización se acumulaban rápidamente cuando el motor OLAP estaba ocupado atendiendo consultas a los clientes front-end. Posteriormente, la velocidad del proceso de escritura se vio afectada y la sincronización tomó mucho más tiempo y, a veces, incluso se volvió imposible de finalizar.
Nos dimos cuenta de que OLAP podría resolver varios problemas a los que nos enfrentamos y no podía convertirse en la solución llave en mano de Footprint Analytics, especialmente para la canalización de procesamiento de datos. Nuestro problema es más grande y más complejo, y podríamos decir que OLAP como motor de consulta por sí solo no era suficiente para nosotros.
Bienvenido a la arquitectura Footprint Analytics 3.0, una revisión completa de la arquitectura subyacente. Hemos rediseñado toda la arquitectura desde cero, para separar el almacenamiento, el cálculo y la consulta de datos en tres partes diferentes. Tomando lecciones de las dos arquitecturas anteriores de Footprint Analytics y aprendiendo de la experiencia de otros proyectos exitosos de big data como Uber, Netflix y Databricks.
Primero dirigimos nuestra atención al lago de datos, un nuevo tipo de almacenamiento de datos para datos estructurados y no estructurados. El lago de datos es perfecto para el almacenamiento de datos en cadena, ya que los formatos de los datos en cadena varían ampliamente, desde datos en bruto no estructurados hasta datos de abstracción estructurados, por los que Footprint Analytics es bien conocido. Esperábamos utilizar el lago de datos para resolver el problema del almacenamiento de datos e, idealmente, también sería compatible con los principales motores de cómputo, como Spark y Flink, de modo que no sería una molestia integrarse con diferentes tipos de motores de procesamiento a medida que evoluciona Footprint Analytics. .
Iceberg se integra muy bien con Spark, Flink, Trino y otros motores computacionales, pudiendo elegir el cómputo más adecuado para cada una de nuestras métricas. Por ejemplo:
Con Iceberg resolviendo los problemas de almacenamiento y computación, tuvimos que pensar en cómo elegir un motor de consulta. No hay muchas opciones disponibles, las alternativas que consideramos fueron
Una vez que decidimos nuestra dirección, hicimos una prueba de rendimiento en la combinación Trino + Iceberg para ver si podía satisfacer nuestras necesidades y, para nuestra sorpresa, las consultas fueron increíblemente rápidas.
Sabiendo que Presto + Hive ha sido el peor comparador durante años en todo el bombo de OLAP, la combinación de Trino + Iceberg nos dejó completamente boquiabiertos.
Aquí están los resultados de nuestras pruebas.
caso 1: unirse a un gran conjunto de datos
Una tabla1 de 800 GB se une a otra tabla2 de 50 GB y realiza cálculos comerciales complejos
case2: use una sola tabla grande para hacer una consulta distinta
Prueba sql: seleccione distinto (dirección) del grupo de tablas por día
La combinación Trino+Iceberg es aproximadamente 3 veces más rápida que Doris en la misma configuración.
Además de esto, hay otra sorpresa, porque Iceberg puede usar formatos de datos como Parquet, ORC, etc., que comprimirán los datos y los almacenarán. El almacenamiento de tablas de Iceberg ocupa solo alrededor de 1/5 del espacio de otros almacenes de datos. El tamaño de almacenamiento de la misma tabla en las tres bases de datos es el siguiente:
Nota: Las pruebas anteriores son ejemplos individuales que hemos encontrado en la producción real y son solo para referencia.
・Efecto de actualización
Los informes de las pruebas de rendimiento nos dieron suficiente rendimiento, por lo que nuestro equipo tardó aproximadamente 2 meses en completar la migración, y este es un diagrama de nuestra arquitectura después de la actualización.
Desde su lanzamiento en agosto de 2021, el equipo de Footprint Analytics completó tres actualizaciones arquitectónicas en menos de un año y medio, gracias a su deseo y determinación de brindar los beneficios de la mejor tecnología de base de datos a sus usuarios de criptomonedas, y una sólida ejecución en la implementación. y la actualización de su infraestructura y arquitectura subyacentes.
La actualización 3.0 de la arquitectura de Footprint Analytics ha comprado una nueva experiencia para sus usuarios, lo que les permite a los usuarios de diferentes orígenes obtener información sobre usos y aplicaciones más diversos:
Hay varios desafíos a los que se puede enfrentar una empresa moderna de indexación de blockchain, que incluyen:
En este artículo, revisamos la evolución de la arquitectura tecnológica de Footprint Analytics en etapas como un caso de estudio para explorar cómo la tecnología Iceberg-Trino aborda los desafíos de los datos en cadena.
Footprint Analytics ha indexado alrededor de 22 datos públicos de blockchain, 17 mercados de NFT, 1900 proyectos de GameFi y más de 100 000 colecciones de NFT en una capa de datos de abstracción semántica. Es la solución de almacén de datos de cadena de bloques más completa del mundo.
Independientemente de los datos de blockchain, que incluyen más de 20 mil millones de filas de registros de transacciones financieras, que los analistas de datos consultan con frecuencia. es diferente de los registros de ingreso en los almacenes de datos tradicionales.
Hemos experimentado 3 actualizaciones importantes en los últimos meses para cumplir con los crecientes requisitos comerciales:
Al comienzo de Footprint Analytics, usamos Google Bigquery como nuestro motor de almacenamiento y consulta; Bigquery es un gran producto. Es increíblemente rápido, fácil de usar y proporciona poder aritmético dinámico y una sintaxis UDF flexible que nos ayuda a hacer el trabajo rápidamente.
Sin embargo, Bigquery también tiene una serie de problemas.
Estábamos muy interesados en algunos de los productos OLAP que se habían vuelto muy populares. La ventaja más atractiva de OLAP es su tiempo de respuesta a las consultas, que normalmente tarda unos segundos en devolver los resultados de la consulta para cantidades masivas de datos, y también puede admitir miles de consultas simultáneas.
Elegimos una de las mejores bases de datos OLAP, Doris, para probarla. Este motor funciona bien. Sin embargo, en algún momento nos encontramos con otros problemas:
Desafortunadamente, no pudimos reemplazar Bigquery con Doris, por lo que tuvimos que sincronizar periódicamente los datos de Bigquery con Doris usándolos solo como un motor de consulta. Este proceso de sincronización tenía una serie de problemas, uno de los cuales era que las escrituras de actualización se acumulaban rápidamente cuando el motor OLAP estaba ocupado atendiendo consultas a los clientes front-end. Posteriormente, la velocidad del proceso de escritura se vio afectada y la sincronización tomó mucho más tiempo y, a veces, incluso se volvió imposible de finalizar.
Nos dimos cuenta de que OLAP podría resolver varios problemas a los que nos enfrentamos y no podía convertirse en la solución llave en mano de Footprint Analytics, especialmente para la canalización de procesamiento de datos. Nuestro problema es más grande y más complejo, y podríamos decir que OLAP como motor de consulta por sí solo no era suficiente para nosotros.
Bienvenido a la arquitectura Footprint Analytics 3.0, una revisión completa de la arquitectura subyacente. Hemos rediseñado toda la arquitectura desde cero, para separar el almacenamiento, el cálculo y la consulta de datos en tres partes diferentes. Tomando lecciones de las dos arquitecturas anteriores de Footprint Analytics y aprendiendo de la experiencia de otros proyectos exitosos de big data como Uber, Netflix y Databricks.
Primero dirigimos nuestra atención al lago de datos, un nuevo tipo de almacenamiento de datos para datos estructurados y no estructurados. El lago de datos es perfecto para el almacenamiento de datos en cadena, ya que los formatos de los datos en cadena varían ampliamente, desde datos en bruto no estructurados hasta datos de abstracción estructurados, por los que Footprint Analytics es bien conocido. Esperábamos utilizar el lago de datos para resolver el problema del almacenamiento de datos e, idealmente, también sería compatible con los principales motores de cómputo, como Spark y Flink, de modo que no sería una molestia integrarse con diferentes tipos de motores de procesamiento a medida que evoluciona Footprint Analytics. .
Iceberg se integra muy bien con Spark, Flink, Trino y otros motores computacionales, pudiendo elegir el cómputo más adecuado para cada una de nuestras métricas. Por ejemplo:
Con Iceberg resolviendo los problemas de almacenamiento y computación, tuvimos que pensar en cómo elegir un motor de consulta. No hay muchas opciones disponibles, las alternativas que consideramos fueron
Una vez que decidimos nuestra dirección, hicimos una prueba de rendimiento en la combinación Trino + Iceberg para ver si podía satisfacer nuestras necesidades y, para nuestra sorpresa, las consultas fueron increíblemente rápidas.
Sabiendo que Presto + Hive ha sido el peor comparador durante años en todo el bombo de OLAP, la combinación de Trino + Iceberg nos dejó completamente boquiabiertos.
Aquí están los resultados de nuestras pruebas.
caso 1: unirse a un gran conjunto de datos
Una tabla1 de 800 GB se une a otra tabla2 de 50 GB y realiza cálculos comerciales complejos
case2: use una sola tabla grande para hacer una consulta distinta
Prueba sql: seleccione distinto (dirección) del grupo de tablas por día
La combinación Trino+Iceberg es aproximadamente 3 veces más rápida que Doris en la misma configuración.
Además de esto, hay otra sorpresa, porque Iceberg puede usar formatos de datos como Parquet, ORC, etc., que comprimirán los datos y los almacenarán. El almacenamiento de tablas de Iceberg ocupa solo alrededor de 1/5 del espacio de otros almacenes de datos. El tamaño de almacenamiento de la misma tabla en las tres bases de datos es el siguiente:
Nota: Las pruebas anteriores son ejemplos individuales que hemos encontrado en la producción real y son solo para referencia.
・Efecto de actualización
Los informes de las pruebas de rendimiento nos dieron suficiente rendimiento, por lo que nuestro equipo tardó aproximadamente 2 meses en completar la migración, y este es un diagrama de nuestra arquitectura después de la actualización.
Desde su lanzamiento en agosto de 2021, el equipo de Footprint Analytics completó tres actualizaciones arquitectónicas en menos de un año y medio, gracias a su deseo y determinación de brindar los beneficios de la mejor tecnología de base de datos a sus usuarios de criptomonedas, y una sólida ejecución en la implementación. y la actualización de su infraestructura y arquitectura subyacentes.
La actualización 3.0 de la arquitectura de Footprint Analytics ha comprado una nueva experiencia para sus usuarios, lo que les permite a los usuarios de diferentes orígenes obtener información sobre usos y aplicaciones más diversos: