Boa tarde pessoal,

Alguém conhece alguma lib para banco de dados que crie os "archives" de dados no SD?

A maioria utiliza o EEPROM, que é limitado em tamanho e ciclos de gravação.

Exibições: 4767

Responder esta

Respostas a este tópico

ela pode ser expandida(Extended :) ), mudando a interface do EEPROM para uma do SDCard, mas como vc disse ela nao eh tao intuitiva...

Ha´um tempo atrás eu propus essa idéia la no chat.Mas nenhum participante sequer disse nada.(nem curiosidade tiveram)

Eu tenho planos de construir um banco de dados e sistema de arquivos na memoria .Pretendo usar a linguagem CQL.

Fiz uma experiencia criando struct em flash para saber a capacidade de compilação do compilador .

Ja criei um SGBD em CSV e Framework .A idéia é criar um interpretador de CQL para criar dados em eeprom.

Só que isso gasta  tempo.

Veja sobre o CQL no link:

http://adltecnologia.blogspot.com/

Bom dia Almir,

No caso desse seu projeto, como funcionaria? Seria um DB de memória, filesystem ou híbrido? CQL é a "contextual query language"? Acho a ideia muito legal, mas imaginando um microcontrolador com parser e interpretador para linguagem contextual soa um pouco "demais".

Como funcionaria esse DB?

Abraço!

Minha idéia seria criar um interpretador cql dentro da memoria do mcu(não especificamente Arduino).

Então uma aplicação externa poderia escrever um comando serialmente usando o script CQL (*Comma query language)

exemplo:

'{minha-tabela-produtos;@tabela;0;0;0;0;query=0;destino=0}'

O interpretador no mcu (cria a tabela "produto" no primeiro local livre da memoria).Como sei que existe a limitação da eeprom,estive pesquisando sobre criar um conjunto de Struct () na memoria Flash.

Com os testes que fiz.criei 255 struct() com 255 itens cada (exemplo: struct  128x(000,0001,...,255))

Alem que inseri em cada item (128x[255]= 'V').Ao compilar gerou um hexadecimal de 12kb.

A capacidade vai depender da Flash e Ram.Existe ainda muito a pesquisar.Criar apenas usando a EEPROM é razoavelmente fácil,porém muito limitado.

(*CQL do meu sistema foi criado antes do CQL do Cassandra Apache)

Deixo o codigo gerado no teste:

Anexos

 

Olá Geovani,Flávio, Almir, pessoal da comunidade. ^^

Achei interessante as indicações, realmente abre mais o leque de idéias/opções para o projeto.

Flávio, a idéia que foi utilizada para o armazenamento na Eeprom me parece funcionar bem quando você tem que ter apenas um "stream" de dados, como se fosse um "list". Tipo, número da amostra/index e o valor daquela amostra. O que falta para chegar até a nossa proposta é adicionar métodos de busca, tipos diversos de variáveis, e provavelmente mais de uma variável para cada "chave' adicionada. Tornando mais intuitivo, que é o que o Geovani citou.

Lá diz que é um "extend" do que existe, então nossa proposta seria um "extend of extend" rs.

Almir, muito legal o projeto, ele é seu não é? Ficou bacana.

Ao que me parece ele é um "gerador de script", me corrija se estiver errado. Pelo que vi ele interpreta a sintaxe criada para ele, seja usando diversos formatos ( quebra de linha, palavras reservadas segmentadas, etc ... isso é bom. ^^ ), e depois gera o script que será executado pelo shell. A partir dai vem minha dúvida que é parecida com a do Geovani... como é que funciona o DB? Ele se comunica com outras tecnologias como SQL, ou você tem algum outro cara que vai criar arquivos (o database) no formato .CSV e fazer essa ponte (brigde) ? E a última e maior de todas, qual é a parte "opensource" ? Podemos utilizar algo dele? ^^

Geovani, vamos criar um repositório sim, acho melhor. Assim quem quiser contribuir terá acesso também. O GitHub acho legal. Ele tem algo para controle de "issues" ? Podemos incorporar algo para isto, nem que seja um arquivo .txt, para sabermos as alterações de cada versão.

Abs, pessoal.

Att.

Bom dia Daniel,

Não só tem issues (que mais parece um fórum com link pra tudo que é commit), mas milestones, fork e pull-request, gráficos de commits e outras estatísticas...

Mas qual seria um nome legal para o projeto? ArduDB? rs

 Bom dia. ^^

 Então o git está mais que indicado para o projeto. 

 rsrs, mais difícil do que a tarefa total sempre é escolher o nome do projeto.rs

 ArduDB é bem sugestivo, mas vou dar uma idéia também: DBduino ou DBino,

 ou para ser nacionalista DBinoBR. rs

 Realmente o importante deste nome é fazer analogia entre o Arduino e o DataBase. 

 

 Vamos ver se alguém opta por algum destes nomes ou dá novas sugestões. ^^

 

Gostei das sugestões! :D

Também poderia ser DuinoDB... Existe o DuinoOS, que é baseado no FreeRTOS. Poderia ser uma feature futura a integração com um RTOS... kkk

 rs, boa. Já pensou, DuinoOS + DuinoDB = DuinoOSDB, que me lembra algo também. rs

DuinoDB achei legal. Intuitivo e bom para ser encontrado caso procurem por uma biblioteca. Voto neste.

+1

Pessoal, votem aí ou postem sugestões...

Vamos dar até o fim do dia pra fechar com esse nome então?

Sim, este prazo está ótimo.

Até lá podemos discutir mais sobre o escopo do projeto.  ^^

RSS

© 2024   Criado por Marcelo Rodrigues.   Ativado por

Badges  |  Relatar um incidente  |  Termos de serviço