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

André Garcia Carneiro andre.garcia.carneir em terra.com.br
Quinta Outubro 26 07:01:01 PDT 2006


---------- Cabeçalho original -----------
 
> 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.

Obviamente você está muito mal informado a respeito dos recursos do ORACLE. Ele é muito mais do que um simples
RDBMS, tem ferramentas que você jamais sonharia com um MSSQL da vida, logo é necessário alguém com bons
conhecimentos dessas ferramentas, para aproveitar o máximo possível delas, sendo você essa pessoa ou não.
Agora, tudo depende da necessidade. Se você não tem interesse em usar recursos como o "FLASHBACK" ou "RMAN" do
ORACLE por exemplo, claro que não faz sentido gastar de 5 a 10 mil reais(no mínimo) numa licensa e,
provavelmente, mais uns 4 ou 5 mil(ou até mais) reais por mês para manter um DBA.
 
> 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.

Novamente. Você parece muito, mas muito mal informado sobre o ORACLE. Antes de cirticar alguma coisa, procure
saber mais sobre essa coisa. Acredito que isso aconteça, por causa do seu "espírito prático", o que muitas
vezes ajuda em tarefas que de fato não exijam conhecimento técnico, mas na maioria das vezes falha quando a
coisa complica um pouco que seja, logo é necessário conhecimento técnico para compensar isso. 

> >   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.

Olha, tem versões novas de ferramentas para Linux e Windows do MySQL, o MySQL_GUI Tools. Claro que existem
ferramentas melhores, mas no caso do Oracle e de todos os RDBMS isto também é um fato, ou seja, as ferramentas
para gerenciar o banco de dados acabam deixando a desejar. Digo isso pois tive um contato recente com a
interface gráfica(web) do Oracle 10g. Achei um lixo! Muitos bugs e pior, feito em JAVA, que torna tudo mais
lento. No caso do Postgres já não tenho contato com isso a algum tempo. Mas as ferramentas também eram bem
ruins. No caso Microsoft, não tem como ter outras ferramentas, já que é tudo fechado, se a ferramenta é uma
porcaria, 'too bad'!

> 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.

Bom, se você não se lembra nem disso, é melhor continuar usando o seu MSSQL mesmo... :) Brincadeira. As vezes
não é necessário saber isso mesmo, concordo. Principalmente nas coisas de rotina como criar uma FK. No entanto
ferramentas gráficas raramente são completas. Para o que falta é necessário saber fazer sem a ferramenta
gráfica. E se você precisar corrigir um script na mão? Como vc faz isso sem saber PL/SQL??? Refazer um índice,
por exemplo? E mais. Se a ferramenta estiver fazendo algo que no final gera um desempenho ruim? Como você pode
avaliar isso, se você não souber como a ferramenta está gerando isso para vc??? Pense nisso...
 
> O importante é a idéia, não como fazer.

Concordo em parte. Se você tiver alguém que saiba fazer(DIREITO) e que você possa contar com essa pessoa, até
passa. Agora se isso é crítico no seu trabalho e você não sabe fazer, o que você disse não faz o menor sentido,
ou talvez tenha sentido para marketeiros :).
  
> 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.

Bom, então sinto dizer, mas você está condenado a pagar licensas e sofrer por problemas bizarros oriundos de
programas Microsoft pelo resto de seus dias... :) 

Existem ferramentas melhores que estas com certeza. ORACLE e Postgres são ótimos exemplos. Tudo depende de
quanto tempo, dinheiro, dos caminhos que você escolher(no seu caso parece óbvio que é via Microsoft), e
principalmente vontade de aprender e de evoluir profissionalmente você tem. Se você se satisfaz com o esquema
de trabalho atual em que você se encontra, não há nada que possamos dizer aqui que vá lhe convencer do
contrário. E se você realmente consegue produzir de maneira rápida e eficiente do modo como está, e está feliz
com isso, então não há realmente porque mudar. 
 
> 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).

Como o Champs disse antes, o Postgres é lerdo se você não configurar direito, assim como o ORACLE, assim como o
MySQL inclusive. Agora você não parece disposto a tentar, então não tem milagre.
 
> 
> 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.

Olha o Postgres implementa autoincrement tá... não chama auto_increment,  e eu não me lembro direito como faz,
mas eu usei inclusive. Ele age da mesma maneira que o MySQL, ou seja, gera a sequence para você.
 
> 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*.

Todas as ferramentas que você criticou são infinitamente mais flexíveis do que as ferramentas da Microsoft.
Tanto na configuração, quanto no modo de implementar as coisas. No Postgres, por exemplo, você pode escolher
até linguagem na qual produzirá a suas store procedures(C, Perl, Pascal, PosgresPL/SQL.); já no Oracle, só a
parte de backup tem umas trocentas e tantas maneiras para você fazer. Com Flashback, só com export etc, n
ferramentas de monitoramento de desempenho etc etc etc. 

Quanto ao simples de entender, eu concordo. Mas até surgir uma ferramenta com um equilíbrio dessas coisas,
teremos que "dançar conforme a música". Microsoft não faz isso.... os produtos são fáceis de usar, mas nada
confiáveis, muito menos flexíveis.


> Fazer programas de computador não. Criar uma tabela no banco de dados
> ou fazer uma query não é fazer um programa é *usar* um programa (no
> caso, o RDBMS).

Por favor diga o nome da sua empresa para eu me lembrar de nunca indicar softwares dela....

> 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.

Novamente, depende dos seus objetivos, aliados com a sua vontade, e recursos. Se você está feliz do jeito que
está, ótimo para você. Mas sem conhecimento técnico mínimo, é muito difícil de sair coisa que preste,
principalmente administrando bancos de dados.

> 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.

Hospital do Rim e Hipertensão, onde eu trabalho é uma delas, a IBM faz(você disse grande), a própria Microsoft
faz. Você pegou num ponto ruim para fazer essa crítica. Quanto maior a empresa, mais necessidade de políticas
são necessárias.

Para terminar, não me entenda mal. Não sou nenhum "gurú" como o Champs, só acho que você deveria ler mais a
respeito do que você critica antes de criticar. As ferramentas que você criticou são "sacramentadas" a décadas,
e estão muito mais "maduras" do que as ferramentas que você usa.  Logo é razoável pensar que deve haver mais e
melhores recursos, mesmo que você não saiba como usar. Se você não sabe como configurar e usar, só há dois
caminhos: procurar saber, ou contratar alguém que saiba, fora isso não tem milagre que faça as coisas
acontecerem, e com certeza a solução pra isso não está em nenhum dos produtos da Microsoft. 



Cheers!






> -Nilson Santos F. Jr.
> _______________________________________________
> Cascavel-pm mailing list
> Cascavel-pm em pm.org
> http://mail.pm.org/mailman/listinfo/cascavel-pm
> 
> E-mail classificado pelo Identificador de Spam Inteligente Terra.
> Para alterar a categoria classificada, visite
>
http://mail.terra.com.br/protected_email/imail/imail.cgi?+_u=andre.garcia.carneir&_l=1,1161865987.633471.6634.vacoas.hst.terra.com.br,8680,Des15,Des15
> 
> Esta mensagem foi verificada pelo E-mail Protegido Terra.
> Scan engine: McAfee VirusScan / Atualizado em 25/10/2006 / Versão: 4.4.00/4881
> Proteja o seu e-mail Terra: http://mail.terra.com.br/
> 
> 

--
André Garcia Carneiro
Developer(Perl/PHP)
Member of "São Paulo Perl Mongers" - http://sao-paulo.pm.org



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