Ir para o conteúdo
  • Revista PROGRAMAR: Já está disponível a edição #60 da revista programar. Faz já o download aqui!

Palk

Flat Database files

Mensagens Recomendadas

Palk

Há uns dias para cá tenho vindo a investigar sgbd e as diferenças entre eles mas uma coisa que me intrigou é que a maior parte das grandes empresas de software não ligam a nenhuma delas e usam o seu próprio sistema de base de dados.

Muitas delas usam as tabelas partidas e cada uma em ficheiros .dat, suponho que sejam ficheiros de texto encriptados à sua maneira.

sendo ficheiros de texto como é que controlam e dão manutenção a eles? Em termos de adicionar, remover e editar esses ficheiros?

No load do programa metem toda a informação de cada .dat file dentro de dicionarios ou arrays e depois controlam apartir daí e no fim guardam a informação toda fazendo replace nos ficheiros? Ou será que funcionam de outra maneira?

Se alguem souber mais sobre esses .dat files agradecia e já agora corrijam se tudo o que eu disse não tem nada a ver com eles.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

Define: "maior parte das grandes empresas de software"

É que a "maior parte das grandes empresas de software" que eu conheço usam sistemas de SGBDs e não a sua própria base de dados interna em ficheiros de texto.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Baderous

Os flat files também podem ser usados para efeitos de base de dados, desde que tenham uma estrutura definida, veja-se o caso de muitos ficheiros presentes nos sistemas *nix como o /etc/passwd.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Palk

Define: "maior parte das grandes empresas de software"

É que a "maior parte das grandes empresas de software" que eu conheço usam sistemas de SGBDs e não a sua própria base de dados interna em ficheiros de texto.

Posso ter exagerado no 'maior parte das grandes empresas de software' mas não é isso que está em causa, as que eu conheço por acaso nenhuma usa sistemas próprios mas alguns programas que tenho vejo lá esses ficheiros, sejam eles software normal ou jogos

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

A utilização de flat files, tal como a utilização de um SGBD, dependerá bastante do projecto em questão. As diferenças são muitas, as implementações também, pelo que a vantagem ou a forma como são usados depende muito do projecto. No caso de utilização de ficheiros de texto ou ficheiros binários, que em Windows são tipicamente ficheiros com extensão .dat, embora não exista nada que defina essa extensão para esse objectivo, depende muito dos dados em questão.

Isto porque para serem úteis, a estrutura do ficheiro deverá ser tal que me permita facilmente obter os dados. Se são todos carregados para memória ou não, novamente depende da implementação, mas quer sejam todos carregados para memória ou quer se use um SGBD, existirá sempre uma representação interna dos dados, diferente daquela que está no ficheiro onde os dados são guardados.

A pergunta dá lugar a muitas respostas, era uma forma bastante comum para guardar dados à algum tempo atrás, actualmente, não se vê tanto em softwares novos a não ser que a equipa determine que esse tipo de ficheiros é mais vantajoso que um SGBD.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Palk

Até agora a única vantagem com os flat file, que eu considero vantagem, é o facto de não ser necessário ter que instalar drivers ou outras coisas para correr o SGBD.

Mas por outro lado hoje em dia ou esses drivers já vêm instalados, ou são obrigatoriamente instalados com updates ou na instalação do software é instalado.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
Knitter

As vantagens a nível de performance são notórias. Depois dependerá do projecto, se não é necessário um sistema distribuído, se os dados são muitos ou poucos, se estão estruturados de forma relacional ou se são apenas dados tipo chave/valor, enfim, os sistemas são diferentes e podem ou não ser adequados.

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites
M6

Não é verdade que as "grandes empresas de software" usem flat files encriptados como SGBD.

Isso usa-se, no máximo, para externalizar alguma informação como sejam configurações ou strings para internacionalização.

Também não é verdade que se tenha de carregar tudo para memória no arranque, isso depende da estratégia de quem implementou.

Se é necessário ter um SGBD interno, então não faltam soluções por ai, desde "file system in a file" (por exemplo Access) até uma bd ao lado da aplicação (por exemplo Paradox em aplicações Delphi).

Quando se necessita de um SGBD é porque é necessário muito mais do que ler e escrever alguma informação. Usa-se porque as leituras e as escritas são significativas, porque a pesquisa e a exploração de informação são importantes para a aplicação, porque a informação tem de ser partilhada com outras aplicações, etc..

Por exemplo, numa das minhas aplicações uso Derbi/Cloudscape, que é fantástico para quando é necessário ter um SGBD numa aplicação.


10 REM Generation 48K!
20 INPUT "URL:", A$
30 IF A$(1 TO 4) = "HTTP" THEN PRINT "400 Bad Request": GOTO 50
40 PRINT "404 Not Found"
50 PRINT "./M6 @ Portugal a Programar."

 

Partilhar esta mensagem


Ligação para a mensagem
Partilhar noutros sites

Crie uma conta ou ligue-se para comentar

Só membros podem comentar

Criar nova conta

Registe para ter uma conta na nossa comunidade. É fácil!

Registar nova conta

Entra

Já tem conta? Inicie sessão aqui.

Entrar Agora

×

Aviso Sobre Cookies

Ao usar este site você aceita os nossos Termos de Uso e Política de Privacidade. Este site usa cookies para disponibilizar funcionalidades personalizadas. Para mais informações visite esta página.