2009-03-18 6 views
4

Quelle base de données utiliseriez-vous pour un projet Open Source?Base de données pour le projet Open Source

Je cherche quelque chose qui a peu ou pas de configuration requise par l'utilisateur final.

Mise à jour: La taille de la base de données sera relativement petite (moins de 100 000 enregistrements). L'application sera écrite en C#.

+0

Cela doit être marqué comme Wiki de la communauté, que vous pouvez définir à l'aide des outils d'édition lorsque vous modifiez la question. –

+0

Description assez rare ... pourriez-vous être plus précis s'il vous plaît? Dans quelle langue codifiez-vous? Pensez-vous que la DB va grandir? Par combien de disques (des centaines, des milliers, des millions)? – Seb

Répondre

3

Si c'est une application web avec PHP alors MySQL ... il est installé à peu près partout où PHP est installé (ce qui est presque tous les hôtes).

Si ce n'est pas ... consulter les autres réponses :)

7

SQLite est bien si vous voulez un SQL-interrogeable DB:

http://www.sqlite.org/

Il ne nécessite pas de serveur; Vous avez juste besoin d'inclure et d'utiliser les bibliothèques d'API appropriées dans votre projet. Votre base de données est stockée en tant que fichier unique sur le disque.

3

Cela dépend tellement de la charge que cette base de données doit supporter, mais je pense que ça vaut la peine de se pencher sur SQLite. C'est un petit morceau incroyable de code C/C++, il est distribué sous une licence de domaine public (ce qui signifie que vous pouvez littéralement faire tout ce que vous voulez, y compris le revendre).

Si vous n'avez pas besoin de transactions atomiques, ou de vérification de type très intense, il n'y a probablement pas de meilleure base de données. Vous ajoutez la bibliothèque à votre application et cela fonctionne comme une base de données SQL. La plupart des langages de programmation ont des liaisons pour cela. Il serait difficile pour vous de décrire un cas où une autre base de données serait nécessaire.

2

Passez à SQLite. Il n'a pas besoin d'installation de la part de l'utilisateur final. Cela fonctionne juste.

2

Qu'en est-il d'une base de données d'objets comme db4o.net?

0

Avez-vous regardé SQL Server Express Ce n'est pas open source mais c'est gratuit. Je suis un grand fan de SQLite mais si vous êtes dans le monde .net et que vous voulez utiliser une pile microsoft, cela peut être un meilleur choix. Il fournit des choses comme T-SQL et un système de type fort que SQLite ne fournit pas. Il a des limites de performances et de taille de base de données non trouvées dans les versions complètes de SQL Server, mais cela n'a probablement pas d'importance pour votre application.

0

Je voudrais seconder les commentaires concernant SQLite. C'est génial pour ce que c'est - et pour les plus petites, pas de DB d'installation, ça marche très bien.

Cependant, il y a quelques autres options.

Firebird est une option. Il a une liste impressionnante de caractéristiques, et inclut également un fournisseur de .net (bien que dans la bêta encore).

Une autre option, bien que non open source, est VistaDB. C'est une option gérée à 100%, contrairement à SQLite et Firebird (et la plupart des autres bases de données), et elle a beaucoup d'avantages à cause de cela. C'est assez cohérent avec la syntaxe MS SQL, supporte les procédures stockées, et beaucoup d'autres fonctionnalités intéressantes. Ils ont une «édition Express» gratuite et peuvent être utilisés dans des projets open source.

0

Cela dépend de ce que vous voulez dire par "utilisateur final" Comme d'autres l'ont dit SQLite est un excellent choix si vous êtes à la recherche de quelque chose d'embarqué ou pour une utilisation de bureau. Si vous songez à une sorte d'application web, je dirais soit MySQL ou PostgreSQL car elles fourniront de meilleures performances et pourront gérer plus facilement un grand ensemble de données.

0

Si c'est Windows seulement Sql Server Compact Edition est un bon choix pour les petites applications. Il est librement redistribuable.

Questions connexes