[quote=LedRenan][quote=nel][quote=rmendes08][quote=LedRenan]Olá!
Estou com um seguinte cenário: preciso criar uma fonte de dados para que este seja interpretada por diversas views. Hoje, esta view fará a leitura dessa massa de dados e apresentará.
Essa fonte de dados será gerada a partir de um resultado de uma consulta ao BD.
Vale ressaltar que essa massa de dados pode ser imensa e ficará gravada em disco.
A princípio pensei que essa fonte de dados poderia ser um arquivo XML, pois seria fácil a manipulação do mesmo, tanto na geração, quanto na leitura para apresentar nas diversas views que poderiam ser criadas.
A minha dúvida é: o XML é uma solução interessante para este caso ou existem outras opções que seria mais otimizadas e também ser fácil para escrita e leitura? Estou aberto a sugestões para esta situação.
Valeu!
Renan
[/quote]
O buraco é mais embaixo, que tipo de visualização você tem que exibir ? De uma coisa você pode ter certeza, se a massa de dados for de um tamanho razoável, é inviável baixar tudo em XML ou JSON e manipular os dados na view.[/quote]
Esse é um ponto bem importante mesmo.
Eu havia entendido que era “apenas” extrair as informações e salvar em disco. Estamos falando em abrir esse arquivo posteriormente e manipular/extrair informações do mesmo ?
Se for, é como rmendes disse, o buraco é mais embaixo mesmo.[/quote]
Acredito também que a leitura seja qualquer ideia a ser adotada, consumo para leitura para manipular os dados na view tem um custo a ser considerado. A ideia é abrir essa massa de dados em views específicas a serem desenvolvidas, seja web ou desktop. Pensando por essa forma, não vejo se existe uma forma de evitar essa leitura, mesmo que custosa, dessa massa de dados. Ao invés de XML, talvez gravar informações serializadas eu teria um ganho considerável. Estou certo?[/quote]
Não. Se a massa de dados é grande:
1 - a chance de você não possuir memória suficiente para carregar todos os dados é grande
2 - mesmo que tivesse, a carga de dados do disco para a memória é uma operação lenta
3 - acessar seus registros sequencialmente em arquivo com certeza será muito lento
Até existe uma maneira de resolver estes problemas que eu listei acima, e adivinhe só, são justamente os bancos de dados que fazem isso.
Se você precisa de toda essa flexibilidade, o que você precisa na verdade é disponibilizar metadados para a view para que esta tenha condições de montar as consultas necessárias e baixar somente o resultado da consulta, ou uma página de resultados.