O mundo do big data está se expandindo rapidamente. Empresas grandes e pequenas estão lutando para gerenciar as informações sob seu comando. Esses dados incluem números de vendas, estatísticas de campanhas de marketing, preferências e comportamento do cliente e muito mais. Escondidos nesses dados estão muitos insights potencialmente valiosos que podem ajudar sua empresa e seus funcionários a ter um desempenho melhor.

Banco de Dados Oracle ou SQL ServerDe acordo com uma pesquisa de 2016 da HubSpot, uma organização de médio porte agora supervisiona 163 terabytes de informações. Espaço suficiente para armazenar 40.000 filmes em DVD.

Para as empresas que crescem e escalam, encontrar a melhor maneira de lidar eficientemente com essas informações é um desafio. A maioria das grandes empresas tradicionalmente armazenam seus dados em um sistema de gerenciamento de banco de dados relacional (RDBMS).

O Microsoft SQL Server e o Oracle Database são duas das opções mais populares e testadas pelo tempo para o gerenciamento de banco de dados relacional em grandes empresas. Como elas são alternativas muito fortes, a escolha entre o SQL Server e o Oracle nem sempre é fácil. Você precisará de uma análise detalhada dos recursos de cada um, além de suas metas e necessidades como organização.

Neste artigo, veremos tudo o que você precisa saber ao comparar o Oracle com o SQL Server. Começaremos com uma visão geral dos bancos de dados relacionais e discutiremos os fatos sobre as duas alternativas e os prós e contras de usá-las.

O que é um RDBMS??

Diferentes tipos de bancos de dados possuem seus próprios métodos de organização e conexão de informações. Um sistema de gerenciamento de banco de dados relacional (RDBMS) usa o conceito de bancos de dados relacionais para gerenciar os dados.

Bancos de dados relacionais são bancos de dados que organizam informações em tabelas com colunas e linhas. Especialistas em big data referem-se a essa abordagem como modelo relacional.

Familiarizado com aplicativos de planilha, como o Microsoft Excel? Você já tem uma boa ideia de como é o modelo relacional. O Excel não possui o desempenho e a sofisticação de um banco de dados relacional verdadeiro. No entanto, como em um banco de dados relacional, o Excel usa linhas e colunas para armazenar informações em tabelas.

Exemplo: banco de dados de clientes

Digamos que você queira armazenar dados sobre os clientes da sua empresa. Esses dados incluem o nome e as informações de contato, além de informações de compras que estão realizando.

Existem várias maneiras de organizar informações no modelo relacional. Por exemplo, uma tabela pode conter as informações pessoais dos clientes. Você também pode ter uma tabela para os produtos e categorias de produtos oferecidos na sua loja.

A tabela “Clientes” terá colunas como:

  • nome
  • datadenascimento
  • endereco
  • numerodetelefone
  • CPF

Cada coluna pode conter apenas um tipo de dado especificado, como um texto, um número inteiro ou uma data. Cada linha da tabela contém as informações de um cliente diferente.

Vamos supor também que temos uma tabela venda_parcelada. Esta tabela contém informações sobre todos os clientes que fizeram uma compra parcelada.

Observe que os clientes podem ter o mesmo nome e sobrenome, mas não o mesmo número de CPF. Isso significa que devemos usar o campo CPF para identificar exclusivamente os clientes, não seus nomes.

Além da coluna CPF, a tabela venda_parcelada também pode ter colunas para registrar a data do pagamento da parcela, se a parcela foi paga ou não, e os juros que foram pagos.

SQL

Quase todos os sistemas de gerenciamento de bancos de dados relacionais usam SQL (Structured Query Language), uma linguagem específica de domínio para armazenar, acessar e manipular informações armazenadas em bancos de dados relacionais.

Consultas SQL são comandos que obtêm informações de um banco de dados relacional. Em geral, as consultas SQL básicas usam três cláusulas: SELECT, FROM e WHERE.

  • SELECT especifica as colunas que você deseja receber nos resultados.
  • FROM especifica a tabela que você deseja consultar.
  • WHERE especifica as condições que cada entrada na tabela deve atender para aparecer nos resultados.

