جزءا لا يتجزأ التناظرية من CouchDB نفس سكليتي ل SQL Server

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

سؤال

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

متطلبات بلدي هو فقط:

  1. persistance التخزين المخطط أقل من البيانات ؛
  2. بعض بسيطة في proc quering;
  3. من الجيد أن يكون المعاملات الإصدارات;
  4. روبي API ؛
  5. خريطة/تقليل هي أيضا جيدة أن يكون ؛
  6. يجب أن تعمل على استضافة مشتركة

ما لا تحتاجين للراحة/HTTP واجهات (سيتم استخدامه في proc).أيضا لا تحتاج كل قابلية الأشياء.

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

المحلول

حل بسيط جدا سيكون PStore من روبي المكتبة القياسية.يجب أن نلتقي تقريبا جميع الاحتياجات الخاصة بك:

  1. PStore مخازن روبي الهرمية الكائن في الملفات بحيث يمكنك بسهولة استخدام التجزئة مثل الهياكل سيكون لديك في CouchDB
  2. يمكنك الوصول إلى محتويات PStore مع API بسيط
  3. وقد المعاملات ، ولكن لا الإصدارات بقدر ما أعرف
  4. نعم
  5. يمكنك استخدام روبي خريطة وحقن وظائف
  6. كل ما تحتاجه هو الوصول إلى نظام الملفات

على سبيل المثال:

إدراج البيانات في المتجر:

require 'pstore'
store = PStore.new("/tmp/store")
store.transaction do
  store["products"] = [{:name => "Test", :price => 100}
                       {:name => "Bla", :price => 120}
                       {:name => "Oink", :price => 300}]
end

الاستعلام عن مجموع أسعار جميع المنتجات:

store.transaction do
  store['products'].map {|p| p[:price]}.inject {|sum, p| sum + p}
end

مزيد من المعلومات في هذا بلوق وظيفة

نصائح أخرى

يبدو أنك تحتاج بيركلي DB.انه يفعل كل شيء لك قائمة باستثناء خريطة/الحد.

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