Existem vários desafios que uma startup moderna de indexação de blockchain pode enfrentar, incluindo:
Neste artigo, revisamos a evolução da arquitetura de tecnologia da Footprint Analytics em etapas como um estudo de caso para explorar como a pilha de tecnologia Iceberg-Trino aborda os desafios dos dados on-chain.
A Footprint Analytics indexou cerca de 22 dados públicos de blockchain e 17 mercados NFT, 1900 projetos GameFi e mais de 100.000 coleções NFT em uma camada de dados de abstração semântica. É a solução de armazenamento de dados blockchain mais abrangente do mundo.
Independentemente dos dados do blockchain, que incluem mais de 20 bilhões de linhas de registros de transações financeiras, que são frequentemente consultados por analistas de dados. é diferente dos logs de entrada em data warehouses tradicionais.
Passamos por três grandes atualizações nos últimos meses para atender aos crescentes requisitos de negócios:
No início do Footprint Analytics, usamos o Google Bigquery como nosso armazenamento e mecanismo de consulta; O BigQuery é um ótimo produto. É incrivelmente rápido, fácil de usar e fornece poder aritmético dinâmico e uma sintaxe UDF flexível que nos ajuda a fazer o trabalho rapidamente.
No entanto, o Bigquery também tem vários problemas.
Estávamos muito interessados em alguns dos produtos OLAP que se tornaram muito populares. A vantagem mais atraente do OLAP é seu tempo de resposta de consulta, que normalmente leva menos de segundos para retornar resultados de consulta para grandes quantidades de dados, e também pode suportar milhares de consultas simultâneas.
Escolhemos um dos melhores bancos de dados OLAP, Doris, para experimentá-lo. Este motor funciona bem. No entanto, em algum momento, logo nos deparamos com outros problemas:
Infelizmente, não pudemos substituir o Bigquery pelo Doris, então tivemos que sincronizar periodicamente os dados do Bigquery para o Doris usando-o apenas como um mecanismo de consulta. Esse processo de sincronização tinha vários problemas, um dos quais era que as gravações de atualização se acumulavam rapidamente quando o mecanismo OLAP estava ocupado atendendo consultas aos clientes front-end. Posteriormente, a velocidade do processo de gravação foi afetada e a sincronização demorou muito mais e às vezes até se tornou impossível de terminar.
Percebemos que o OLAP poderia resolver vários problemas que enfrentamos e não poderia se tornar a solução chave na mão do Footprint Analytics, especialmente para o pipeline de processamento de dados. Nosso problema é maior e mais complexo, e podemos dizer que OLAP como um mecanismo de consulta sozinho não foi suficiente para nós.
Bem-vindo à arquitetura Footprint Analytics 3.0, uma revisão completa da arquitetura subjacente. Redesenhamos toda a arquitetura desde o início, para separar o armazenamento, a computação e a consulta de dados em três partes diferentes. Tirando lições das duas arquiteturas anteriores do Footprint Analytics e aprendendo com a experiência de outros projetos de big data bem-sucedidos, como Uber, Netflix e Databricks.
Primeiro, voltamos nossa atenção para o data lake, um novo tipo de armazenamento de dados para dados estruturados e não estruturados. O data lake é perfeito para armazenamento de dados on-chain, pois os formatos de dados on-chain variam amplamente, desde dados brutos não estruturados até dados de abstração estruturados pelos quais a Footprint Analytics é bem conhecida. Esperávamos usar o data lake para resolver o problema de armazenamento de dados e, idealmente, também ofereceria suporte a mecanismos de computação convencionais, como Spark e Flink, para que não fosse difícil integrar-se a diferentes tipos de mecanismos de processamento à medida que o Footprint Analytics evolui .
O Iceberg se integra muito bem com Spark, Flink, Trino e outros motores computacionais, e podemos escolher a computação mais adequada para cada uma de nossas métricas. Por exemplo:
Com o Iceberg resolvendo os problemas de armazenamento e computação, tivemos que pensar em como escolher um mecanismo de consulta. Não há muitas opções disponíveis, as alternativas que consideramos foram
Definido nosso rumo, fizemos um teste de performance da combinação Trino + Iceberg para ver se atendia nossas necessidades e para nossa surpresa, as consultas foram incrivelmente rápidas.
Sabendo que Presto + Hive tem sido o pior comparador por anos em todo o hype OLAP, a combinação de Trino + Iceberg nos surpreendeu completamente.
Aqui estão os resultados dos nossos testes.
caso 1: junte-se a um grande conjunto de dados
Uma tabela1 de 800 GB junta-se a outra tabela2 de 50 GB e faz cálculos de negócios complexos
case2: use uma única tabela grande para fazer uma consulta distinta
SQL de teste: selecione distinto (endereço) do grupo de tabelas por dia
A combinação Trino+Iceberg é cerca de 3 vezes mais rápida que Doris na mesma configuração.
Além disso, há outra surpresa, pois o Iceberg pode usar formatos de dados como Parquet, ORC, etc., que irão comprimir os dados e armazená-los. O armazenamento de tabelas do Iceberg ocupa apenas cerca de 1/5 do espaço de outros data warehouses. O tamanho de armazenamento da mesma tabela nos três bancos de dados é o seguinte:
Nota: Os testes acima são exemplos individuais que encontramos na produção real e são apenas para referência.
・Efeito de atualização
Os relatórios de teste de desempenho nos deram desempenho suficiente para que nossa equipe levasse cerca de 2 meses para concluir a migração, e este é um diagrama de nossa arquitetura após a atualização.
Desde o seu lançamento em agosto de 2021, a equipe do Footprint Analytics concluiu três atualizações de arquitetura em menos de um ano e meio, graças ao seu desejo e determinação de trazer os benefícios da melhor tecnologia de banco de dados para seus usuários criptográficos e execução sólida na implementação e atualizando sua infraestrutura e arquitetura subjacentes.
A atualização da arquitetura Footprint Analytics 3.0 trouxe uma nova experiência para seus usuários, permitindo que usuários de diferentes origens obtenham insights em usos e aplicações mais diversos:
Existem vários desafios que uma startup moderna de indexação de blockchain pode enfrentar, incluindo:
Neste artigo, revisamos a evolução da arquitetura de tecnologia da Footprint Analytics em etapas como um estudo de caso para explorar como a pilha de tecnologia Iceberg-Trino aborda os desafios dos dados on-chain.
A Footprint Analytics indexou cerca de 22 dados públicos de blockchain e 17 mercados NFT, 1900 projetos GameFi e mais de 100.000 coleções NFT em uma camada de dados de abstração semântica. É a solução de armazenamento de dados blockchain mais abrangente do mundo.
Independentemente dos dados do blockchain, que incluem mais de 20 bilhões de linhas de registros de transações financeiras, que são frequentemente consultados por analistas de dados. é diferente dos logs de entrada em data warehouses tradicionais.
Passamos por três grandes atualizações nos últimos meses para atender aos crescentes requisitos de negócios:
No início do Footprint Analytics, usamos o Google Bigquery como nosso armazenamento e mecanismo de consulta; O BigQuery é um ótimo produto. É incrivelmente rápido, fácil de usar e fornece poder aritmético dinâmico e uma sintaxe UDF flexível que nos ajuda a fazer o trabalho rapidamente.
No entanto, o Bigquery também tem vários problemas.
Estávamos muito interessados em alguns dos produtos OLAP que se tornaram muito populares. A vantagem mais atraente do OLAP é seu tempo de resposta de consulta, que normalmente leva menos de segundos para retornar resultados de consulta para grandes quantidades de dados, e também pode suportar milhares de consultas simultâneas.
Escolhemos um dos melhores bancos de dados OLAP, Doris, para experimentá-lo. Este motor funciona bem. No entanto, em algum momento, logo nos deparamos com outros problemas:
Infelizmente, não pudemos substituir o Bigquery pelo Doris, então tivemos que sincronizar periodicamente os dados do Bigquery para o Doris usando-o apenas como um mecanismo de consulta. Esse processo de sincronização tinha vários problemas, um dos quais era que as gravações de atualização se acumulavam rapidamente quando o mecanismo OLAP estava ocupado atendendo consultas aos clientes front-end. Posteriormente, a velocidade do processo de gravação foi afetada e a sincronização demorou muito mais e às vezes até se tornou impossível de terminar.
Percebemos que o OLAP poderia resolver vários problemas que enfrentamos e não poderia se tornar a solução chave na mão do Footprint Analytics, especialmente para o pipeline de processamento de dados. Nosso problema é maior e mais complexo, e podemos dizer que OLAP como um mecanismo de consulta sozinho não foi suficiente para nós.
Bem-vindo à arquitetura Footprint Analytics 3.0, uma revisão completa da arquitetura subjacente. Redesenhamos toda a arquitetura desde o início, para separar o armazenamento, a computação e a consulta de dados em três partes diferentes. Tirando lições das duas arquiteturas anteriores do Footprint Analytics e aprendendo com a experiência de outros projetos de big data bem-sucedidos, como Uber, Netflix e Databricks.
Primeiro, voltamos nossa atenção para o data lake, um novo tipo de armazenamento de dados para dados estruturados e não estruturados. O data lake é perfeito para armazenamento de dados on-chain, pois os formatos de dados on-chain variam amplamente, desde dados brutos não estruturados até dados de abstração estruturados pelos quais a Footprint Analytics é bem conhecida. Esperávamos usar o data lake para resolver o problema de armazenamento de dados e, idealmente, também ofereceria suporte a mecanismos de computação convencionais, como Spark e Flink, para que não fosse difícil integrar-se a diferentes tipos de mecanismos de processamento à medida que o Footprint Analytics evolui .
O Iceberg se integra muito bem com Spark, Flink, Trino e outros motores computacionais, e podemos escolher a computação mais adequada para cada uma de nossas métricas. Por exemplo:
Com o Iceberg resolvendo os problemas de armazenamento e computação, tivemos que pensar em como escolher um mecanismo de consulta. Não há muitas opções disponíveis, as alternativas que consideramos foram
Definido nosso rumo, fizemos um teste de performance da combinação Trino + Iceberg para ver se atendia nossas necessidades e para nossa surpresa, as consultas foram incrivelmente rápidas.
Sabendo que Presto + Hive tem sido o pior comparador por anos em todo o hype OLAP, a combinação de Trino + Iceberg nos surpreendeu completamente.
Aqui estão os resultados dos nossos testes.
caso 1: junte-se a um grande conjunto de dados
Uma tabela1 de 800 GB junta-se a outra tabela2 de 50 GB e faz cálculos de negócios complexos
case2: use uma única tabela grande para fazer uma consulta distinta
SQL de teste: selecione distinto (endereço) do grupo de tabelas por dia
A combinação Trino+Iceberg é cerca de 3 vezes mais rápida que Doris na mesma configuração.
Além disso, há outra surpresa, pois o Iceberg pode usar formatos de dados como Parquet, ORC, etc., que irão comprimir os dados e armazená-los. O armazenamento de tabelas do Iceberg ocupa apenas cerca de 1/5 do espaço de outros data warehouses. O tamanho de armazenamento da mesma tabela nos três bancos de dados é o seguinte:
Nota: Os testes acima são exemplos individuais que encontramos na produção real e são apenas para referência.
・Efeito de atualização
Os relatórios de teste de desempenho nos deram desempenho suficiente para que nossa equipe levasse cerca de 2 meses para concluir a migração, e este é um diagrama de nossa arquitetura após a atualização.
Desde o seu lançamento em agosto de 2021, a equipe do Footprint Analytics concluiu três atualizações de arquitetura em menos de um ano e meio, graças ao seu desejo e determinação de trazer os benefícios da melhor tecnologia de banco de dados para seus usuários criptográficos e execução sólida na implementação e atualizando sua infraestrutura e arquitetura subjacentes.
A atualização da arquitetura Footprint Analytics 3.0 trouxe uma nova experiência para seus usuários, permitindo que usuários de diferentes origens obtenham insights em usos e aplicações mais diversos: