ForestDB é um mecanismo de armazenamento de última geração definido por um projeto de código aberto que começou a ser implementado há um ano. Esse sistema incorporado de chave-valor foi criado para solucionar as principais desvantagens da estrutura de índice B+-Tree típica para elevar o desempenho de E/S do disco ao próximo nível.
A apresentação inicial do novo HB+-Trie que é a estrutura subjacente do ForestDB, foi originalmente apresentada no ACM SIGMOD 2011 por Jung-Sang Ahn. Chiyoung Seo está liderando a equipe que implementa o ForestDB com Sundar Sridharan no Couchbase. Com a implementação, observamos uma grande melhoria no desempenho da SSD (unidade de estado sólido).
Por trás disso, o ForestDB é um mecanismo de armazenamento somente de anexação MVCC (controle de simultaneidade de várias versões). O ForestDB oferece recursos de snapshotting para criar várias visualizações do banco de dados e suporta reversões para os snapshots. Se quiser saber mais, dê uma olhada em nosso repo.
Nosso objetivo inicial era quebrar os números de desempenho do armazenamento de chave/valor com o ForestDB, portanto, darei uma rápida olhada nisso antes de encerrar. Comparamos o ForestDB vs. RocksDB vs. LevelDB, e, para implementações móveis, para o SQLite. Tenho o prazer de informar que superamos ambos em várias dimensões. Destacarei aqui o desempenho de gravação em comparação com o LevelDB e o Rocks DB, já que normalmente é o mais desafiador para escalonar - você pode ver uma taxa de transferência 2x melhor com o lote de contagem de documentos abaixo.
O benchmarking é sempre um assunto complexo, portanto, incentivo todos a explorarem todos os detalhes. Consulte a seção página de resultados de desempenho que publicamos para obter detalhes completos.
Estamos muito empolgados em colocar o ForestDB em versão beta antes que ele apareça no Couchbase Server e no Couchbase Lite. Agradecemos as contribuições e o feedback. Entre em contato conosco por meio do repo. Vamos continuar trabalhando juntos para inovar na camada de mecanismo de armazenamento.
Cihan Biyikoglu - Diretor de gerenciamento de produtos da Couchbase
Os dados do teste de desempenho e os scripts de carga estão disponíveis para download?
Obrigado pela consulta. Temos os scripts para medições e comparações de desempenho e os colocaremos no repositório do github em breve.
Suporte ao CBLite para Android agora ???
E como atualizar meu antigo projeto CBlite do Android para isso?
Obrigado.
Olá, isso está em andamento. Não tenho uma data específica para compartilhar no momento, mas postarei assim que tivermos clareza sobre os cronogramas.
ping. Esperávamos que isso fosse incluído na versão 3.0, mas não :(
Olá @alexanderpetrossian:disqus, se você se referia ao forestDB na versão 3.0, isso está acontecendo. Teremos o forestDB compatível com os novos índices secundários globais.
Cihan, minha principal preocupação era reduzir os requisitos do disco de persistência.
Na versão 2.x, era cerca de 10 vezes menor em um de nossos casos de uso. Armazenamento de sessões. Temos sessões muito ocupadas. E precisamos que elas sejam praticamente persistentes.
Nos comentários do jira, lembro-me de um plano para acelerar a persistência usando um novo formato de armazenamento.
Por favor, corrija-me se eu tiver entendido errado, Cihan.
Há dois problemas:
- Estamos rastreando uma forma de não persistência, que é o tipo de balde memcached aqui: https://issues.couchbase.com/b…
- Outra é introduzir o ForestDB para o armazenamento do Couchbase Data Service. Há pequenas melhorias no armazenamento do Data Service 4.0, mas o ForestDB para o serviço de dados ainda está em andamento. Somente o serviço de índice terá o ForestDB no Couchbase Server 4.0.
Vou me concentrar nisso.
Ok. Muito obrigado!