Skip to content


Bancos de dados já são commodities?

Nos últimos meses trabalhei em uma boa diversidade de projetos, no trabalho, em projetos pessoais e artigos. Sem motivo nenhum especial, lidei nestes projetos com uma boa variedade de servidores de bancos de dados.

A maioria das coisas que faço no trabalho envolvem o Oracle, mas nos projetos pessoais utilizei o SQL Server, Postgresql, MySql e o Derby. 5 produtos diferentes, cada um com suas particularidades. Este convívio com diferentes bancos de dados me permitiu uma boa análise do momento em que já estamos em relação ao uso dos mesmos.

Na prática, basicamente o que mudava para mim de um BD para o outro era saber qual ferramenta de administração que eu deveria utilizar e qual driver jdbc precisaria baixar. Nos casos em que a camada de persistência era com jdbc diretamente (em vez de mapeamento objeto-relacional), eu precisava também prestar um pouco de atenção com pequenas diferenças na sintaxe SQL de cada um.

Algo que me chamou a atenção quando parei para pensar sobre isso foi que para a maioria dos projetos, qualquer servidor de banco de dados que eu utilizasse me atenderia sem problemas. Em termos de funcionalidades, o que eu preciso em um banco de dados não é nada sofisticado. Eu gosto de tratar do SGBD como um repositório confiável e eficiente para persistência de dados. Prefiro deixar toda a inteligência da aplicação fora do BD. O que eu espero de um bom servidor de BD é que ele mantenha os dados íntegros, ofereça recursos de restrições de integridade, índices, sub-queries e mais algumas funcionalidades nada extraordinárias.

Como falei, não gosto de colocar inteligência no banco de dados, então descarto o uso de stored procedures, triggers e coisas do gênero sempre que possível. A maioria dos SGBDs atuais suporta todos estes recursos que mencionei. Para a maioria das aplicações que desenvolvemos, o Oracle, Sql Server, DB2, Postgres ou MySql sem dúvida servem tranqüilamente. O conjunto de aplicações que tem acessos suficientes para derrubar qualquer um destes servidores é muito pequeno. Se na maioria dos casos qualquer SGBD serve, será que já podemos considerar os bancos de dados como commodities?

É claro que existem aplicações nas quais as exigências sobre o banco de dados são muito críticas. Alguns sistemas usam intensamente o servidor de banco de dados e possuem tabelas com milhões de registros que precisam de uma indexação muito eficiente. Embora talvez seja possível usar perfeitamente o Postgres e o MySql nestes casos, eu tomaria uma postura mais conservadora e só adotaria um dos 2 após diversos testes de carga sobre a aplicação usando eles.

Da mesma forma que existem aplicações que precisam de um servidor de banco de dados extremamente robusto, existem aplicações nas quais a praticidade de uso é o requisito mais importante. Temos por exemplo casos em que utilizar o Derby ou HSQLDB no modo embedded podem ser muito convenientes. É claro que o Derby e o HSQLDB não agüentam a mesma carga que os outros servidores mencionados. Todavia, a capacidade de empacotar o banco de dados dentro da sua aplicação pode ser muito conveniente, e nestes casos o Derby e o HSQLDB não poderiam ser substituídos por nenhum outro desta lista.

Nos casos em que os requisitos de banco de dados não são convencionais, algumas opções podem se mostrar muito mais adequadas do que outras. Entretanto, na maioria das aplicações, a troca de um produto pelo outro não fará muita diferença. Os recursos que realmente precisamos a maior parte do tempo estão disponíveis na maioria dos produtos.

A forte competição imposta pelos BDs open source fez com que os SGBDs comerciais passassem a oferecer versões gratuitas de seus produtos, com algumas limitações de uso. Para enfrentar este novo desafio, o Postgresql e o Mysql foram investindo cada vez mais esforço em seus produtos e hoje já têm uma ampla gama de recursos que antigamente só víamos em produtos comerciais. Com esta evolução do mercado, temos um largo leque de opções para escolher e estimo que em 90% dos casos, qualquer uma das opções atenderá plenamente.

Na minha opinião, isto já é suficiente para classificar os bancos de dados como commodities, na maioria dos casos. Já podemos ir na farmácia e pedir pelo genérico ;)

Posted in posts em português.

Tagged with , , , , , , .


2 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

Continuing the Discussion

  1. Postgresql x Mysql: a diferença que faz uma estratégia correta « Bruno Pereira linked to this post on 30/04/2008

    [...] estratégia. Banco por banco, sou mais o Postgres, embora eu considere que em boa parte dos casos, qualquer banco atende aos requisitos. Mas porque então o MySql ganhou bem mais adoção do que o [...]

  2. Bruno Pereira » Blog Archive » Postgresql x Mysql: a diferença que faz uma estratégia correta linked to this post on 29/06/2008

    [...] estratégia. Banco por banco, sou mais o Postgres, embora eu considere que em boa parte dos casos, qualquer banco atende aos requisitos. Mas porque então o MySql ganhou bem mais adoção do que o [...]



Some HTML is OK

