كيف تقارن SQLite و Disqlite عن قاعدة بيانات كبيرة بسيطة؟

StackOverflow https://stackoverflow.com/questions/2040266

سؤال

ما هي الاختلافات بين sqlite. و وافر ولماذا أريد اختيار واحد على الآخر؟

سياقتي هو أنني أتعامل مع قاعدة بيانات كبيرة (يمكن أن تصل إلى 10 جيجابايت)، والجزء الحرج الذي يوجد به في طاولة واحدة بسيطة للغاية مع حقل مفهرف واحد وحقل نص واحد يصل إلى عدد قليل من KB في الحجم. أداة التطوير الخاصة بي هي Delphi 2009 وسيتم تضمين قاعدة البيانات في بلدي .exe.

معاييري الرئيسية هي السرعة. سيكون هذا لتطبيق برنامج يعمل على جهاز كمبيوتر يعمل بنظام Windows نموذجي، كما أقول مع Windows 7 و 4 جيجابايت من ذاكرة الوصول العشوائي.

إذا كنت ترغب في اقتراح أداة قاعدة بيانات أخرى، فالرجاء أن تخبرني عن سبب كونها أفضل من هذين اثنين للتطبيق الخاص بي، خاصة على السرعة السريعة.

هل كانت مفيدة؟

المحلول

Afair، يستخدم DisQlite ملفات OBJ من SQLite، وتجميعها مع دلفي وإنتاج المزيد من ميزات أكثر من واحد الأصلي، واستخدام نفس تنسيق SQLite DB، وبالتالي يمكنك قراءة ملف قاعدة بيانات DisQlite بواسطة لغات أخرى تدعمها SQLite السائقين.

أيضا ميزة أخرى مع disqlite لا تضطر إلى توزيع DLL SQLite.

حجم قاعدة بيانات دعم DisQlite يصل إلى 2TB، لذلك يمكن أن يتعامل مع يتطلب دون مشاكل.

خيارات أخرى أود أن أعتبرها نسخة مضمنة Firebird، وإذا كنت ترغب في توسيع نطاقها، يمكنك التغيير إلى خادم Firebird الكامل دون الكثير من الجهد.

لكنني أعتقد أن كل من SQLite & disklite سيؤدي بشكل أفضل من Firebird.

أنا أستعمل مكونات AUDCOM SQLITE. للوصول إلى قواعد بيانات SQLite، ويمكنك ترجمةها باستخدام ملف SQLITE OBJS حتى لا تقوم بنشر DLL SQLite.

نصائح أخرى

أستطيع أن أقترح عليك كتابة التنفيذ الخاص بك. إذا كنت لا تحتاج إلى استفسارات SQL معقدة، فإن أبسط (وربما الأسرع) التنفيذ هو التخزين المستندة إلى الملفات.

يحتوي DISQLLITE على نسختين مع واحد محدود من الاستخدام الشخصي وغير التجاري. لذلك يمكن أن يكون هذا أحد العامل المحدد لأن SQLite هو تطبيق مجاني للمباهدين دون إصدارات مجانية / مدفوعة الأجر.

ستتمكن كلا من قاعدة البيانات من التعامل مع البيانات التي تتراوح بين gbs. SQLite متوفر في DLL ثنائي المترجمة مسبقا والتي يمكن توزيعها على طول طلبك. ومع ذلك، مع توفر التعليمات البرمجية المصدرية، يمكنك أيضا تجميعها داخل التطبيق الخاص بك واستخدامها دون الحاجة إلى DLL.

ميزة استخدام وحدة DLL (في بعض الأحيان) هي عندما يتم حل بعض الأخطاء، ستحتاج ببساطة إلى استبدال DLL في جهاز العميل بدلا من إعادة إدخال التطبيق بأكمله.

أشعر أن SQLite سيكون خيارا أفضل لمتطلبات اليوآن. سرعة قاعدة البيانات ليست كليا بناء على نوع قاعدة البيانات. الأجهزة مثل سرعة الوصول إلى الأقراص الصلبة، قوة المعالجة المتاحة، RAM وما إلى ذلك تلعب أيضا دورا مهما في قاعدة البيانات المتسرعة.

لاحظ أن النسخة الشخصية DisQLLITE لديها بعض القيود ولا أعتقد أن سعر الإصدار المهني (149.99 يورو دون مصدر) يستحق كل هذا العناء عندما يمكن لأي شخص تطبيق مجمع SQLite مجانا.

كنت أستخدم DisQlite شخصي لمنتج مجاني واضطر إلى تطبيق تغيير قاعدة بيانات في إصدار إصدار جديد. لا يدعم الإصدار الشخصي "تغيير" لذلك واجهت الاضطرار إلى شراء النسخة الكاملة. لذلك أنا مخفف من disklite وذهب فقط مع غلاف SQLite جيد. فقط اذهب إلى disqlite إذا كنت مستعدا لدفع ثمن النسخة الكاملة.

sqlite4delphi. قد يكون خيارا أفضل، أو على الأقل توجيه إلى حل أكثر فعالية من حيث التكلفة.

نلقي نظرة على لدينا وحدة synbigtable. وبعد سيكون أسرع بكثير من sqlite, ويبدو أنها تناسب الغرض الخاص بك بالضبط.

وإذا كنت بحاجة إلى تنفيذ SQLite الأصلي، نلقي نظرة على موقعنا إطار sqlite3: إنه مجاني ومفوعي، دون أي DLL خارجي. ويحتوي على بعض الميزات الأخرى من DisQlite المغلقة (مثل الطبقات الأصلية Delphi لتنفيذ وظائف SQL أو الجداول الافتراضية).

بالنسبة إلى POV Performance POV، لن يكون الاختناق هو التفاف الذي تستخدمه، ولكن الوصول إلى القرص، وكيف يمكنك إعداد قاعدة البيانات الخاصة بك. لا تنسى أن تستخدم الفهارس لاسترداد بياناتك بأسرع وقت ممكن. ثم حتى 10 غيغابايت من البيانات لن تكون مشكلة بالنسبة ل SQLite، أيا كان المجمع الذي تستخدمه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top