Dado o manuseio de licenciamento da Oracle [a] (e, em menor grau, o custo), sempre me perguntei quais seriam os fatores decisivos para escolher a Oracle em vez do PostgreSQL ou MySQL.
Minha empresa quase sempre escolhe o Oracle (XE sempre que possível), mesmo para pequenos projetos em que há apenas uma única caixa de servidor Windows executando o banco de dados sem nenhuma administração de banco de dados dedicada. (Note-se que pequena faz não significa que os dados irá sempre se encaixam os bastante pequenas restrições de tamanho da Oracle XE.)
Eu sempre questionei essa opção, mas tem o benefício de pelo menos estarmos expostos a apenas um produto de banco de dados.
Ainda assim, dado um novo projeto, no qual você precisa de um RDBMS, mas o projeto e o escopo do banco de dados são bem pequenos, com base nos recursos exclusivos do Oracle em execução nas caixas simples do servidor Windows (sem muita administração dedicada), você escolheria o Oracle em vez de outro RDBMS?
Contexto Adicional : Muitas implantações de banco de dados são executadas nos sites dos clientes no modo, vamos chamá-lo de "baixa administração". Ou seja, o banco de dados é configurado uma vez. Há alguns testes iniciais sobre seu comportamento e desempenho corretos no local. Depois disso, o banco de dados é executado. Nenhuma administração regular feita. Somente se algo der errado, um técnico (não um DBA dedicado) verificará o banco de dados, tentando descobrir o que está acontecendo. O backup é feito principalmente como backup offline. Em alguns projetos, os clientes nem se importam com a existência de um RDBMS. Eles veem o aplicativo como uma caixa preta que funciona (ou não).
[a]: Onde trabalho, vários gerentes de projeto levaram meses para obter o licenciamento adequado para pequenos projetos, pois os representantes locais da Oracle simplesmente não estão muito interessados em vender seu produto se a receita for pequena.
Respostas:
Só posso tentar responder pelo Oracle e pelo postgres. Depois de usar o Oracle exclusivamente por anos, e o postgres apenas nos últimos dois anos, eu adoro o postgres. Existem tantas maneiras pequenas de usar o Oracle como mais conveniente, e ele compartilha muitos dos benefícios cruciais (como o MVCC). É mais fácil de administrar, confiável, possui excelente documentação e, é claro, é gratuito.
No entanto, o postgres não é páreo para o Oracle em algumas áreas, como:
Curiosamente, quase todos esses recursos estão ausentes ou danificados no XE. Eu acho que escolheria o postgres em vez do XE, sendo o resto igual, mas ...
... nada disso aborda os dois maiores motivos para a escolha do Oracle:
EDITAR:
A única situação em que eu escolheria o postgres em vez do XE sempre é se a segurança é uma preocupação. Se seu banco de dados ou qualquer um de seus aplicativos estiver exposto à Internet pública, não tenho certeza se o XE é uma boa ideia.
fonte
Oracle Apex . Um ambiente de aplicativo da Web prático e fácil de usar, incorporado diretamente no banco de dados. Simplesmente, torna muito simples implantar aplicativos de 'caixa única' com a interface do usuário da Web / lógica / banco de dados de aplicativos em um único pacote integrado.
PS. O 11g XE (atualmente em beta) expande o armazenamento para mais de 10 GB.
fonte
Embora as outras opções de flashback da Oracle não estejam disponíveis no Express Edition, o Flashback Query está. De acordo com a pergunta , nenhum outro banco de dados possui esse recurso que permite que uma instrução select consulte dados a partir de um ponto no tempo no passado. Os dados do flashback podem ser unidos aos dados atuais e inseridos nas tabelas atuais, tornando-o útil para operações de desfazer tipo, alterações temporárias e comparar alterações feitas por um método em um único local.
Algumas outras coisas que outros bancos de dados não possuem que o Oracle Express Edition possui.
fonte
Antes de tudo, acho que você não deve subestimar o fator que já existe o Oracle Know-How presente, mas não para outros RDBMS. A construção de conhecimento para os outros leva tempo e dinheiro e também pode ser acompanhada por alguns erros no início.
Além disso, você nunca sabe se um projeto pequeno não crescerá de alguma forma. Em seguida, você pode atualizar de maneira muito fácil e rápida do XE para a Standard Edition One para a Standard Edition para a Enterprise Edition. Uma migração de outro RDBMS levará novamente muito mais tempo e dinheiro. Bottom line: Eu acho que sua empresa faz certo - ok, eu posso ser um pouco tendencioso :-)
fonte
count()
, o que parece ser o calcanhar de aquiles do postgres). Eu tive que perguntar sobre stackoverflow como influenciar o planejadorUm dos recursos interessantes do Oracle são aqueles como o Oracle Resource Manager, que tornam muito mais fácil a consolidação de aplicativos em um banco de dados do que ter um banco de dados separado para cada aplicativo. Parece que isso não é usado na sua organização. Eu projetei bancos de dados consolidados no passado para projetos como você mencionou.
Isso fez com que até mesmo o mais simples de todos os projetos levasse meses para começar e, em uma época em que o tempo de lançamento no mercado é extremamente importante, isso está matando. Por alguma razão, isso é esquecido por muitos, muitas vezes até negligenciado por razões políticas.
A solução para isso é bastante simples. Crie um banco de dados sério, dê a cada projeto / aplicativo seu próprio esquema, acesse os usuários e comece a funcionar em horas, em vez de meses. Se você fizer algo assim, pode ser benéfico combinar aplicativos com requisitos de tempo de atividade semelhantes. A Oracle obtém cada vez mais opções de manutenção on-line, mas, às vezes, obter algumas horas de inatividade é muito mais fácil. Ter janelas de tempo para isso definidas de antemão pode evitar muitos problemas. Você vai precisar de algum tempo de inatividade.
Não permita que aplicativos se conectem ao banco de dados, faça com que eles se conectem a serviços dedicados ao aplicativo usando seus próprios tns-aliasses. Isso permite mover o aplicativo para outro banco de dados, sem precisar reconfigurar o aplicativo.
BTW: as empresas que usavam esse modo de consolidação economizavam muito dinheiro anualmente, mais do que as licenças necessárias para começar a rolar.
fonte