database - للموظفين - كيفية انشاء قاعدة بيانات sql




استخدام قاعدة بيانات مع كلوجور (8)

ما هي الطرق لاستخدام قاعدة بيانات من كلوجور هناك؟

وأنا أعلم من كلوجور يمكنك أن تفعل أي شيء يمكنك مع جافا، ولكن هذا يعني أنني قد ينتهي استخدام شيء أكثر تعقيدا (مثل الإسبات) التي تتصادم مع كلوجور البساطة. أي توصيات أو تعليقات؟


كلوجور المساهمة ديه مكتبة سكل وهو المجمع رقيقة حول جدبك (java.sql.DriverManager). ملف الاختبار الذي يأتي مع بعض الأمثلة على استخدامه.


لقد استخدمت بيركلي دب لقاعدة بيانات مفتاح / قيمة بسيطة في كلوجور. انظر هنا .



وأود الآن (اعتبارا من أواخر عام 2011) يوصي كورما - "سكل لذيذ ل كلوجور"

انها جميلة دسل سكل قليلا، وهنا مثال من الموقع:

(select users
  (aggregate (count :*) :cnt)
  (where (or (> :visits 20)
             (< :last_login a-year-ago))))

إذا كنت بحاجة إلى اتصالات مستمرة و / أو اتصالات لقواعد بيانات متعددة ولا تريد إعادة إنشاء اتصالات في كثير من الأحيان أنصح باستخدام برك اتصال دب. شيء مثل بونيكب أو تومكات كب.

يمكنك توريد داتاسورسز من تلك الحزم ل (clojure.contrib.sql / مع اتصال ...).


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


أحدث وأكبر لقواعد بيانات سكل يبدو أن هونسكل و يسكل .

هونسكل هو دسل أنيقة جدا لتوليد الاستعلامات سكل. هناك شائعات حتى أنه يمكن تعديل البيانات ليكون الأمثل للغاية، انظر الموضوع كلوجور المجموعة " الحالية أفضل من سلالة جدبك المكتبات " من 24 فبراير 2015.

يقول نيلز فان كلافيرن في الموضوع المذكور أعلاه:

"في الأساس، يقوم [هونسكل] بإنشاء مخطوطات سكل لإعادة ربط مراجع المفتاح الخارجي لتنظيف النسخ المكررة في قاعدة بيانات، حيث يستغرق استعلام هونيسكل مع (على الأقل) from الجدول، و" group-by و order-by تعريف قاعدة ما يجب اعتبارها مضاعفة، والتي يجب الحفاظ على السجلات النظام.في تركيبة مع البيانات الوصفية جدبك أن الاستعلام بشكل فعال يحصل إعادة كتابة لتوليد:

  • جدول بديل مؤقت
  • طلبات البحث لتوحيد الفهارس الفريدة، لمنع الاشتباكات عند تحديث المراجع الرئيسية الخارجية
  • طلبات البحث لتحديث كافة مراجع المفاتيح الخارجية
  • احذف العبارات لإزالة جميع التكرارات

لإنشاء أفضل أداء، ولكن لا يزال قاعدة بيانات مستقلة سكل، كان لي لتمديد هونيسكل مع شروط إضافية مثل OVER و PARTITION BY . لم أكن أقول أنه كان نسيم، ولكن يبدو أن تعمل بشكل جيد للغاية.

...

أن خفض سكل إلى (أحيانا) غب من البرنامج النصي إلى حوالي بضع خطوط 100 سكل، وفي مناسبة واحدة، وقت التشغيل من 19 ساعة إلى 1.5 دقيقة. "

يسكل ، من ناحية أخرى، تهدف إلى البساطة الكلية. وهو يحدد بعض الوظائف لتحميل المعلمة .sql -files.

تشير صفحة الويب إلى "أوسبس" التالية:

  • لا المفاجآت النحوية. قاعدة البيانات الخاصة بك لا تلتزم معيار سكل - لا شيء منهم - ولكن يسكل لا يهتم. وأنك لن تنفق الوقت في البحث عن "بناء سيكسسب ما يعادلها". سوف تحتاج أبدا إلى التراجع إلى (raw-sql "some('funky'::SYNTAX)") وظيفة.
  • دعم محرر أفضل. ربما يكون لدى محررك بالفعل دعم سكل كبير. عن طريق الحفاظ على سكل كما سكل، يمكنك الحصول عليه لاستخدامه.
  • فريق التشغيل البيني. يمكن ل دبا الخاصة بك قراءة وكتابة سكل التي تستخدمها في مشروع كلوجور الخاص بك.
  • سهولة ضبط الأداء. هل تحتاج إلى توضيح خطة الاستعلام هذه؟ انها أسهل بكثير عندما الاستعلام الخاص بك هو سكل العادية.
  • إعادة استخدام طلب البحث. إسقاط ملفات سكل نفسها في مشاريع أخرى، لأنهم مجرد عادي رأ 'سكل. مشاركتها باعتبارها سوبودول.





clojure