Banco de dados

6 respostas
S
  1. Um dia ouvi dizer que quanto menos tempo deixarmos a conexão com o BD melhor… é verdade? se for, porquê?

  2. Eu posso “deixar” a senha do banco de dados no código mesmo ou tem algum modo mais seguro de se fazer isso? (Por exemplo: tenho que “deixar” a senha do banco de dados quando crio uma nova conexão).

  3. Criar pool de conexões para o BD aumenta a performance? Como eu o implemento? Algum tem algum site falando sobre isso?

Obrigado.

6 Respostas

raci0nal

Expressando a minha opinião:

  1. Para uma conexão estar aberta, no mínimo existe uma comunicação entre “cliente” e “servidor” para saber se os dois estão “vivos” (famoso Ping e Pong) isso gera um tráfego na rede (é pouco, mas gera).
    Também depende do seu SGBD… qual a performance dele com várias conexões ativas, etc.
    Logicamente é tudo uma questão de bom senso, se você gasta mais de um certo recurso para efetuar uma conexão do que para manter uma ativa, não tem porque ficar desconectando e reconectando. Ou se o sistema precisa de conexões o tempo todo, também…
    É tudo uma questão de análise da situação.

  2. Um método bom é o usuário fazer o login no seu sistema através de um próprio usuário criado no seu SGBD.
    Você passa os dados na string de conexão de um DriverManager, por exemplo.
    Se o SGBD possui (e os consideráveis possuem) recurso de gerenciamento de usuários, use de lá mesmo… com permissões em tabelas e tal…
    É lógico que também é uma questão de situação, se no sistema não fizer sentido o usuário precisar de uma senha para usá-lo, aí você pode deixar a senha de conexão com o SGBD estática no código.

  3. Essa eu passo. rs

Abraços,

Marcos A. C. Jordão’’

S
  1. Cara, e tu sabes como fazer esta análise da situação?

  2. Continua de pé :).

Muito Obrigado ;).

raci0nal

Em um ambiente corporativo (grande) esta seria uma decisão que envolveria:

  • O Gerenciador da Rede (para verificar o tráfego);
  • O DBA (para verificar a performance do SGBD) e;
  • O Analista (para definir a viabilidade da implementação).

Agora em um ambiente isolado (o que é mais comum) onde uma mesma pessoa tem que cumprir o papel de todos esses profissionais, ele deve verificar essas três testes com as duas situações: manter a conexão aberta ou abrir e fechar quando necessário.

Aproveitando para entrar em uma questão mais “ideológica”, a meu ver, é por isso que geralmente os programadores são mais versáteis.
Em geral eles tem (e conseguem) que atuar como Analista, DBA e Programador.
Já os Analistas poderiam não conseguir ser DBAs e menos ainda programadores; e DBAs poderiam não conseguir codificar.
Talvez seja por isso (pela especialização) que eles ganham mais do que (nós) programadores… unf

H

Caro,

  1. Não é a melhor explicação mas acredito que seja o suficiente para você entender um pouco.

O pool de conexões tem o objetivo de ser uma parte da aplicação responsável pelo gerenciamento de conexões com o banco de dados. Com isso você não precisará criar/fechar conexões sempre que precisar e sim solicitar uma conexão para o pool.
O pool cria as conexões de acordo com a demanda, porém as conexões criadas são “ouvidas” e quando são descartadas são mantidas e disponibilizadas para outras requisições, ou seja, já economizamos dois eventos, de fechar e abrir uma nova conexão.
No pool é definida uma quantidade máxima de conexões e quando todos estão em uso, qualquer solicitação fica na fila de espera, aguardando que uma conexão seja liberada.

Isso é apenas uma resumo pois existem muitas características em pool de conexões que podem ser usadas de acordo com a sua necessidade.

Sobre a implementação, você mesmo poderia criar uma do zero mas acredito que não seja seu interesse mesmo pq no mercado existem bibliotecas prontas para desenvolvimento de um pool.

A Apache tem uma biblioteca chamada DBCP para de pool de conexões que é utilizada no Tomcat.

Outra alternativa é você usar o pool de conexão do próprio servidor de aplicação, assim vc não se preocupa com a implementação e sim apenas com a requisição e liberação da conexão para o servidor.
Consulte a documentação do servidor que vc utiliza.

T+

J

Pessoal, faço Tec. em desenvovimento de sistemas e sou novo nessa área, bem… gostaria de saber se alguém tem como me explicar como é que eu faço para usar o B.D Mysql com o NetBeans, tipo:

Criar conecção com o B.D, e poder usar os comandos: **Incluir, Alterar, deletar, pesquizar, etc.

Funcionaria assim Ao clicar num determinado botão de uma determinada Janela acionaria os comandos(** Ver ), e salvaria no B.D.
Consegui o Drive para Mysql…

OBS: Tenho conhecimento de B.D(Modelagem).

Agradeço Antecipadamente:

Att: Adriano

raci0nal

Adriano, não sou moderador, mas…

1 - Este tópico tem uma pergunta, então você não deve colocar outra no meio dele, mas sim criar um novo tópico.
2 - Antes de criar o novo tópico procure no Forum se já não existe.

Pra não dizer que eu sou só chato:
Introdução ao JDBC

Se quiser me mande uma MP que eu tenho um exemplo com MySQL.

Criado 27 de junho de 2007
Ultima resposta 29 de jun. de 2007
Respostas 6
Participantes 4