Suponha que você queira os CPFs de clientes de todos os clientes com vendas parceladas, que possuem parcelas maiores que 200 Reais. A consulta SQL correspondente seria semelhante a:

SELECT CPF

FROM venda_parcelada

WHERE valor_parcela > 200;

Essa consulta pesquisa a coluna valor_parcela na tabela venda_parcelada para localizar entradas superiores a 200. Em seguida, ele retorna a entrada correspondente na mesma linha sob a coluna CPF.

Se você quiser todas as informações sobre todos os alunos matriculados na universidade, você pode usar a consulta SQL simples:

SELECT *

FROM cliente;

A palavra-chave asterisco * seleciona todos os campos no banco de dados. Observe que a cláusula WHERE é opcional neste exemplo.

Bases de dados relacionais vs. não relacionais

Bancos de dados relacionais são o paradigma mais comum para organizar grandes quantidades de informações. No entanto, eles não são de forma alguma o único.

Os bancos de dados não relacionais (também chamados bancos de dados NoSQL) organizam os dados de uma maneira diferente das linhas e colunas tradicionais de um banco de dados relacional. Eles podem assumir a forma de chaves e valores, gráficos, documentos ou vários outros paradigmas.

Basicamente, os bancos de dados relacionais só são capazes de trabalhar com dados estruturados. Ou seja, uma informação que foi organizada em campos padronizados.

Os bancos de dados não relacionais, no entanto, são excelentes em trabalhar com dados semi-estruturados. Esta é uma informação que não está organizada em campos ou registros. No entanto, os dados semiestruturados ainda contêm algum grau de hierarquia para que você possa entender as relações entre diferentes entradas.

Ao dimensionar bancos de dados para dezenas ou centenas de servidores, os bancos de dados não relacionais tendem a ter melhor desempenho. Enquanto isso, os bancos de dados relacionais são simples e familiares e funcionam bem para a maioria das situações.

Alguns dos bancos de dados não relacionais mais populares são:

  • MongoDB
  • Apache Cassandra
  • Apache HBase
  • Redis
  • Neo4j

Enquanto isso, os quatro bancos de dados relacionais mais populares são:

  • Microsoft SQL Server
  • Oracle Database
  • MySQL
  • PostgreSQL

No restante deste artigo, analisaremos os prós e contras de dois desses bancos de dados relacionais: SQL Server e Oracle Database.


Pontos para observar em serviços gerenciados de Banco de Dados

O que é SQL Server?

Microsoft SQL Server é um RDBMS desenvolvido pela Microsoft. Lançado pela primeira vez em 1989, o SQL Server agora já possui mais de 12 versões e diversas edições, cada edição adequada para diferentes finalidades e casos de uso. As quatro principais edições do SQL Server 2017 são:

  • Enterprise Edition: Inclui o principal mecanismo de banco de dados do SQL Server, além de serviços adicionais. O SQL Server 2017 Enterprise pode suportar bancos de dados com 524 petabytes (524 milhões de gigabytes), um número ilimitado de núcleos de processador e acesso máximo a memória RAM (até o limite do Sistema Operacional).
  • Standard Edition: Inclui o mecanismo de banco de dados principal e serviços independentes. O SQL Server 2017 Standard pode suportar bancos de dados com até 524 petabytes, usar até 24 núcleos de processador e acessar até 128 gigabytes de memória por instância para o tamanho do buffer pool. O Standard Edition não possui alguns recursos avançados do Enterprise Edition, como Transparent Data Encryption e indexação online.
  • Express Edition: Inclui o mecanismo de banco de dados principal on-line. O SQL Server 2017 Express pode suportar bancos de dados de até 10 gigabytes, usar até 4 núcleos de processador e acessar até 1410 megabytes de memória por instância para o tamanho do buffer pool. Também faltam recursos como alta disponibilidade, integração de dados e business intelligence.
  • Developer Edition: Inclui os mesmos recursos e funcionalidades da Enterprise Edition, mas limitada pela licença de software apenas para fins de desenvolvimento e teste.

Cada uma dessas quatro edições é para um público diferente. O SQL Server Enterprise destina-se a organizações grandes, de alta capacidade de processamento e orientadas a dados, enquanto o SQL Server Standard é para organizações com necessidades de dados menos intensivas.

