PostgresSQL diferenças mysql da Oracle

votos
5

Eu estou tendo de começar a construir a arquitetura para um projeto de banco de dados, mas eu realmente não sei as diferenças entre os motores.

Alguém pode explicar o que é o prós e bads de cada um destes três motores? Nós vamos ter que escolher um deles e a única coisa que realmente sabemos sobre eles é esta:

  • Mysql & Postgres:
    • São livres, mas não tão bom como oracle
    • Mysql como problemas de segurança (isto é verdade?)
  • Oráculo:
    • Melhor motor de base de dados no mundo
    • Caro

alguém pode limpar outras diferenças entre eles? Esta é uma média / grande (nós estamos pensando de cerca de cerca de 100 a 200 mesas) projeto com baixo orçamento, o que você escolheria? E com um orçamento maior?

Obrigado a todos para ajudar a esclarecer as diferenças.

ps: Eu espero não estar duplicando uma postagem existente, mas eu tentei procurar e eu não encontrou qualquer.

Publicado 19/10/2008 em 17:16
fonte usuário
Em outras línguas...                            


4 respostas

votos
3

Veja as tabelas de comparação no wikipedia: http://en.wikipedia.org/wiki/Comparison_of_object-relational_database_management_systems && http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

Oracle pode ou não pode ser o melhor. É caro, mas isso não significa melhor.

Você já olhou para DB2? Sybase? Teradata? MS SQL?

Respondeu 19/10/2008 em 17:25
fonte usuário

votos
4

As diferenças entre as diferentes implementações SQL são grandes, pelo menos sob o capô. Este placas não vai ser suficiente para contá-los todos.

Se você tem que perguntar, você também tem que perguntar a si mesmo se você está em posição de chegar a uma decisão válida e fundada sobre o assunto.

Uma comparação von MySQL e PostgreSQL pode ser encontrada aqui

Note-se que a Oracle oferece também uma edição Express (XE) , reduzido em recursos, mas livre para usar. Além disso, se você tem pouco conhecimento, para começar, você vai ter que aprender mesmo, eu só escolher qualquer um, e começar a aprender usando-o.

Respondeu 19/10/2008 em 17:28
fonte usuário

votos
12

Alguns anos atrás eu tinha para escrever um mecanismo de tradução; você alimentá-lo um conjunto de SQL e traduz para o dialeto do motor conectado no momento. Meu motor funciona em Postgres (AKA PostgreSQL), Ingres, DB2, Informix, Sybase e Oracle - oh, e formigas. Francamente, a Oracle é o meu favorito menor (mais sobre isso abaixo) ... Infelizmente para você, MySQL e SQL Server não estão na lista (na época não foi considerado um grave RDBMS - mas os tempos mudam).

Sem levar em conta a qualidade ou o desempenho do motor - e facilidade de fazer e restaurar backups - aqui estão as principais áreas de diferença:

  • tipos de dados
  • limites
  • inválidos
  • Palavras reservadas
  • semântica nulos (ver abaixo)
  • citação semântica (aspas simples', aspas duplas", ou seja)
  • semântica declaração de conclusão
  • semântica de função
  • manipulação de data (incluindo palavras-chave constantes como 'agora' e entrada / formatos de função de saída)
  • se são permitidos comentários na linha
  • comprimentos máximos de atributo
  • número máximo de atributos
  • semântica de conexão / paradigma de segurança.

Sem chato você em todos os dados de conversão, aqui está uma amostra para um tipo de dados, lvarchar:

A Oracle = VARCHAR (% x) = sybase texto postgres db2 = "longo VARCHAR" Informix = lvarchar = VARCHAR (% x) = formigas VARCHAR (% x) = Ingres VARCHAR (% X,% y)

O maior negócio de todos, na minha opinião, é a manipulação null; A Oracle SILENCIOSAMENTE converte cadeias de entrada em branco para valores nulos. ... Em algum lugar, um longo tempo atrás, li um writeup alguém tinha feito sobre "Os Dezessete Significados de nulo" ou algo assim e o ponto real é que valores nulos são muito valiosos e a distinção entre uma cadeia nula e uma string vazia é útil e não-trivial! Eu acho que a Oracle fez um grande erro em um presente; nenhum dos outros tem este comportamento (que eu já vi).

Meu segundo pelo menos favorito foi ANTS porque ao contrário de todos os outros, que reforçou a regras tolas para perfeita sintaxe que absolutamente ninguém mais faz e enquanto eles podem ser a única empresa DB para fornecer perfeita aderência ao padrão, eles também são uma dor real em a coronha para escrever código para.

De longe, o meu favorito é Postgres; é muito rápido em situações _real_world_, tem grande apoio, e é open source / livre.

Respondeu 20/10/2008 em 01:46
fonte usuário

votos
2

Eu acho que para cenários de baixo orçamento Oracle é fora de questão. 100-200 tabelas não é grande e geralmente a quantidade de mesas em um esquema não é uma medida escala. Conjunto de dados e o rendimento é.

Você pode ter um olhar para http://www.mysqlperformanceblog.com/ (e seu livro soberbo) para ver como MySQL pode lidar com grandes implementações.

Geralmente hoje em dia a maioria dos RDBMSes pode fazer quase qualquer coisa que você precisa em uma aplicação muito sério.

Respondeu 03/03/2009 em 22:08
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more