1
resposta

Persistencia em dados "dinamicos" XML, JSON, YAML, INI....

Minha duvida é como persistir dados com estrutura dinâmica de forma correta.

Para melhor formular minha pergunta eu trago algumas premissas (que podem está incorretas).

  1. A maioria destes tipos de arquivos visa a troca de "dados" entre diferentes aplicações.
  2. Nem todos os lados utiliza todas as informações contidas nestes arquivos. Mas que em certo momento pode começar a utilizar
  3. Estes dados podem mudar entre os softwares sem um aviso prévio. Exemplos: remover uma informação, objeto ou modificar algum tipo de dado já existente.
  4. A Maioria dos bancos de dados relacional não possuem um tipo de dados que permite armazenar esses arquivos de forma a ter uma busca eficiente.
  5. Os bancos de dados até possuem alguns tipos de dados que na pratica não são utilizados. Exemplo "BLOB" do mysql, onde na pratica você salva apenas o caminho do arquivo e os metadados que fazem sentido para sua aplicação..

Minha principal duvida é:

Devo manter a mesma logica utilizada para "arquivos" ou devo utilizar outro tipo de banco de dados?

1 resposta

Olá, Victor! Tudo bem com você?

Peço desculpa pela demora em responder o seu tópico.

Com base nas premissas que você trouxe, posso sugerir algumas opções para você considerar:

Uma opção é utilizar bancos de dados NoSQL, como MongoDB ou CouchDB, que são mais flexíveis em relação à estrutura dos dados. Com eles, você pode armazenar os dados em formato JSON ou BSON (formato binário do JSON) e fazer consultas eficientes mesmo com estruturas dinâmicas.

Outra opção é utilizar bancos de dados relacionais e armazenar os dados em formato JSON utilizando colunas do tipo TEXT ou VARCHAR. Embora essa abordagem não seja tão eficiente quanto utilizar um banco de dados NoSQL, pode ser uma solução viável se você já estiver utilizando um banco de dados relacional em seu projeto.

Em resumo, a escolha entre manter a mesma lógica utilizada para arquivos ou utilizar outro tipo de banco de dados depende das necessidades específicas do seu projeto. Avalie as opções que mencionei e escolha aquela que melhor se adequar ao seu caso.

Espero ter ajudado e bons estudos!

Caso este post tenha lhe ajudado, por favor, marcar como solucionado ✓.