Por que você usaria o banco de dados Oracle? [fechadas]

97

Estou curioso para saber as razões técnicas pelas quais você escolheu o banco de dados Oracle em vez dos mais recentes:
1) Microsoft SQL Server
2) MySQL
3) PostgreSQL

Quais recursos ou funcionalidades justificam o custo extra. Estou interessado em argumentos técnicos, não em uma guerra religiosa. Um amigo me perguntou isso e sempre usei um dos 3 que listei. Eu não sabia o suficiente sobre bancos de dados Oracle para dar uma opinião.

Obrigado.

BuddyJoe
fonte

Respostas:

48

Ninguém parece falar sobre o custo do tempo dos desenvolvedores trabalhando com a Oracle. A maioria dos desenvolvedores que conhece qualquer outro banco de dados odeia Oracle, aqueles que não assumem que todo o código do banco de dados e / ou ferramentas ORM são difíceis de usar.

Se eu abrisse um negócio que acreditava que cresceria nas proporções da Amazon, poderia considerar soluções NoSQL, caso contrário, escolheria PostgreSQL, SQL Server (ou mesmo Sybase agora) em vez de Oracle todas as vezes. Digo isso tendo trabalhado (como dev) com a Oracle por 2 anos - é terrível trabalhar com ele!

user1016765
fonte
3
discordo! Oracle é definitivamente uma das melhores implementações de RDBMS. Ele gerencia a memória de forma muito eficiente e pode lidar com operações JOIN complexas que facilmente prejudicam o MySQL e o MsSQL. A Oracle tem uma ótima arquitetura, o que a torna sólida porque é muito fácil organizar muito bem os dados de diferentes aplicativos. Acho que a melhor vantagem para mim é o SQL Engine que a Oracle possui, é muito avançado, sendo o único banco de dados a operar um data warehouse! Executar consultas complexas no Oracle é muito fácil. Outros recursos, como visualizações materializadas, PL / SQL etc, fazem com que o Oracle tenha valor para o dinheiro.
Muzaaya Joshua
7
Eu também concordo - tendo trabalhado com Oracle 11gR2 e SQL Server 2008 R2 nos últimos anos, é absolutamente ridículo quantas vezes me deparei com o modelo de segurança quebrado da Oracle, ferramentas de ajuste de desempenho não intuitivas e otimizador meticuloso. Qualquer economia que você obtenha ao abrir mão de uma licença do MS Win Server será imediatamente consumida pela perda de produtividade.
engil
3
Como um usuário principal do SQL Server e desenvolveu um banco de dados usando Oracle: Oracle é uma dor no a * se. Como @Jasmine mencionou, é muito limitado ao que você pode fazer. Eu odeio especialmente como as variáveis ​​funcionam e o fato de você ter que criar gatilhos e sequências para IDs de incremento automático. SQL Server é a definição de como um banco de dados deve operar. Caramba, até o MySQL é melhor do que o Oracle. Claro que ambos os bancos de dados têm suas limitações, mas nada comparado ao que o Oracle tem.
RoyalSwish
4
Além disso, o PLSQL é desajeitado e irritante.
RoyalSwish
1
A Oracle tem suporte de sharding limitado, suporte de escalonamento limitado, recursos de administração limitados, ajuda de suporte limitada, suporte a clustering um tanto limitado (sem envio de log mestre-mestre) e muito dependência de fornecedor. Eles estão tentando se atualizar, mas nunca vi tantos bugs. Trabalhei com várias versões alfa, versões beta e sistemas declarados impróprios e instáveis. Eu ainda nunca vi tantos bugs claros que deveriam ser óbvios antes do lançamento ou às vezes antes mesmo de compilar.
jbo5112
32

Apenas o Oracle e o SQLServer da Microsoft são de código fechado, e quando algo dá errado e você tem um problema, a resposta está à distância de um telefonema (e dinheiro, se claro). De qualquer forma, MySQL e PostGre possuem diversos serviços de consultoria empresarial, mas no final esses consultores não são realmente responsáveis ​​pelo produto, porque o produto é de todos. O que é ótimo porque você pode entrar e corrigir o código se for bom com programação C e de nível relativamente baixo, mas se não encontrar a solução pode se tornar uma perseguição de ganso selvagem.

Agora, como nem todos são qualificados o suficiente, e as empresas com dinheiro preferem a segurança (no sentido do negócio) dos bancos de dados de código fechado, é a razão pela qual essas soluções não saíram do mercado, além do fato de suas implementações serem sólidas e vale a pena o dinheiro que você tem.

Ok, agora finalmente a diferença mais importante é entre SQLServer e Oracle e essa diferença é o sistema operacional, a maioria das pessoas que usam Windows vai ficar com, você adivinhou, SQLServer, mas se você executar em versões de Unix, o Oracle é sua solução de código fechado. De qualquer forma, eu uso o Oracle no Solaris, mas se nosso alvo fosse o Windows, provavelmente usaria o SQLServer porque os dois produtos são sólidos, mas acredito que a Microsoft tenha alguns truques especiais escondidos para obter o melhor desempenho no Windows.

