2010-07-31 6 views
1

Est-ce que quelqu'un sait si c'est une bonne solution d'utiliser SQLite dans un environnement multi-thread. Je veux remplacer SQL Server par une base de données plus simple et intégrée, car il n'est pas nécessaire d'alimenter une base de données de serveur aussi grande. La taille maximale supposée de DB serait de 4 gigaoctets après 4-5 ans d'utilisation. Est-ce normal pour DB intégré? Cela pourrait-il affecter les performances?Remplacer SQLite avec SQL Server?

+0

SQL Server ou SQL Server Compact Edition? Compact Edition est intégrable. Il y a un monde de différence entre SQL Server non-Compact Edition et SQLite ... –

Répondre

1

Je ne sais pas de quelle distribution vous parlez ici. J'ai seulement utilisé SQLite.NET et je sais qu'il fonctionne bien sur les applications multithread.

Il peut également être déployé sur des systèmes client-serveur, donc vous n'avez pas besoin de vous inquiéter du tout. Considérant l'affirmation de Vinko sur les bases de données «réelles», vous pouvez l'ignorer. SQLite vaut vraiment le coup.

Si vous travaillez avec .NET, vous pouvez trouver ce lien utile: http://sqlite.phxsoftware.com

+1

Le bit 'real' des bases de données n'était pas destiné à dissoudre SQLite, ce qui est génial pour ce que c'est, et il ne vise pas à remplacer les serveurs SGBDR complets car il manque, par conception, de nombreuses fonctionnalités des bases de données «réelles». –

+0

Voir http://sqlite.org/faq.html#q5 –

1

Selon le documentation SQLite est thread-safe, mais il existe des mises en garde.

1

Vous pouvez utiliser SQLite dans un environnement multithread, mais si et seulement si vous en construisez une version spéciale (et découvrez si la bibliothèque que vous utiliserez le supporte et si elle ne l'est pas). Donc, en supposant que votre bibliothèque prenne en charge SQLite multithread, si vous avez vraiment besoin d'un niveau élevé de concurrence pour la base de données, vous préférerez peut-être utiliser une base de données «réelle». Qu'il s'agisse de MSSQL ou de toute autre chute hors du champ de la question. Considérons MySQL et SQL Server Express, par exemple.

Si votre niveau de concurrence est faible, SQLite peut y faire face.

2

Cela dépend du type de requêtes que vous utiliseriez. Si les requêtes sont de simples sélections avec des jointures simples, alors SQLite pourrait bien se passer mais je pense que vous seriez encore mieux avec e. g. Firebird 2.5 quand la version stable sort (RC3 est disponible maintenant). Vous auriez un SQL plus riche avec lequel travailler. Je ne sais pas combien de charges en vrac sont importantes pour vous, mais ni SQLite ni Firebird ne sont très forts dans ce domaine. Si vous avez besoin de bonnes performances d'encapsulage en vrac et de faibles coûts, alors vous devriez regarder PostgreSQL ou MySQL. Il y a aussi une base de données très intéressante sur laquelle je suis tombé récemment sur CUBRID. Je ne l'ai installé jusqu'ici, donc je ne peux pas dire à quel point c'est bon ou mauvais, mais il semble certainement valoir le coup d'oeil. Vous pouvez également regarder cet article de wikipedia: http://en.wikipedia.org/wiki/Comparison_of_relational_database_management_systems

0

Je vous propose aussi de jeter un oeil à la CUBRID database. Il a de bonnes optimisations pour les applications Web et il est facile à apprendre.

Questions connexes