F3: O Formato de Arquivo de Dados Open-Source do Futuro
O formato de arquivo de dados F3 foi concebido com foco em eficiência, interoperabilidade e extensibilidade. Ele corrige as deficiências dos formatos de última geração, como o Parquet, enquanto mantém uma boa interoperabilidade e extensibilidade, utilizando decodificadores Wasm integrados, o que o torna preparado para o futuro.
⚠️ Vale ressaltar que este projeto é um protótipo de pesquisa que verifica as ideias apresentadas no artigo, e não deve ser utilizado em produção.
Instruções de Construção
As instruções foram testadas apenas em uma máquina Intel com Debian 12. Para construir o pacote de prova de conceito do F3, utilize os seguintes comandos:
git submodule update --init --recursive ./scripts/setup_debian.sh # construa o pacote PoC do F3
cargo build -p fff-poc # execute os testes unitários do F3
cargo test -p fff-poc
Diretórios Importantes
O diretório format contém a definição do formato de arquivo em FlatBuffer. O diretório fff-poc abriga o código principal do formato F3, referenciando outras subpastas como fff-core, fff-encoding, fff-format e fff-ude-wasm. Além disso, o diretório fff-bench contém benchmarks e experimentos que foram apresentados no artigo.
Os exemplos de experimentos, tanto micro quanto de ponta a ponta, podem ser encontrados em fff-bench/examples. Os diretórios fff-ude* se referem à Codificação Definida pelo Usuário, e o código contido neles está relacionado à implementação de decodificação Wasm.
Os diretórios scripts e exp_scripts contêm scripts para a execução dos experimentos. Para reproduzir os resultados dos experimentos descritos no artigo, consulte o documento doc/paper_reproduction.md para obter as etapas detalhadas.
Licença
Este projeto está licenciado sob a Licença MIT. Para mais detalhes, consulte o arquivo LICENSE.
Citação
Caso você ache este projeto útil, considere citá-lo.
Confira os últimos vídeos publicados no canal