Question

Quelles sont les différences entre SQLite et DISQLite et pourquoi voudrais-je choisir un sur l'autre?

Mon contexte est que je traite une grande base de données (peut-être jusqu'à 10 Go), la partie critique qui est très simple table avec un seul champ indexé et un champ de texte à quelques Ko en taille . Mon outil de développement est Delphi 2009 et la base de données sera intégrée dans mon .exe.

Mes principaux critères est la vitesse. Ce serait pour une application logicielle en cours d'exécution sur un ordinateur Windows classique, par exemple avec Windows 7 et 4 Go de RAM.

Si vous souhaitez proposer un autre outil de base de données, s'il vous plaît me dire pourquoi il serait mieux que ces deux pour mon application, en particulier à la frontière de la vitesse.

Était-ce utile?

La solution

AFAIR, DISQLite utilise les fichiers OBJ de SQLite, et les compiler avec Delphi et produire plus de fonctionnalités que celui d'origine, et en utilisant le même format SQLite DB, donc vous pouvez lire le fichier de base de données DISQLite par elle par d'autres langues qui a soutien pour les conducteurs SQLite.

En outre une fonctionnalité de plus avec DISQLite vous n'avez pas à distribuer le Sqlite DLL.

DISQLite taille base de données prend en charge jusqu'à 2 To, il pourrait gérer votre exige sans problème.

Une autre option que je considérerais est FireBird version embarquée, et si vous voulez à l'échelle plus, vous pouvez changer de serveur FireBird complet sans beaucoup d'effort.

Mais je pense que les deux SQLite et DISQLite exécuteront mieux que Firebird.

J'utilise Audcom composants Sqlite pour accéder à des bases de données SQLite, et vous pouvez compiler avec le fichier SQLite de sorte que vous n'aurez pas déployer dll SQLite.

Autres conseils

Je vous suggère d'écrire votre propre implémentation. Si vous n'avez pas besoin de requêtes complexes SQL, la mise en œuvre plus simple (et probablement le plus rapide) est le stockage basé sur des fichiers.

DISQLLite a deux versions avec le libre limité à un usage personnel et non commercial. Donc, cela pourrait être l'un des facteur décisif SQLite est la mise en œuvre de opensource gratuit sans versions gratuites / payantes.

Les deux la base de données serait en mesure de traiter des données allant dans SGB. SQLite est disponible en savoir binaire pré-compilé DLL qui peut être distribuée le long de votre application. Cependant, avec le code source disponible, vous pouvez également compiler dans votre application et l'utiliser sans la nécessité d'une DLL.

L'avantage d'utiliser le module DLL (parfois) est quand certains des bogues sont résolus simplement vous demandera de remplacer la DLL à la machine cliente au lieu de recompiler l'ensemble de l'application.

Je me sens SQLite serait une meilleure option pour yor exigence. La vitesse de base de données n'est pas entièrement basée sur le type de base de données. Matériel comme la vitesse d'accès disque dur, la puissance de traitement disponible, RAM etc jouent également un rôle important dans l'accélération de la base de données.

Notez que la version personnelle DISQLLite a des limites et je ne pense pas que le prix de la version professionnelle (Euro 149,99 sans source) est la peine quand on peut tout mettre en œuvre une enveloppe de SQLite gratuitement.

J'utilisais personnel DISQLite pour un produit freeware et a dû mettre en œuvre un changement de base de données dans une nouvelle version de version. La version personnelle ne prend pas en charge « ALTER » donc je suis confronté à avoir à acheter la version complète. Donc, je DISQLite et laissé tomber juste allé avec un bon emballage SQLite. Seulement aller DISQLite si vous êtes prêt à payer pour la version complète.

SQLite4Delphi pourrait être une meilleure option, ou tout au moins vous à une solution plus rentable.

Jetez un oeil à notre unité SynBigTable . Il est sera beaucoup plus rapide que SQLite, et semble correspondre exactement votre but .

Et si vous avez besoin d'une implémentation native SQLite, jetez un oeil à notre cadre SQLite3 : il est gratuit et OpenSource, sans dll externe. Et a plus de fonctionnalités que la DiSQLite fermée (comme Delphi classes natives pour implémenter des fonctions SQL ou tables virtuelles).

Pour la POV performance, le goulot d'étranglement ne sera pas l'emballage que vous utilisez, mais l'accès au disque, et comment configurer votre base de données. Ne pas oublier d'utiliser les index de rel="nofollow"> pour récupérer vos données aussi vite que possible. Ensuite, même 10 Go de données ne sera pas un problème pour SQLite, quel que soit wrapper que vous utilisez.

scroll top