Primeiro, você precisa saber quais recursos do DBMS você deseja e quão bem os sistemas fazem isso. Por exemplo:
-
O MySQL é rápido para certos tipos de aplicativos, portanto, você pode atender a um alto volume de transações em um hardware modesto
-
O SQL Server vem com um bom conjunto de ferramentas de relatórios, portanto, talvez você não precise comprar ferramentas de terceiros para isso. No entanto, ele só é executado no Windows.
-
O Oracle tem uma JVM embutida no servidor (você realmente deseja pagar por licenciamento Oracle por CPU para executar um aplicativo java?), tem um bom suporte para grandes bancos de dados através de um bom particionamento de tabelas, índices de bitmap e uma variedade de recursos que facilitam os aplicativos de data warehouse.
-
Vários sistemas de banco de dados podem ou não suportar o protocolo XA para transações distribuídas
-
O Postgres tem um índice espacial e suporte para extensões e procedimentos armazenados em vários idiomas.
-
O Teradata tem uma arquitetura de nada compartilhado sem gargalos centrais, de modo que ele pode ser dimensionado para um conjunto de dados arbitrariamente grande.
-
Vários dialetos SQL suportados por sistemas diferentes têm conjuntos de recursos maiores ou menores ou pontos strongs específicos.
Uma vez que você saiba quais das várias plataformas DBMS proprietárias ou de código aberto podem suportar sua aplicação e quão bem elas fazem isso, você pode decidir qual delas deseja usar.
Todas as plataformas de DBMS de código aberto têm ofertas de suporte confiáveis disponíveis por meio do fornecedor ou de terceiros. Escusado será dizer que estas ofertas de suporte são comerciais, pelo que não são gratuitas. Se você realmente não precisa do suporte do fornecedor, pode ver um sistema de código aberto como gratuito, mas essa será uma situação incomum. Há um caso de particular interesse, discutido abaixo.
Os sistemas de código aberto também desdobram o suporte das ofertas de suporte de terceiros com credibilidade do fornecedor estão disponíveis para a maioria, se não para todos os principais produtos DBMS de código aberto.
Várias plataformas DBMS permitem que extensões sejam desenvolvidas - na verdade, esta tecnologia foi pioneira no Postgres by Stonebreaker et. al. e foi o principal impulsionador para o desenvolvimento desse sistema. Plataformas diferentes têm maior ou menor suporte para isso -
-
O Oracle e o SQL Server têm suporte limitado.
-
O Postgres tem amplo suporte para extensão em todo o sistema.
-
O Informix Online tem suporte para extensões conhecidas como 'blades' derivadas da Illustra (que era em si uma versão comercializada do Postgres).
-
O MySQL possui uma arquitetura de plug-in que suporta mecanismos de armazenamento de terceiros.
Se você tiver esse requisito específico, poderá descobrir que os sistemas de código aberto oferecem mais flexibilidade. Por exemplo, existem vários produtos de data warehousing baseados em versões modificadas do Postgres.
Assim, código-fonte aberto versus proprietário não é uma escolha entre livre (como na cerveja) e pago, mas sim uma questão de características, custo, confiança nas opções de suporte e controle.