2010-01-04 9 views
0

J'ai besoin d'un SGBD, mais je ne sais pas lequel choisir. Fondamentalement, l'application fait beaucoup INSERT/UPDATE, mais aussi beaucoup de SELECT. SELECT principalement très simple, un seul champ. J'utilise MySQL + InnoDB pour l'instant, mais comme la base de données est en croissance, j'ai besoin de la meilleure solution. La table peut croître indéfiniment, et le temps + - 2GiBDBMS droit pour le travail?

EDIT:

fonctionnera sur Linux, et peut-être rarement sous FreeBSD. Pas besoin d'une gestion des utilisateurs, tous les processus se connectent actuellement en tant que root. Typiquement, il y a beaucoup d'accès simultanés (maintenant dans 83 threads, selon le mysqladmin).

L'accès sera avec C++, mais besoin d'accéder à PHP aussi

statistiques PHPMyAdmin:

sélectionner: 42,57%

insert: 7,97%

mise à jour: 49,45%

EDIT2:

Après une réflexion, et les réponses here, je crois que je ne peux pas utiliser MySQL pour votre bibliothèque client est GPL Toute alternative qui ne nuit pas (beaucoup) aux performances?

+0

Sur quelle plate-forme le SGBD sera-t-il exécuté? Avez-vous besoin de plusieurs utilisateurs pour accéder au SGBD depuis le réseau?Dans quel langage de programmation écrivez-vous l'application accédant au SGBD? Fournir plus d'informations s'il vous plaît. – Christian

+0

Mis à jour, désolé! – osmano807

+0

InnoDB sonne bien. Êtes-vous insatisfait de cela pour une raison quelconque? – bobince

Répondre

1

Si ce sont des requêtes très simples, cela pourrait-il être bien fait avec un magasin de clé/valeur?

3

Je pense que vous avez beaucoup d'options.

  • Vous pouvez continuer à utiliser MySQL. YouTube ont utilisé fairly successfully
  • PostgreSQL (gratuit, Open Source, assez bonne performance, fiable)
  • Oracle (pas gratuit, mais il a un bon support pour les bases de données très importantes)
0

Je pense que MySQL est un excellent choix de ce que vous avez déclaré. Oracle n'est pas gratuit, et il y a un peu de surcharge dans toutes les fonctionnalités de sécurité et d'entreprise que MySQL n'a pas. Vous voulez du support pour plusieurs langues. MySQL peut bien évoluer (je crois que Flickr est un bon exemple). La plupart des bases de données sont accessibles dans la plupart des langues: par ex. Perl, Java et C ont tous des API basées sur les pilotes (JDBC, DBI et ODBC). IIRC PHP a un très similaire à DBI. De plus, en commençant par une base de données, vous avez une certaine marge de manœuvre pour l'avenir: par ex. jointures et agrégation.

Un conseil que je donnerais est: assurez-vous que tout ce que vous choisissez est ACID conforme. En outre, vous pourriez prendre le temps de comparer PostGres et voir s'il y a quelque chose à ce sujet qui répond à vos besoins aussi bien ou mieux que MySQL.

0

Selon this, la taille maximale de la base de données sur Linux 2.4+ (ext3) est de 4 To. Donc, je pense que vous êtes sûr de rester avec MySQL + InnoDB si les performances sont adéquates.

+0

Vous pouvez certainement avoir des bases de données de plus de 4 To sur un système 64 bits. Vous ne voulez probablement pas utiliser mysql (ou n'importe quel SGBDR) sur un système 32 bits (certainement pour les nouvelles installations). – MarkR

Questions connexes