or, reply to this post via trackback.



  • vitamin c online
  • pharmacies open 24 hours
  • products diet
  • new antibiotic drug
  • blood pressure information
  • arm muscle pain
  • maxalt dosage
  • natural acne products
  • viagra buy viagra
  • vitamin b-12
  • osteoporosis medicines
  • birth control options
  • viagra cialis levitra
  • calcium carbonate powder
  • care of cat
  • buy cheap cialis without a prescription
  • gout medicines
  • cytotec tablets
  • herbal breast enhancers
  • malaria africa drug
  • viagra cheap buy online
  • herpes drug
  • no prescription propecia
  • buy now viagra
  • simple remedy obesity
  • chronic snoring
  • generic compazine
  • neck pain relief
  • cheap generic medication wal-mart
  • body detox
  • edema treatment
  • knee arthritis
  • how viagra woirks
  • natural arthritis cure
  • new cholesterol guidelines
  • male enhancers
  • overdose klonopin
  • claritin pill
  • how to treat your pets
  • buy online viagra viagra
  • dog ear problem
  • taking zoloft
  • rhinocort spray
  • meds to stop smoking
  • natural muscle and joint health
  • help for psoriasis
  • neck pain relief
  • viagra fedex
  • ultram ordering
  • viagra young
  • side effects of antibiotics
  • cialis free samples
  • breast enhancements pills
  • menopause hair loss
  • cholesterol cures
  • chronic pain management
  • chronic pain
  • dog skin care
  • nolvadex buy
  • drugs fda
  • erectile dysfunction cure
  • order topamax online
  • citalopram withdrawal
  • back pain pills
  • skin disorders in dogs
  • current flu virus
  • free topamax
  • steps to help prevent flu
  • generic drugs
  • blood pressure drug names
  • buy cheap cialis
  • discount online pharmacy
  • male health problems
  • ear infections remedy
  • control premature ejaculation
  • discount pet products
  • scabies treatments
  • vascular edema
  • buy 10 mg cialis
  • pharmacy for pain medications
  • treatment of the flu
  • zantac dosage
  • boost immune system against virus
  • medications for nausea
  • women insomnia
  • buy medication on line
  • nausea vomiting
  • herpes medications to buy
  • high systolic blood pressure
  • treatment of insomnia
  • ramipril capsules
  • asthma and allergies
  • levitra best price
  • fluconazole
  • how to relieve ear pain
  • side effects soma
  • lasix on line without a prescription
  • canadian carisoprodol
  • getting off pain pills
  • ativan canada
  • how to get prescribed pain killers
  • side effects of amoxicillin
  • anti smoking drugs
  • about sleep aid
  • sleeping problems uk
  • tamiflu orders
  • cipro 250
  • latest cure for aids
  • order finasteride
  • weight loss sites
  • cat's health
  • order folic acid online
  • synthroid cost
  • levitra doses
  • top acne products
  • pet medicine
  • drugs that treat high blood pressure
  • celebrex buy online
  • diet medication
  • cholesterol drug
  • antibiotics dental
  • stress relief pills
  • coumadin medication
  • propecia without prescription
  • where can i order phentermine online
  • dark spot on skin
  • phentermine online
  • diabetes meds
  • pill zocor
  • natural lower blood pressure
  • mail order pain medications
  • xanax by mail
  • generic cialis
  • healthy weight loss supplements
  • discount drug prescription
  • soma price
  • buspirone dosage
  • rheumatoid arthritis and pregnancy
  • helping high blood pressure
  • cheap online pharmacy tramadol
  • cheap birth control online
  • herbal diet pills
  • viagra price online
  • viagra online no prescription
  • alzheimers drugs
  • male health drugs
  • canada cialis online
  • cholesterol meds
  • antidepressant medicine
  • prostate cancer treatment canada
  • symptoms of heart failure
  • buy xanax online buy
  • bayer's impotence
  • buying cialis online
  • nexium health
  • buy cod soma
  • international online pharmacies
  • protonix generic
  • cholesterol pills
  • treat arthritis
  • zyban canada
  • dog health help
  • healthy dog puppy food
  • drugs for type 2 diabetes
  • buy topamax
  • free treatment for pets
  • cheap soft viagra
  • how to increase breast size tips
  • pregnancy high blood pressure
  • paxil for anxiety
  • drugs high blood pressure
  • health problems in dogs
  • healthy pet treat
  • levitra web sites
  • viagra superactive
  • calcium osteoporosis
  • big muscles
  • meclizine medication
  • cure for irritable bowel syndrome
  • i want to give up smoking
  • prescription weight loss diet pill
  • treatment of congestive heart failure
  • buy cialis delived next day
  • dosage for amoxicillin
  • muscle building tips
  • carisoprodol
  • viagra free sample
  • prescribed diabetes medications
  • high calcium in the blood
  • skin disorders site australia
  • drug sarafem
  • on-line pharmacies
  • arthritis of the back
  • women insomnia
  • generic for ativan
  • high cholesterol
  • medical weight loss
  • buy body building prescription
  • pet drug store
  • way to improve skin