[Cascavel-pm] Databases, SQL, e operadores "leigos" [Was: Como verificar se um registro já...]

Luis Motta Campos luismottacampos em yahoo.co.uk
Quinta Outubro 26 06:29:02 PDT 2006


Nilson Santos Figueiredo Junior wrote:
> Eu não quero ter pessoal especializado operando a base de dados.
> DBAs são desperdício de recurso na maior parte dos casos: você deve
> modelar corretamente seu banco de dados e ter as ferramentas corretas
> para utilizá-lo. Ter DBA é justamente coisa de quem usa Oracle: algo
> caro que não faz mais sentido nos dias de hoje.
> 
> Essa filosofia Oracle é a mesma do SAP, em que você precisa de um
> consultor SAP pra fazer as coisas. Não porque o trabalho é difícil,
> mas porque é tudo proprietário e "obscurizado" de propósito. Pra
> surgir essa idéia de que um profissional especializado nisso é
> necessário.

  Desculpe. Acho que existe um mal-entendido aqui.
  Não estou falando de ter pessoas "certificadas" trabalhando para você.
  Estou falando de ter pessoas "tecnicamente formadas e capazes"
trabalhando nos sistemas.

  E, do alto da minha pseudo-inútil carga teórica monstruosa, das suas
afirmações: eu não sei nada de SAP, mas o Oracle é implementação de
referência de base de dados em muitas coisas. Ele funciona direito e se
você RTFM e STFW por uns minutos, resolve 90% dos problemas sem precisar
de contratos mirabolantes de suporte ou ajuda de profissionais certificados.

>>   Essa coisa de ter versão para windows gratuita é mesmo inusitada.
>>   Agora, o MySQL 5.0 corrigiu definitivamente o problema de ter uma
>> interface de gestão de base de dados gráfica.
> 
> Corrigiu? Cadê? Porque aquelas ferramentas feitas pela própria MySQL
> são terríveis. Precisa de ferramentas third party.

  Você já usou alguma coisa da versão 5.0? Eu achei as ferramentas muito
boas, especialmente comparando com as /third/ /party/ que eu conheço.
Claro, posso estar olhando para a coisa de um ponto de vista muito,
muito, muito viesado e totalmente distorcido...

>>   Particularmente, eu acredito que quem compreende o programa (base de
>> dados) não se incomoda muito em usar linha de comando para administrar.
>> É muito mais uma questão de produtividade (às vezes ter interface
>> gráfica é bom, mas às vezes é uma merda) e de praticidade (ajuda
>> bastante os iniciantes).
> 
> Sinceramente, ontem me perguntaram e eu nem me lembrava mais de cabeça
> como se criava uma foreign key na mão. Isso é um conhecimento
> completamente inútil já que existem ferramentas que fazem isso pra
> mim, e fazer na mão gasta mais tempo do que usar as ferramentas, além
> de ser mais error-prone. Sem sentido, é um conhecimento que não vale a
> pena ter na mente. Se eu realmente precisar (duvido que isso vá
> acontecer), em 3-4 minutos vou na documentação do MySQL que descreve a
> sintaxe.
> 
> O importante é a idéia, não como fazer.

  Foi exatamente o que eu disse três parágrafos acima.
  Que bom que concordamos.

>>   O PostgreSQL é o RDBMS mais bem-construído do mundo open-source.
>>   E LENTO é o seu vovozinho :-D Sua base de dados (assim como um bom
>> motor Ferrari) precisa de /fine-tunning/ para funcionar em perfeitas
>> condições e dar o máximo de performance. Na dúvida, consulte sempre um DBA.
> 
> Qualquer coisa que não funcione razoabelmente bem out-of-the-box, não
> serve pra mim. Aposto que você também gosta de Slackware.

  Olha, eu falei do seu vovozinho respeitosamente.
  Agora, se você quer mesmo baixar o nível, vou meter logo a mãe de
alguém no meio... ;-)

  Não, eu gosto de Debian, nunca consegui instalar um Slackware do zero.

> E PostgreSQL é lento sim. É o mais lento dos Enterprise RDBMS (MSSQL,
> Oracle, etc) que são todos mais lentos que o MySQL ou SQLite (por
> motivos óbvios).

  Bom, eu não sei das suas experiências com bases de dados, mas as
minhas foram interessantes. Recomendo que você ande um pouco mais nesta
estrada para conhecer mais. ;-) Pode deixar você na mesma, e pode não.
Eu correria o risco, no seu lugar.

[Sequences, dependência para criar chaves auto-increment]
> Existir o recurso de sequences é algo ótimo, não é isso que estou criticando.
> Depende de sequeneces pra algo corriqueiro como um id auto-increment é idiota.
> 
> Os sistemas devem ser flexíveis pra fazer o que você bem entender,
> *porém devem possuir configurações padrões sãs visando o caso geral*.

  Nisto, eu estou de acordo.
  Você não quer submeter patches para o Postgres sobre isso?
  Acho as suas opiniões a este respeito muito interessantes.

>>   Por que é que na computação o pessoal acha que é possível fazer coisas
>> boas sem conhecimento, sem know-how, sem preparo e sem profissionalismo?
> 
> Administrar de forma simplificada um banco de dados não é exatamente
> algo que exija um PhD em nada. O crucial num banco de dados é a
> modelagem, não a administração.

  Eu discordo. Tudo o que tem uma quantidade de recursos limitada e
inferior à necessária para atender à finalidade proposta precisa de
administração.

  É por que não temos dinheiro o bastante para resolver todos os
problemas da cidade que temos prefeito;
  É por que não temos tempo o bastante para atender a todos os
compromissos que nos propõem que temos agenda;
  É por que não temos espaço o bastante em casa para guardar todas as
bugigangas que a gente junta na vida que temos esposa (eheheh);
  É por que (independente de quão bom seja o seu analista de dados) não
temos largura de banda, memória e processador o bastante para atender a
todas as perguntas enviadas ao banco de dados que temos DBA.

> Eu nunca vi uma empresa grande, que possua DBAs especializados, etc,
> que possua políticas sãs de modelagem e normalização de banco de
> dados. E eu falo de empresas *bem* grandes mesmo, renomadas.

  Sinceramente, eu também nunca vi.
  Mas não desisti, e continuo procurando.
  Em algum lugar, alguém vai fazer as coisas certas.
  Nem que seja eu a fazer e a construir esta "empresa grande".

  Não desista você também ;-)
  Putamplexos!
-- 
Luis Motta Campos
Senior System Engineer at Segula.FR
Hobbyist Cooker and Photograph


Mais detalhes sobre a lista de discussão Cascavel-pm