De que trata o artigo:

Este artigo tem como objetivo apresentar uma comparação de dificuldade de execução de tarefas semelhantes entre os bancos de dados SQL Server, Oracle, PostgreSQL e MySQL.


Para que serve:

A comparação apresentada neste artigo pode auxiliar aqueles que estão começando a trabalhar com um banco de dados específico e também fornece um guia valioso para quem está avaliando a necessidade de realizar uma tarefa em ambientes multibanco.


Em que situação o tema é útil:

Os profissionais que trabalham com bancos de dados em ambientes multibanco, ou seja, em locais onde há instalações do SQL Server, Oracle, PostgreSQL e MySQL convivendo juntos, podem encontrar neste artigo uma valiosa comparação da dificuldade de realização de tarefas comuns sob o ponto de vista de quem está começando na área.

Atualmente os principais bancos de dados relacionais utilizados pelas empresas são o SQL Server, o Oracle, o PostgreSQL e o MySQL, sendo os dois primeiros de código proprietário e os dois últimos de código livre. Estes bancos de dados são produtos que podem ser utilizados para, dentre outras tarefas, armazenar e retornar dados para as aplicações que interagem com eles como, por exemplo, sistemas ERP, sites da Internet e da Intranet, aplicativos de ponto de venda (PDV) e outros.

Devido à pressão do mercado e de seus usuários, estes quatro bancos de dados fornecem diversos recursos similares. Talvez o principal recurso que é suportado pelos quatro produtos seja a linguagem SQL, que é implementada de forma ligeiramente diferente em cada produto. De qualquer maneira, a execução e o suporte a diversas tarefas comuns acaba se tornando um commodity (ler Nota DevMan 1) e, não raras as vezes, o profissional precisa saber executar a mesma tarefa em bancos de dados diferentes. Este tipo de situação é comum em ambientes multibanco, ou seja, em locais onde há instalações do SQL Server, Oracle, PostgreSQL e MySQL convivendo juntos.

Nota DevMan 1. Commodity

Commodity é um termo de língua inglesa que, como o seu plural commodities, significa mercadoria. É utilizado nas transações comerciais de produtos de origem primária nas bolsas de mercadorias. Isto é, usada como referência aos produtos de base em estado bruto (matérias-primas) ou com pequeno grau de industrialização, de qualidade quase uniforme, produzidos em grandes quantidades e por diferentes produtores. No contexto utilizado neste artigo, commodity quer dizer uma funcionalidade ou recurso básico que todos os bancos de dados citados no artigo possuem.

Apesar de ser possível executar as tarefas comuns em diferentes bancos de dados, cada produto requer um nível de experiência diferente, isto é, existem diferentes níveis de dificuldade para a realização de uma tarefa semelhante no SQL Server, Oracle, PostgreSQL e no MySQL. Com base neste contexto, este artigo tem como objetivo apresentar uma comparação de dificuldade de execução de tarefas semelhantes entre estes bancos. Esta comparação pode auxiliar aqueles que estão começando a trabalhar com um banco de dados específico e também fornece um guia valioso para quem está avaliando a necessidade de realizar uma tarefa em ambientes multibanco. O artigo apresenta quais são os critérios de comparação de dificuldade, o contexto, quais são as atividades comparadas e também uma visão geral de como realizar cada atividade utilizada na comparação.

Definições e detalhes da comparação

Antes de começar a comparação da dificuldade na execução de tarefas comuns aos quatro principais bancos de dados, é preciso definir alguns conceitos e também explicar detalhes pertinentes à comparação. O primeiro detalhe importante que deve ser mencionado diz respeito a uma característica da própria comparação: a sua subjetividade. Isso quer dizer que, em geral, realizar uma comparação com certeza vai resultar em classificações subjetivas que variam de acordo com quem fez a classificação, uma vez que a percepção de dificuldade varia de pessoa para pessoa. Por exemplo: um grupo de pessoas pode achar difícil montar um cluster no SQL Server devido a vários motivos como a falta de experiência, indisponibilidade de recursos, dificuldade em compreensão de detalhes técnicos, etc. Por outro lado, algumas pessoas podem achar que a montagem deste cluster é algo fácil devido a fatores como o conhecimento detalhado, o número de vezes que já se repetiu tal tarefa, a facilidade na compreensão nos passos da tarefa, dentre outros.

Isto quer dizer que para compreendermos o resultado da comparação devemos observar a dificuldade através de um ponto de referência. Neste artigo a comparação e a atribuição do grau de dificuldade de execução das tarefas foram especificadas através dos olhos de um DBA Jr. Isso permite afirmar que os graus de dificuldade apontados foram indicados por alguém que está começando na área e que aprendeu faz pouco tempo a realizar a tarefa que está sendo avaliada. Deste modo, é possível contar com um ponto de vista que abrange a maioria das pessoas que desejam saber o quão complexo e difícil é executar determinada tarefa em certo banco de dados sem entrar nos detalhes da tarefa em si.

Outro detalhe importante da comparação é que as tarefas nem sempre são iguais, pois cada banco de dados possui recursos exclusivos e aspectos que os diferencia dos demais. Para simplificarmos este aspecto, vamos considerar tarefas cujos resultados são similares e que envolvem os mesmos conceitos. Adicionalmente, as tarefas comparadas realizam algo palpável e que faz parte das tarefas do dia-a-dia de um DBA e desenvolvedores que trabalham com desenvolvimento como, por exemplo, um backup, a importação e exportação de arquivos, a criação de objetos no banco de dados, etc. Apesar da comparação explicar os principais passos, comandos ou ferramentas utilizadas, não serão fornecidos detalhes específicos de como realizar a tarefa em si, ou seja, a comparação se concentrará nos aspectos que podem gerar maior ou menor dificuldade para quem está avaliando.

A comparação de dificuldade a ser apresentada envolveu o SQL Server 2008 R2, o Oracle 10g Release 2 (10.2), a versão 5.5 do MySQL e a versão 8.4 do PostgreSQL. Não há distinção de sistema operacional e plataforma, uma vez que a dificuldade na execução das tarefas comparadas raramente depende de recursos específicos destes elementos. As edições dos bancos de dados (Express, Enterprise, Developer, etc.) não foram detalhadas, pois a comparação levou em consideração apenas a dificuldade na execução das funcionalidades independente da versão do banco de dados. Apenas os recursos oficiais foram considerados, ou seja, ferramentas de terceiros não entraram na comparação. Contudo, em alguns casos foi preciso levar em consideração projetos de código livre suficientemente populares para serem considerados como uma funcionalidade do próprio banco de dados.

...
Quer ler esse conteúdo completo? Tenha acesso completo