leveldb – A próxima base de dados para Android?
A plataforma Android foi introduzida no mercado pela Google Inc. em 2007 e é composta por um sistema operativo embebido e um conjunto de aplicações. Esta plataforma dispõe de algumas importantes características das quais se destacam a arquitectura aberta, sistema gráfico 2D e 3D totalmente optimizado, suporte para os formatos mais comuns de áudio e vídeo e suporte nativo para a base de dados SQLite.
Relativamente a base de dados, apesar do SQLite ser fantástico, há rumores que a Google pretende adoptar o seu próprio sistema de base de dados.
A Google anunciou recentemente a sua biblioteca para base de dados, à qual deu o nome de leveldb.
De acordo com o site h-online “o levelDB é optimizado para actualizações em lote de uma forma atómica. Benchmarks realizados a biblioteca demonstraram que o levelDB consegue gerir 164.000 operações de escrita aleatórias por segundo, contrastando com as 88.500 por segundo do TreeDB e as 420 por segundo do SQLite3”
Principais características do levelDB
- Os dados gravados e ordenados por chaves
- Operações básicas: Put(key,value), Get(key), Delete(key)
- Podem ser realizadas várias actualizações, de uma forma atómica, recorrendo a um batch
- Dados são automaticamente comprimidos recorrendo ao Snappy compression library.
- Boa documentação
Veja aqui todas as características do leveldb
Como limitações, o levelDB não tem como base um modelo relacional, não suporta queries SQL e também não suporta índices.
O que mais falta inventar a gigante Google?
Homepage: leveldb
Este artigo tem mais de um ano
Obrigado pelo post pessoal 🙂
Boa tarde ,
De facto temos de tirar o chapéu a Google , eles não param, as novidades são lançadas diariamente e em toda a sua linha de produtos .
Cumprimentos
a google cada vez mais e mais…
mas a ultima frase me deixou pensativo, “Como limitações, o levelDB não tem como base um modelo relacional, não suporta queries SQL e também não suporta índices.” eu não sei trabalhar assim, nao sei nem como imaginar como seria
Pois, somos 2. Parece-me ser um sistema limitado a partida mas…se calhar é porque estamos também habituados ao modelo relacional.
O Android já traz nativamente um sistema de Key/value, talvez o leveldb seja uma evolução.
Certo, e possivelmente também passará por aqui a explicação para a diferença de resultados.
Só uma questão, estas operações são sobre uma base de dados em memória volátil?
Faz um test-drive ao CouchDB ou Mongo…
Posso ter percebido mal, mas é o mesmo género de base de dados.
in couchdb website:
Apache CouchDB is a document-oriented database that can be queried and indexed in a MapReduce fashion using JavaScript. CouchDB also offers incremental replication with bi-directional conflict detection and resolution.
CouchDB provides a RESTful JSON API than can be accessed from any environment that allows HTTP requests. There are myriad third-party client libraries that make this even easier from your programming language of choice. CouchDB’s built in Web administration console speaks directly to the database using HTTP requests issued from your browser.
Fantástico, basicamente um NoSQL que deve ser portátil igual o SQLite… tomara que vingue. =D
Show de bola o Post Thx!
Num mundo em que de momento tudo que nos rodeia, de carros a telemóveis, se baseia em aspecto apelativo, muitas vezes a velocidade é posta de parte ou limitam-se a aumentar o hardware e custos dele.
Podiam implementar isto nos telemóveis com android mais antigos a ver se espevitam 😛
“o levelDB é optimizado para actualizações em lote de uma forma atómica”
Atómica ou automática?
Atomica, de atomicidade