Pergunta

Eu trabalhei em uma variedade de sistemas como um programador, alguns com Oracle, alguns com MySQL. Eu continuo ouvindo as pessoas dizem que a Oracle é mais estável, mais robusto e mais seguro. É este o caso?

Se assim de que forma e por que?

Para efeitos da presente questão, considere um pequeno-médio porte produção DB, talvez 500000 registros ou assim.

Foi útil?

Solução

Sim. Oracle é software de nível empresarial.

Eu não tenho certeza se é realmente mais estáveis ??que o mysql, eu não usei mysql que muito, mas eu não me lembro de ter acidente mysql em mim. Eu tive acidente oráculo, mas quando isso acontecer, ele me dá mais informações sobre por que ele caiu do que eu poderia querer, e suporte Oracle está sempre lá para ajudar (taxa extra).

É muito muito robusto, banco de dados Oracle irá fazer praticamente tudo o que pode antes de quebrar seus dados, eu tive servidores mysql fazer coisas realmente estranhas quando eles ficar sem espaço em disco, a Oracle só vai suspender todas as transações, e, eventualmente, o desligamento se ele não pode escrever os arquivos necessários. Eu nunca perdi dados em Oracle, mesmo quando eu faço coisas estúpidas como esquecer o onde cláusula e atualizar cada linha, em vez de uma única linha, é muito fácil chegar a parte de trás do banco de dados a ser como era antes de estragar.

Não tenho certeza sobre a segurança, certamente a Oracle dá-lhe muitas opções para como você está indo para se conectar ao DB e autenticar. Ele dá muitas opções em relação aos quais os usuários têm acesso a quais, etc. Mas, como a maioria das coisas, se você quiser levar segurança a sério, então você precisa de um especialista para fazê-lo. A Oracle certamente tem muito mais a perder se não acertar segurança. Mas, como com todas as coisas tem havido façanhas.

Se nada mais, basta considerar isso ... Quando a Oracle enche-se, eles têm clientes que estão pagando $ 40k por CPU (se eles são otários e pagar lista de preços) de licença + taxas de manutenção anuais .. Isso lhes dá uma muito forte intensivo para garantir que os clientes estão satisfeitos com o produto.

Para um pequeno banco de dados, eu recomendo seriamente o Oracle XE bem antes mysql. Tem as características importantes do mysql (gratuito), seus mortos fácil de instalar, vem com uma interface agradável web e estrutura de aplicativos (Application Express), se você DB será feliz corrida em uma única CPU, 1GB de RAM e 4GB de dados, então XE é o caminho a percorrer IMHO.

Mysql tem seus usos, muitas muitas pessoas têm mostrado que você pode construir grandes coisas com ele, mas a sua muito atrás Oracle (e SQL Server e DB2) em termos de recursos ... Mas, então, a sua também livre e muito fácil de aprender, que para muitas pessoas é a característica mais importante.

Outras dicas

Eu tive o Oracle criar um banco de dados corrompido quando o disco ficou sem espaço. É difícil de debug, usa um monte de recursos e é difícil trabalhar com sem seriamente qualificados DBA está segurando sua mão. Oracle binários do sistema, mesmo substituído (por exemplo GCC) em / usr / bin / quando eu instalado dentro em um occation.

Trabalho com o PostgreSQL, por outro lado, tem sido muito mais agradável. Ele dá mensagens de erro legíveis e age de uma forma mais compreensível se você está acostumado a trabalhar com sistemas * nix de código aberto. É muito fácil de configurar a replicação, tornando seus dados bastante seguro.

banco de dados de registro A 500K pode provavelmente ser executado em seu telefone móvel. Sério, é tão pequena que o Oracle XE e MySQL será mais do que suficiente para controlá-lo.

  • para DBs pequeno (alguns milhões de registros), a Oracle é um exagero
  • você precisa de um DBA experiente para corretamente instalar e gerir um sistema Oracle
  • A Oracle tem uma maior "sobrecarga de base", ou seja, você precisa de uma máquina mais robusta para executar o Oracle
  • o "out of the box" experiência da Oracle costumava ser atroz (i não tiver instalado um sistema Oracle em anos; idéia de como ele se comporta atualmente), enquanto mysql é muito agradável

