Qual o melhor banco de dados a escolher?

Eu estou criando um gerenciador de Cyber Café / Lan House e estou em dúvida qual banco de dados usar.

  • O banco de dados tem que ser gratuito e de fácil instalação;

  • O banco de dados poderá ficar no mesmo computador que o software que administra os computadores ou em um computador dedicado;

  • Todos os computadores clientes/servidor irão usar o mesmo usuário para acessar o banco de dados;

  • O banco de dados deverá aceitar vários pedidos de conexão ao mesmo tempo; (ex.: vários cliente tentando logar ao mesmo tempo.)

  • O banco de dados tem que ser leve e confiável;

  • Se possível ofereça ferramentas para corrigir o banco de dados caso ele corrompa;

  • Irei usar a plataforma .net (C# ou VB) para criação do software;

1 curtida

Qualquer banco de dados moderno deve atender suas necessidades, então eu recomendo usar o que você tiver mais experiência. Se não tem experiência com nenhum, teste MySQL/MariaDB e Postgre e veja com qual você se sente mais confortável.

Abraço.

Esqueça Oracle e MSSQL. As versões XE e Community são capadas, limitam o tamanho das bases que podem ser gerenciadas.

Esqueça os bancos em arquivo, como Firebird e Access. São leves, mas não são confiáveis.

Neste caso, iria de MySQL ou MariaDB (a mesma coisa, mas o MySQL hoje é da Oracle e o que sobrou do projeto na antiga MySQL AB e Sun Microsystems virou MariaDB), porém, eu daria preferência ao Postgres.
Robusto e muito bom, não é tão leve, mas é, de longe, o melhor.

1 curtida
  • O banco de dados tem que ser gratuito e de fácil instalação;

MySQL

  • O banco de dados poderá ficar no mesmo computador que o software que administra os computadores ou em um computador dedicado;

o Ideal é ficar em uma máquina como servidor de banco de dados onde a rede de computadores possa utilizar.

  • Todos os computadores clientes/servidor irão usar o mesmo usuário para acessar o banco de dados;

Tudo vai depender da sua regra de negócio, geralmente é utilizado apenas uma senha para um determinado banco.

  • O banco de dados deverá aceitar vários pedidos de conexão ao mesmo tempo; (ex.: vários cliente tentando logar ao mesmo tempo.)

Aqui tem um ponto importante, e é que vejo inúmeros desenvolvedores errar (sem brincadeira), cada sistema uma conexão, se for 10 sistema 10 conexões, mas, sabe o que acontece, o cara programa errado e abre inúmeras conexões com apenas um software, um exemplo é o mau uso da Programação Orientada a Objeto, onde o cara deveria injetar a conexão e não herda (o herdar conexão faz com que cada classe tem sua própria, e o injetar todas compartilham da mesma conexão), tome bastante cuidado aqui, porque nessa pergunta o grande culpado é quem faz.

  • O banco de dados tem que ser leve e confiável;

O MySQL atende bem isso, se quiser um mais pesado pode ser o Postgresql, eu iria de MysQL a manunteção é fácil e seu gerenciador é bem prático.

  • Se possível ofereça ferramentas para corrigir o banco de dados caso ele corrompa;

Como eu disse se utilizar o Sistema Gerenciador do MySQL o problema de acontecer algo é quase nula.

  • Irei usar a plataforma .net (C# ou VB) para criação do software;

Vai de C#, porque é mais evolutivo e sempre é o primeiro a receber novidades e melhorias, é mais limpa a codificação

Dos gratuitos minha sugestão também é o PostgreSql. É robusto, fácil de instalar e gerenciar.