Ambas as Express e Developer Editions são gratuitas. No entanto, eles têm limitações significativas, tornando-os inviáveis como uma solução de longo prazo para a maioria das empresas.

Como um dos principais produtos da Microsoft, o SQL Server recebeu atualizações constantes e atenção ao longo dos anos. Adições recentes à plataforma incluem novos recursos para ajuste de desempenho, análise operacional em tempo real, análise de big data, visualização de dados e suporte a nuvem híbrida.

O que é Oracle Database?

Oracle Database é um RDBMS desenvolvido pela Oracle. Como o SQL Server, o Oracle Database vem em quatro edições separadas destinadas a diferentes casos de uso:

  • Enterprise Edition (EE): O Oracle Database Enterprise Edition é destinado a empresas maiores que precisam de muito desempenho, segurança, disponibilidade e escalabilidade de sua infraestrutura de banco de dados. O EE permite que as empresas desenvolvam aplicativos da Web de alta performance, aplicativos de processamento de transações on-line (OLTP) e data warehouses.
  • Standard Edition 2 (SE2): De acordo com a Oracle, o SE2 inclui todos os recursos necessários para desenvolver aplicativos de grupo de trabalho, nível de departamento e da Web. O SE2 destina-se principalmente a pequenas e médias empresas, assim como o SQL Server Standard.
  • Personal Edition (PE): Personal Edition é para ser usado por um único usuário em uma única máquina e só está disponível no Windows. O PE inclui todas as funcionalidades do Enterprise Edition, exceto a opção Oracle Real Application Clusters.
  • Express Edition (XE): por fim, o Express Edition é uma versão gratuita e básica do Oracle Database. Você pode facilmente atualizar o XE para as novas versões. O XE pode armazenar até 4 gigabytes de dados, usar 1 gigabyte de memória e usar apenas 1 CPU.

A maioria das empresas que escolhem o Oracle Database desejará usar o EE ou o SE2. Para ajudá-lo a tomar sua decisão, os recursos abaixo são alguns dos disponíveis no EE, mas não estão no SE2:

  • Replicação avançada: para replicação unidirecional e multi-master de dados em um sistema distribuído
  • Advanced Compression: para melhorar o desempenho e reduzir a pegada de armazenamento
  • Oracle Data Guard: para alta disponibilidade, proteção de dados e recuperação de desastres
  • Parallel computing: para varreduras de índice, reconstrução de índice e backup e recuperação

O Oracle Database vem inovando nos últimos anos para acompanhar as demandas dos clientes por processamento de big data. O Oracle Database também é facilmente integrado a qualquer outro software empresarial da Oracle: contabilidade, planejamento de recursos empresariais (ERP), gerenciamento de relacionamento com clientes (CRM), etc.

SQL Server vs. Oracle Database: Prós, Contras e Diferenças

Vamos agora discutir alguns dos pontos mais importantes de distinção entre o SQL Server e o Oracle. Isso ajudará você a chegar a uma decisão final acertada para a sua necessidade.

Dependência da Plataforma

Como um produto da Microsoft, o SQL Server tradicionalmente só está disponível para o sistema operacional Windows. No entanto, começando com o SQL Server 2017, a plataforma agora está disponível no Linux também. Observe que, se você quiser usar uma versão anterior do SQL Server, precisará usá-la com o Windows.

A Oracle, por sua vez, tem um longo histórico de suporte ao Windows e ao Linux. O Oracle Database também está disponível para outros sistemas operacionais baseados em Unix, como Oracle Solaris, IBM AIX e HP-UX. No entanto, nem o Oracle nem o SQL Server suportam o Mac OS X.

Base de usuários

Por décadas, a Oracle teve melhor escalabilidade e segurança do que o SQL Server, tornando-a mais adequada para grandes empresas. Além disso, o SQL Server estava disponível apenas para o Windows, deixando os usuários do Linux de lado.

Essa percepção evoluiu nos últimos anos. Tanto a Oracle quanto o SQL Server lançaram versões Enterprise e Standard maduras, tanto para o Windows quanto para o Linux.

