Banco de dados post

Pessoal, bom dia.

Tudo bem ?

Estou com uma dúvida em relação a uma base de dados referente a inserção e recuperação de imagens.

Temos três tabelas em princípio e uma delas contêm muitas imagens. Sabe(m) me informar se o post 9.4 aceita muitos TB de imagem ?

Se nas projeções (selects) referentes as imagens ficaram lentos ao trazer estes dados?

Obs.:estamos utilizando o HikariConfig, Java, Post 9.4 e JSF ?

Desde já, muito obrigado

Bom dia.

Alguém, favor ?

cara conselho de quem ja teve 6 milhões de fotos em 7 resoluções diferentes em um banco de dados Oracle:

não salve imagens no banco de dados.

salve em disco.

vc não vai se arrepender

Apenas complementando a resposta do companheiro acima, a maior parte dos desenvolvedores evita fazer isso (salvar imagens no bd), pois geralmente o custo de espaço em banco de dados costuma ser muito maior que o custo de storage.

não apenas isso. o banco vira um gargalo rapidinho se vc começar a transferir imagens ( que geralmente tem muito mais bytes do que o conteudo textual de outras tabelas.

a unica explicação é o caso de vc não ter um storage compartilhado entre seus servidores. o que no ano de 2018 é uma coisa rara.

ou legado

1 curtida

Concordo.

Justamente o que estamos pensando.
Sendo que implementamos os dois.

Vamos sentar e definir novamente. Sei que é custoso “guardar” imagens em base de dados.
E sei que o Post aceita muitos bytes de imagem.

Iremos analisar está devida situação. Pois as imagens serão enviadas para cada cliente.

E @FearX, muito obrigado por complementar.

Só uma observação. Estamos utilizando o Post 9.4.

https://blog.2ndquadrant.com/postgresql-maximum-table-size/

Abraço e fiquem com Deus e desde já, muito obrigado !

1 curtida

Seu projeto enviava e o cliente, “tipo” selecionava as fotos e você recebia ela novamente?

Abraço !

faça um benchmark. tem ferramentas como o Jmeter que podem elucidar essa questão.

agora o q é dificil de demonstrar é o comportamento do banco CHEIO ao longo do tempo. a performance costuma degradar um pouco.

sem falar na questão do lock da tabela para inserir: na pratica vc vai salvar uma imagem por vez. para salvar o banco usando 2-phase commit vai esperar q todos os nós ( se vc estiver usando um cluster ) respondam q salvaram a imagem.

eu não lembro se isso pode acontecer no Postgres.de uma lida na documentação:

Muito obrigado pela informação.
Irei ler, sim !

Na prática são “n” fotos, para vários clientes.

Infelizmente ainda não existem nós escravos ou até mesmo, nuvem para está situação.

Mas já estou lendo, o artigo mencionado.

Irei deixar o tópico em aberto, por enquanto.

Deus te abençoe !