A Oracle é uma besta que realmente precisa de conhecimento DBA. Concordo com aqueles que dizem 500k registros não são nada. Não vale a pena a complexidade da Oracle se é simples numérico / dados de texto.

Por outro lado, a Oracle é extremamente eficiente com blobs. Se cada um de seus registros era um arquivo de 100MB binário, você precisa de uma fortuna para executá-lo em Oracle (eu recomendo um cluster RAC 3 nós com um bom SAN).

Eu tenho um projeto que envia dados (~ linhas 10M, 1,2 GB de dados) para três diferentes bancos de dados, 2 Oracle e 1 MySQL. Eu não tive problemas trabalhar com qualquer um dos sistemas, nem vi quaisquer vantagens principais em ambos os lados. Se você está em um lugar que já usa Oracle para outros projectos, acrescentando em um novo banco de dados não deve ser demasiado de um problema, mas se você está pensando em criar um novo servidor de banco de dados e não têm nada em lugar já, o MySQL irá poupar-lhe o dinheiro.

Oracle Enterprise assume que há uma empresa para apoiá-lo, ou seja, uma verdadeira DBA Oracle. Um novato (mas competente) DBA deve ser capaz de garantir MySQL muito mais facilmente do que Oracle, apenas porque a Oracle é inerentemente mais complexo. Claro, a Oracle tem a Enterprise ferramentas para além do que MySQL possui atualmente monitorando (tanto quanto eu vi), mas as necessidades de DBA para ser capaz de usar que elas sejam eficazes.

Tal um pequeno banco de dados como você descreve poderia ser tratado por mais nada, então eu não posso ver que a Oracle seria justificado a menos que a infra-estrutura já estava em vigor. Ambos têm de replicação, transações e warm-backups por isso ou serviria bem.

A resposta depende completamente de como você configurar cada DBMS. Ambos são capazes de lidar com 500.000 registros muitas vezes.

A Oracle é uma máquina mais potente muito. Muitas das suas características só iria ser procurado em um ambiente empresarial ou de alto desempenho maior. Eles são apresenta principalmente a ver com a escala, replicação e balanceamento de carga.

Para os pequenos bancos de dados, considere SQLite. Para pequenas e médias empresas, olhar para o MySQL ou PostgreSQL. Para a maior, olhar para MSSQL, Oracle, DB2, etc.

Edit: Depois de ler a outra resposta, vou acrescentar que, se os seus dados estão realmente, realmente crítico, você vai querer uma configuração de replicação e você provavelmente vai querer olhar para um dos os provedores grandes DB para algo parecido.

Se você pode sacrificar potencial ( extremamente raros ) perdas de dados e prefere um melhor desempenho, olhada em algumas das opções mais leves.

É verdade que a Oracle é uma besta.

Também é verdade que a Oracle é amplamente considerado o maior banco de dados mais seguro.

O problema é que devs da Oracle não parecem compreender consepts críticas de segurança. Oracle é o servidor de banco de dados seguro menos no mercado (de acordo com pesquisadores de segurança independentes)

http://itic-corp.com/blog/2010/09/sql-server-most-secure-database-oracle-least-secure-database-since-2002/

MySQL é realmente bastante segura de acordo com esses pesquisadores. Eu não sei muito sobre as ferramentas disponíveis para isso. O que é mais divertido sobre esta pesquisa é que as mesmas pessoas que chamaria servidor Microsoft SQL um brinquedo teriam seus dados roubados por hackers que MSSQL iria frustrar porque eles estão usando uma besta que tem um modelo de segurança terrível, em vez de um "brinquedo" que é seguro.

Eu estou usando Oracle / SQL Server / MySql para diferentes aplicações e site

No batida banco de dados pode a Oracle em muitos área diferente, mas é o mais banco de dados que exigem profundo conhecimento para a administração.

e se você encontrar um problema com a Oracle, pode gastar algumas vezes para resolvê-lo mesmo com boas DBAs caras.

Você pode ir com MySql para 500K ou milhões de registros, é mais leve do que outros DB, e requerem nenhum trabalho de administração, e não vai ter um monte de seus recursos do computador, eu sempre tenho isso no meu PC desenvolvimento, e nunca tinha enfrentado qualquer problema sério com ele.

Eu exigiria que você vá com MySQL ou PostgreSQL se você não precisar dos featuers avançados da Oracle.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top