Robert Gould
fonte
6
+1. Boa resposta. Sempre trabalhei com o lema "Gosto do melhor da raça, mas grátis é muito legal". Sempre tento encontrar um equilíbrio ao escolher uma solução. No meu trabalho diário, uso o SQL Server. No meu próprio material MySQL agora.
BuddyJoe
3

A verdadeira questão é: que tipo de aplicativo será usado para fazer uso de um RDMS. Você certamente não precisa do oracle para o seu blog wordpress ou clone do twitter. Mas se você quiser fazer um pouco de business intelligence pesado, a Oracle pode ter alguns recursos que podem ajudar a fazer isso de forma mais eficiente do que os outros.

Ms sql server também é muito bom, tem toneladas de recursos. Se você está interessado em linux e precisa de um banco de dados com os recursos oferecidos pelo ms sql, o oracle seria uma boa escolha.

TomHastjarjanto
fonte
3

Apenas para citar alguns:

  • Oracle Real Application Cluster - fornece recursos avançados de clustering
  • Oracle Data Guard - resumindo, fornece recursos de reserva físicos e lógicos.
  • Oracle Exadata - implementa o armazenamento ciente do banco de dados (que pode fazer filtragem de predicado, filtragem de projeção de coluna, processamento de junção, criação de espaço de tabela apressada). A solução vem com servidores HP, garantia total 24 horas por dia, 7 dias por semana e outras coisas boas. É muito bom para aplicativos com carregamento de dados altamente intensivo (por exemplo, graças à criação de espaço de tabela independente).
  • Virtualização Oracle

E, claro, a magia da marca;)

E quando se trata de escolher o RDBMS? Normalmente, a escolha é bastante óbvia - Oracle ou o resto do mundo. Depois disso, você pode restringir a escolha em:

  • plataforma (somente Windows ou não)
  • peso (sqlite, MySQL, PostgreSQL, ...)
  • orçamento (custo de licença inicial, manutenção + custo de suporte)
  • perspectivas de evolução, por exemplo:
    • Oracle Express -> Oracle
    • SQL Server Express -> MSSQL
  • perspectivas de negócios - "produto seguro e bem conhecido" ou produto de código aberto (tenha em mente a citação em torno da primeira frase). Outra postagem tende a examinar mais profundamente esse aspecto.
Anônimo
fonte
14
Seria bom se você pudesse acrescentar um pouco sobre o que esses recursos fazem ... para aqueles de nós que não sabem, soa como bingo buzzword. ;)
Nik Reiman
6
Não só isso, mas muito desse material não é necessário para pequenas e médias empresas e certamente não justifica (para elas) o custo muito alto.
Dave Markle
1
Você paga pelo que usa ... Os exemplos que dei são interessantes para organizações bastante grandes. E como eu disse, a primeira escolha geralmente é decidir se vai com a Oracle ou outra coisa.
Anônimo
O Oracle RAC não é clustering avançado (e não era em 2009), é clustering pronto para uso. Porque requer armazenamento compartilhado, não escalará IO. Não seria escalável para os níveis de nuvem em 2009 e, na última década, as coisas só pioraram para a Oracle.
jbo5112
3

Acho que é porque o Oracle foi o primeiro RDMS com suporte para " fragmentação "

iChaib
fonte
2
-1 O que isso significa? * Citação necessária. * Existem vários métodos para implementar sharding, incluindo, mas não se limitando a, implementar sharding na camada de aplicativo.
Jeeyoung Kim
A Oracle não tinha sharding nativo até 12.2 (2016/2017). IIRC, MySQL os venceu por mais de uma década (diferentes mecanismos de armazenamento).
jbo5112
1

Os custos do SQL Server e do Oracle não são tão distantes, você sabe.

Na verdade, para sistemas pequenos, o custo do Oracle versus seu banco de dados gratuito favorito é entre zero (Oracle Express Edition) e não muito grande (processador perpétuo de US $ 5.800 para a Standard Edition One).

Aqui está um link para os recursos das várias edições do 11g: http://www.oracle.com/database/product_editions.html .

Os preços de tabela estão disponíveis para todos os territórios em http://store.oracle.com - normalmente grandes empresas não pagam varejo, é claro;)

David Aldridge
fonte
2
os custos de Postgres / MySQL e Oracle são embora ... (não que eu
apoie
+1 David, você pode expandir sua resposta para talvez incluir algumas das limitações da Express Edition?
BuddyJoe
@ annakata - o XE é gratuito. SE1 é muito barato.
David Aldridge
2
As limitações primárias do Express (XE) são 4 GB de dados, 1 GB de RAM, 1 CPU.
Gary Myers
4
Isso não explica o custo muito mais alto de manutenção de uma instalação de banco de dados Oracle em oposição ao MSSQL ou seus outros concorrentes.
Monty Wild