A maioria dos analistas concorda que a Oracle ainda tem uma ligeira vantagem sobre a Microsoft em termos de recursos básicos de banco de dados e funcionalidade de ponta. No entanto, esses recursos extras têm um lado negativo. O Oracle é tipicamente mais complexo para gerenciar, tem uma curva de aprendizado mais alta e custa mais para manter.

Linguagem

Tanto o Oracle quanto o SQL Server vêm com seu próprio dialeto da linguagem SQL que estende a funcionalidade básica do SQL. O Oracle usa PL / SQL (procedural Language / SQL), enquanto o SQL Server usa T-SQL (Transact-SQL).

Como tal, os administradores de banco de dados especializados no Oracle ou no SQL Server falarão uma versão ligeiramente diferente do SQL. O PL / SQL e o T-SQL possuem seus próprios recursos, habilidades e sintaxe distintos.

As principais diferenças entre o PL / SQL e o T-SQL são como os dois idiomas manipulam variáveis, procedimentos armazenados e funções internas. A PL / SQL também permite que os usuários agrupem procedimentos em pacotes, o que não é possível com o T-SQL.

Sintaxe e schema

O uso do Oracle e do SQL Server parece diferente não apenas devido ao código do SQL, mas também devido às muitas variações em sua sintaxe e schemas. Por exemplo, como DATE é uma palavra reservada no Oracle, mas não no SQL Server, é perfeitamente legal ter uma coluna chamada DATE no SQL Server (mas não no Oracle).

Além disso, muitos tipos de dados que são os mesmos têm nomes diferentes entre SQL Server e Oracle. Por exemplo, o tipo INTEGER no SQL Server e o tipo NUMBER (10) no Oracle atendem aos mesmos propósitos.

Essas diferenças são principalmente cosméticas, mas importantes se você estiver planejando uma migração de uma plataforma para outra. Para ver uma lista completa de sintaxe, tipos de dados e schemas, você pode verificar as principais diferenças nesta página da Oracle.

Preço e Custo Total

Muito sobre SQL Server vs. Oracle é uma questão de opinião, mas o que não está em debate é a comparação de preços. As licenças do SQL Server são significativamente mais baratas que as da Oracle.

Em uma estimativa simples, um servidor com 4 CPUs e 4 núcleos por CPU custaria mais de 1,5M de Reais com a Oracle, e algo em torno de 450k Reais com o SQL Server. Os custos aumentam ainda mais com recursos extras, como particionamento de tabelas, compactação de dados e processamento analítico online (OLAP).

Embora o preço da etiqueta possa ser menor no SQL Server, você também deve considerar o custo total de propriedade durante a vida útil do banco de dados. Isso inclui considerações como suporte, manutenção e produtividade durante o uso no dia-a-dia.

Nesse aspecto, a Oracle parece vencer, de acordo com um estudo do Oracle Database 11g e do Microsoft SQL Server 2017. Os administradores de banco de dados qualificados podem executar funções típicas 41% mais rapidamente no Oracle do que no SQL Server.

Essas economias de produtividade se somam com o tempo. O mesmo estudo estima que os aprimoramentos da Oracle na produtividade do DBA podem economizar as empresas até 120k Reais por DBA por ano.

Conclusão

Nos anos e décadas anteriores, a questão do Oracle vs. SQL Server era mais fácil de responder. Com mais recursos e maior complexidade, o Oracle era melhor para grandes empresas que precisavam de alto desempenho. O SQL Server era melhor para organizações que não queriam (ou poderiam) fazer altos investimentos.

No entanto, as linhas estão começando a se confundir com versões mais recentes do SQL Server e do Oracle. Tanto o Oracle quanto o SQL Server são opções maduras e excelentes para o gerenciamento de banco de dados relacional.

No final, você deve escolher a ferramenta certa para o trabalho em termos de sua configuração tecnológica existente, conjunto de habilidades internas, orçamento, fornecedores e clientes.

Você sabe quais são os 7 pontos que você deve observar ao terceirizar o suporte de seus bancos de dados? Caso não saiba, não tem problema, fizemos um guia que vai te auxiliar nisso.

Precisa de conselhos sobre a questão do Oracle vs. SQL Server? Entre em contato com um de nossos especialistas em banco de dados.

Pontos para observar em serviços gerenciados de Banco de Dados