Como os softwares estão se tornando cada vez mais comuns nos dias atuais, com banco de dados não poderia ser diferente. O mercado de sistemas pagos está bastante consolidado, incluindo grandes corporações como IBM, Microsoft, Oracle entre outras.
Contudo os bancos de dados livres começam a ganhar força da mesma forma que aconteceu com o
Linux. O banco de dados relacional está se tornando uma mercadoria, isto está ocorrendo por causa do mercado de bons produtos no mercado e também pela concorrência entre os mesmos, que está se tornando cada vez maior.
Primeiramente é necessário analisar qual será a real utilização do banco de dados que iremos utilizar. Hoje em dia os bancos de dados já não são mais simples armazenadores de informações. Existem vários serviços agregados aos softwares. As estruturas de dados estão cada vez mais complexas e estão sendo armazenadas pelos bancos de dados para suprir as necessidades diversas dos usuários.
Para a manipulação das informações nos bancos de dados relacionais, o padrão usado é o
SQL (Structures Query Language). Em 1986 surgiu o primeiro padrão, que ficou conhecido como SQL-86. Uma nova versão foi lançada em 1989, conhecida como SQL-89. Logo se chegou a um padrão com regras para definir os bancos de dados relacionais. A grande maioria dos bancos de dados utilizados hoje é compatível com esta versão. A última alteração desde padrão ocorreu em 1999, conhecida como SQL-99, que trouxe muitas mudanças, algumas delas estão relacionadas com definição do padrão para banco de dados de "objetos relacionais".
Este padrão é usado pelos bancos de dados livres e também os pagos. A diferença entre eles é a forma que a informação é tratada. Cada software gerencia de uma forma diferente seus dados, usam controle de transação, replicação, garantia de integridade, etc. Tem aqueles mais simples que se baseiam em arquivos de dados. Também falando em linguagens de programação, alguns possuem uma linguagem complexa, enquanto outros não.
Contudo, sabemos que os bancos de dados usam o mesmo padrão, mas nem por isso eles são iguais. Os fatores que nos influenciam a adquirir um determinado sistema de bancos de dados são vários, entre eles podemos destacar:
- Recuperação - Quando temos algum tipo de problema, como vamos recuperar os dados? Backup online em vários servidores e clusters, esta é uma ferramenta realmente útil e que devemos levar em consideração.
- Suporte à transações - É preciso realizar o controle dessas transações, garantindo integridade das informações quando há vários usuários manipulando-as ao mesmo tempo. Hoje em dia é necessário pelo menos o bloqueio por linha, isto é, cada operação bloqueará uma linha no banco de dados.
- Suporte à programação - O banco de dados deve ter uma linguagem de programação que permita realizar rotinas específicas sobre ele.
- Desempenho - O banco de dados tem que ser rápido, este desempenho pode ser melhorado por meio de técnicas de ajustes, realizados no próprio banco de dados. É interessante verificar se o sistema que escolhemos possui esta opção.
- Controle de acesso - Permite definir o que cada usuário pode ver e/ou fazer/modificar. Podemos com este controle definir por meio da necessidade de cada usuário suas permissões.
- Estabilidade - É preciso considerar o tamanho do banco de dados e o número de linhas nas tabelas. Interessante é conhecer alguns casos que se sucederam bem, assim podemos determinar se o software se enquadra com as nossas necessidades.
- Controle da redundância - É essencial para um banco de dados garantir que seus dados não sejam repetidos. Com isso, não seria possível incluir dois registros com a mesma chave primária. E também não seria possível excluir um registro que tem relacionamento com outros.
- Compartilhamento de dados - É necessário que as informações estejam disponíveis para vários de uma maneira rápida e segura. Este é um requisito fundamental para um sistema.