Banco de Dados - Arquivos

Olá,

Estou querendo fazer um banco de dados para armazenagem de arquivos.
Alguém tem alguma dica?

Estarei armazenando arquivos .txt.
Utilizaria o tipo byte.

Alguém tem alguma dica inicial para isso? Tamanhos de arquivos. Tipos de variáveis para o banco etc?

Grt

O que você quer fazer exatamente? Quando diz “fazer um banco de dados”, a que se refere?

  • você quer usar um sistema de bancos de dados já existente para armazenar dados (ex: SQLite, Postgree, MySQL) ou;
  • você quer criar um sistema que grave e leia dados de arquivos simples (ex: txt), como se fosse um banco de dados

Pro segundo caso, você pode usar formatos como xml ou json, e usar bibliotecas para facilitar a leitura e gravação, ou usar serialização e gravar objetos java diretamente em arquivos. Se forem informações simples (ex: sequências de números ou textos), pode simplesmente usar leitura e gravação de arquivos de texto, lendo e gravando linha por linha (ex: Gerando e lendo arquivo txt com java · GitHub e Leitura e Escrita de Arquivos em Java ).

Abraço.

Olá,

Tenho interesse em armazenar em banco de dados, além do filesystem.
Tenho interesse em armazenar videos também como .wav etc.

Estarei criando uma base de dados mysql. Porém nunca criei um banco de dados que usava arquivos com .wav ou .txt. Alguma dica?

Grt.

Me parece que teu objetivo eh aprendizado. Sugiro contribuir para o projeto open source do SQLlite ou outro banco de dados de sua escolha.

Amigo, sua mensagem não faz muito sentido. O banco de dados usa o Filesystem e a extensão do arquivo de sua informação não tem influência em como o banco armazena internamente. Sugiro estudar/revisar conteúdo sobre fundamentos da computação.

Armazenar arquivos em um banco de dados relacional normalmente não é uma boa ideia, pois você perde praticamente tudo o que o SGBD tem a te oferecer na questão de consultas e desempenho. O normal é armazenar o arquivo no sistema de arquivos do servidor que será mais rápido, além de ser feito para isso e, no banco de dados, armazenar uma referência à aquele arquivo, como, por exemplo, o nome ou caminho absoluto usado para salvá-lo. Ainda, se quiser permitir que os arquivos sejam “consultados”, você pode associar uma série de palavra-chave/hashtags/metadados/etc aos arquivos -isso na tabela que você armazena a referência ao arquivo ou em outra tabela relacionada à tabela de referências-, assim você pode realizar consultas por esses dados.

1 curtida

Ok.

Então não seria uma boa ideia criar uma tabela arquivos com campos para armazenar eles via byte.

Ok.

Não concordo que se assuma que “não é uma boa ideia”. Há prós e contras para ambas as situações.

Se o ficheiro faz parte do detalhe de um registo, então porque não poderá ser um BLOB na BD? Facilita o backup dos dados e não desacopla o ficheiro do seu registo pai.

Se, por outro lado, performance for um problema, podes ter só o caminho do ficheiro num VARCHAR e ter o ficheiro no filesystem. Neste caso, é importante que os mecanismos de backup também cubram a diretoria do filesystem onde estão os ficheiros. E é importante garantir que o nome com que os ficheiros são gravados no filesystem é único.