Dica de BD para uso de imagens!

Olá pessoal!

Irei desenvoler um software para “controle” de bonsai… Propus-me a desenvolver este software para contribuir no meu aprendizado em Swing(desktop) e para contribuir para a comunidade dos bonsaístas.
O sistema terá cadastros simples :
[list]Bonsai[/list]
[list]Manutenção[/list]
[list]Futuras Manutenções[/list]

O maior enfoque do projeto é o armazenamento de fotos dos bonsai.
A minha dúvida é qual BD utilizar. O bom seria um BD que tenha um bom suporte para armazenamento de imagens e que tenha suporte pelo hibernate.
Eu pensei no Postgres, mas achei q talvez fosse um tiro de canhão para matar uma mosca.
Eu nunca trabalhei com HSQLDB, mas pelo q vi achei ele legal. Alguém tem experiência com HSQLDB com imagens e Hibernate?
Alguém tem mais alguma sugestão?

Desde já fico grato

Uma sugestão:

Ao invés de gravar a imagem no banco, salve ela fisicamente no HD e no banco apenas grave o caminho dela.

Assim desafoga um pouco o banco de dados em relação a consultas.

Eu desenvolvi um sistema (na época em Delphi e banco de dados SQL Server) para um cartório, onde armazena dezenas de novas assinaturas por dia (foto tirada via webcam) e salva fisicamente o arquivo .jpeg no HD e o caminho no banco…
Já está rodando a mais de 5/6 anos sem problema algum.

Não salve as imagens no banco de dados.
Salvar as imagens no banco de dados pode lhe trazer segurança, mas é um custo muito alto, pois a perfomance do banco de dados cai bastante.
Eu fiz um sistema que armazenava arquivos no banco de dados, independente de ser imagem, e tive uma péssima experiência :?

Eu fiz um sistema que armazena imagen em banco de dados, apenas limitei o tamanho da imagem para 30k
ja faz um tempinho e não deu problema, na epoca que pesquisei sobre isso tive as mesmas reposta de armazenar em HD, mas
não gostei da ideia que qualquer um pode acessar essa pasta e fazer o que quiser com elas, foi o que eu imaginei para o meu problema.

abraço

obs.: o banco de dados Mysql.

eu prefiro salvar as imagens no banco, sim. a perda de performance é pouca comparada ao ganho com organização e integridade.

dica importantíssima:

crie uma tabela só para imagens.

ao invés de:

CREATE TABLE pessoa ( id INTEGER IDENTITY, nome VARCHAR(66), foto BLOB )
prefira:

CREATE TABLE imagem ( id INTEGER IDENTITY, descricao VARCHAR(50), conteudo BLOB ) ; CREATE TABLE pessoa ( id INTEGER IDENTITY, nome VARCHAR(66), imagem_foto INTEGER), FOREIGN KEY(imagem_foto) REFERENCES imagem(id) ON UPDATE CASCADE ON DELETE CASCADE );

Eu estava animado em usar o HSQLDB, mas pelo q percebi ele nao tem campo para imagem.
Estou engando ou é isso mesmo?

Fui pesquisar e achei um outro banco alternativo…
H2!

Ele tem campo blob e tem suporte no Hibernate

fonte : http://www.h2database.com/html/frame.html?tutorial.html&main

[quote=cleriston]Eu estava animado em usar o HSQLDB, mas pelo q percebi ele nao tem campo para imagem.
Estou engando ou é isso mesmo?[/quote]

tem sim. inclusive já postei aqui http://www.guj.com.br/posts/list/62178.java#329237 um exemplo.