Pitch: MelkDB: A primeira versão do meu banco de dados foi lançada! 🎉
Se você leu o artigo "Resolvi desenvolver a ideia de um banco de dados e o resultado me supreendeu", sabe de qual projeto estou falando. Recomendo a leitura antes de prosseguir com este artigo caso você não tenha noção do que eu estou falando aqui.
Acabei de lançar a versão 0.1.0
do meu banco de dados MelkDB, um banco de dados modelo key-value rápido e com baixíssimo consumo de memória. Neste artigo, vou te mostrar um pouco sobre o banco de dados e o motivo da sua criação.
MelkDB: Um banco de dados veloz e otimizado
MelkDB é um banco de dados modelo key-value desenvolvido totalmente em Python. Com seu funcionamento bem documentado, O MelkDB é fácil de usar e pode ser instalado facilmente em sistemas operacionais baseados em Linux e no Windows. Alguns dos pontos principais do projeto são:
- Obtenha os dados rapidamente: Desenvolvido para ser extremamente veloz na escrita e leitura de dados, o MelkDB possui um método eficiente para realizar a busca de itens, além de ter um código bem otimizado.
- Mantenha seus dados seguros: O MelkDB oferece a opção de criptografia de dados usando AES-256, protegendo seus dados e mantendo a velocidade ao adicionar e obter itens.
- Baixo consumo de memória: Apenas os dados solicitados pelo usuário são carregados na memória, evitando o alto consumo de memória ao realizar operações no banco de dados.
Veja um simples exemplo de uso do banco de dados:
from melkdb import MelkDB
db = MelkDB('cache')
db.add("latest_news", "Conteúdo das últimas notícias")
print(db.get("latest_news"))
🤔 Qual problema ele resolve?
Você já precisou carregar uma grande lista de dados na memória para fazer uma busca? Se sim, sabe que carregar todos os dados na memória não é nada eficiente, pois dependendo do tamanho do arquivo aberto, o consumo de memória pode aumentar no nível de travar todo o computador.
Mas há uma solucão para isso: os generators
do Python! Utilizando essa funcionalidade do Python, você pode ler linha por linha de um arquivo, carregando apenas um de cada vez, consumindo muito menos memória ao realizar uma busca. Apesar de funcionar muito bem, existe um problema que incomoda muito: a velocidade! 😨
O MelkDB foi desenvolvido para resolver esse problema. A estrutura de dados do MelkDB permite realizar uma busca rápida da chave, carregando apenas o valor que foi solicitado, e consegui tudo isso sem utilizar loops e generators.
⚡ A velocidade do MelkDB
Em testes realizados utilizando um computador com processador Intel Celeron Dual Core de 2.16GHz e um SSD, obtemos seguintes dados sobre a velocidade de escrita e leitura:
Criptografia? | N° de dados | Tempo para adicionar | Tempo para obter |
---|---|---|---|
Não | 10.000 | 2.6 segundos | 1 segundo |
Sim | 10.000 | 6.6 segundos | 5.5 segundos |
Você pode realizar o seu próprio teste de velocidade utilizando o script speedtest.py
Essa foi uma breve introdução sobre o meu projeto de banco de dados desenvolvido totalmente em Python. O que você achou? Quais pontos você acha que deve melhorar? Deixe seu comentário com sugestões e ajude o projeto a evoluir.
Esta é a primeira versão lançada do banco de dados, correções e novas funcionalidades virão em versões futuras. Achou o projeto interessante? Apoie o MelkDB no Github, seja com contribuições, sugestões ou deixando sua estrela como incentivo! ⭐
Obrigado por ler até aqui.
by @jaedsonpys