Arroyo: Um Decodificador JSON incrivelmente rápido baseado em Arrow

O motor de processamento de stream Arroyo enfrenta o desafio principal de processar eficientemente grandes fluxos de dados JSON. Este artigo detalha como o Arroyo utiliza o formato de memória colunar Arrow e uma estratégia de decodificação JSON em duas passagens para melhorar drasticamente a velocidade de desserialização JSON. A primeira passagem constrói uma estrutura de dados "fita" achatada, enquanto a segunda passagem constrói matrizes Arrow concorrentemente com base no esquema. Essa abordagem é até 2,3 vezes mais rápida do que os desserializadores baseados em Jackson em benchmarks. Além disso, o Arroyo estende o suporte para JSON bruto e tratamento de dados incorretos, permitindo um processamento mais flexível de dados de streaming do mundo real.