Google abre código do LevelDB, biblioteca para armazenamento de dados

Uma das especializações do gigante Google é, sem sombra de dúvidas, sobre bancos de dados. Imagine todos os dados que os servidores da empresa precisam guardar, incluindo a pesquisa (cópias das páginas, que retornam resultados rápidos com busca de texto completo…), dados de mapas e coordenadas, voz, inúmeros dados de usuários, valores importantes do AdSense e AdWords… O grupo acabou criando seus próprios sistemas para garantir a escalabilidade e disponibilidade que tanto precisam. Esse sistema ainda é proprietário, mas um outro produto relacionado, aberto, está sendo divulgado com mais detalhes: o LevelDB.

O código do LevelDB foi aberto usando uma licença do tipo BSD, bastante flexível. Ele é um sistema de dados para guardar pares na forma chave/valor, focado em alto desempenho. É escrito pensando em não ter dependências externas dos sistemas operacionais que existem, o que é muito bom.

O LevelDB pode ser usado em inúmeros contextos. Por exemplo, ele serve para um navegador guardar um cache das páginas web acessadas recentemente, ou para um sistema operacional guardar uma lista dos pacotes instalados e suas dependências, permitindo acesso rápido a esses dados depois. Em casos mais simples, aplicações podem se beneficiar para salvar configurações, ou mesmo dados dos usuários localmente.

Versões futuras do Chrome implementarão a API IndexedDB do HTML 5, o que por trás “das telas” no Chrome será gerenciado pelo LevelDB.

O Google mantém uma página com resultados de benchmarks que destacam na maioria dos casos o LevelDB, deixando para trás o Kyoto TreeDB e o popular SQLite3. O LevelDB é especialmente rápido ao lidar com leituras e escritas sequenciais, mas também se destaca ao fazer escritas randômicas. Em operações em lote ele se dá melhor também em quase todos os casos.

Testes comparativos entre LevelDB, Kyoto TreeDB e SQLite3

Operações por segundo: quanto maior, melhor. O teste acima se deu numa situação específica, na prática os resultados podem variar. Detalhes do ambiente de teste estão na página dos benchmarks linkada acima.

Apesar de rápido e ter nas suas costas a grande reputação do Google, o LevelDB não serve para todos. Ele não é um sistema de banco de dados SQL, não tem modelo relacional, não suporta índices. É para um uso específico, e nesse uso específico ele se dá melhor do que soluções baseadas em SQL ou similares, só isso.

A implementação também não é para qualquer um, o código é de certa forma “cru”, dependendo de cada um criar seus meios de interação com a biblioteca fornecida.

O código está no Google Code.

Postado por
Siga em:
Compartilhe
Deixe seu comentário
Assine nossa Newsletter
Assine nossa newsletter e receba nossa seleção de conteúdo sobre tecnologia, games, IA e internet em seu email.
Veja também
Publicações Relacionadas
Img de rastreio
Localize algo no site!