PostgreSQL
 sql >> Base de Dados >  >> RDS >> PostgreSQL

Oracle para PostgreSQL:Razões para migrar


O PostgreSQL tem algumas vantagens atraentes, algumas das quais não são encontradas em nenhum outro sistema de gerenciamento de banco de dados. Este artigo irá delinear os que são mais interessantes para o desenvolvedor Oracle que busca fazer uma migração ou investigar alternativas para um novo desenvolvimento.

Para evitar que este artigo se torne outra lista de recursos do PostgreSQL, ele se limitará aos recursos que o diferenciam especificamente do Oracle e às vantagens que essas diferenças criam.

Federação x empacotadores de dados estrangeiros


O Oracle possui um recurso chamado Federation que permite que tabelas de outros bancos de dados sejam tratadas como dados locais. O PostgreSQL aumenta isso para 11 com wrappers de dados estrangeiros. É fantasticamente superior ao sistema de federação, pode ser conectado a qualquer coisa que remotamente se assemelhe a dados e não custa nada em taxas. Isso torna o PostgreSQL uma ótima plataforma ETL, mesmo que tudo que você use seja para ingestão de dados.

plSQL vs. todo o resto


A Oracle possui uma linguagem de programação integrada chamada plSQL. PostgreSQL tem algo em torno de 80 ou mais. Sério. O sistema de extensão do PostgreSQL é usado para criar linguagens procedurais como plug-ins, e existem ligações para praticamente qualquer linguagem que você possa imaginar. E se não houver, você sempre pode acompanhar Mark Wong para saber como fazer uma embalagem para o seu favorito.

Programação de aplicativos


A Oracle fornece uma API de aplicativo para se comunicar com o banco de dados. O PostgreSQL também fornece uma API para conveniência e linguagens confiáveis. No entanto, o produto é de código aberto, portanto, não há cidadãos de desenvolvimento de segunda classe. Você pode acessar qualquer coisa que o PostgreSQL tenha a oferecer incluindo o arquivo de cabeçalho em seu projeto. Faz o que quiseres com isso.

Internacionalização e localização


A Oracle fornece um kit de ferramentas de globalização. O PostgreSQL é construído desde o início para confiar completamente em serviços de sistema conhecidos e amplamente compatíveis para localização. Ele pode usar qualquer codificação de caracteres, agrupamento e página de código fornecida pelo sistema operacional.

Desenvolvimento da Web


A Oracle reconhece a existência de HTML por meio de HTML DB. O PostgreSQL oferece suporte nativo a JSON, XML e plug-in Javascript como um back-end linguagem de codificação, que você pode usar ao mesmo tempo que Java ou qualquer outra linguagem de front-end de sua escolha.

Autenticação


A Oracle possui um sistema de autenticação integrado (uma referência aqui ao Proxy Auth, que é um pouco mais flexível). O PostgreSQL conta com os protocolos Host Based Authentication e SASL para conectar qualquer sistema de autenticação que o host possa suportar, e alguns que se conectam diretamente ao PostgreSQL. Isso fornece uma enorme variedade de possibilidades de autenticação, juntamente com o potencial de descarregar o processo de autenticação em outras máquinas.

Extensibilidade


A Oracle possui um sistema de plug-ins com plug-ins principalmente proprietários. O PostgreSQL possui um sistema de extensão que é suportado pela comunidade em geral, com milhares de plug-ins disponíveis.

Escalabilidade de leitura


A Oracle tem uma escalabilidade de leitura vertical bastante boa. O PostgreSQL pode criar um cluster de leitura praticamente ilimitado. O número de nós é limitado apenas pela quantidade de recursos que você gostaria de lançar nele.

Custo


É difícil vencer o “grátis”, e a Oracle nem se esforça. Vamos ser sinceros, a Oracle é ridiculamente cara e eles não se importam em cobrar de você novamente por cada instância.

Essa também não é uma comparação linear. Uma das maiores vantagens do PostgreSQL é que você pode ter todas as instâncias que quiser, sem custo adicional. (Acho que é um custo adicional de + $ 0,00, ou multiplique por $ 0,00, você decide).

Não é justo (para o PostgreSQL) comparar o custo de uma única instância do Oracle com uma única instância do PostgreSQL. Depois de experimentar a liberdade de graça, será difícil voltar a colocar tudo em uma única instância apenas para reduzir custos.

Quanto deve custar um banco de dados temporário que transforma os dados no caminho para o warehouse? Acho que grátis é o suficiente. Que tal um banco de dados transitório para relatórios? Eu vou levar de graça para isso também. Que tal um que seja o ponto de ingestão de dados para ETL? Grátis é bom. Eu gosto de graça. É muito, uh... libertador.

Desempenho


Não, espere! Ouça-me sobre este. Já mencionei que o PostgreSQL pode criar um número ilimitado de nós em um cluster de leitura. Isso pode diluir o custo de qualquer operação de leitura específica para quase zero. Mas também há outra maneira de o PostgreSQL ser mais eficiente que o Oracle.

Como o PostgreSQL não custa nada por nó, você pode ajustá-lo de maneira diferente para cada carga de trabalho. Claro, você também pode fazer isso com o Oracle, mas pagará por nó pela capacidade de ajustá-lo dessa maneira. Portanto, se você deseja diferenciar os parâmetros de ajuste de seu warehouse para OLTP para relatórios para o data lake, o PostgreSQL torna isso bastante fácil e ainda é fácil para a carteira.



Claro que existem recursos muito mais atraentes no PostgreSQL, mas eu já escrevi esse artigo alguns meses atrás. Deixe-me saber nos comentários se você migrou para o PostgreSQL por qualquer outro motivo.

No