الجمع بين "قواعد البيانات" العلائقية والقائمة على المستندات

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

سؤال

أقوم بتطوير نظام يدور حول أرشفة الوسائط والبحث والتحميل والتوزيع وبالتالي التعامل مع كائنات تخزين البيانات كبيرة الحجم (BLOBs).

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

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

يعد تخزين كائنات تخزين البيانات كبيرة الحجم (BLOBs) كملفات مباشرة على نظام الملفات وتخزين مسارها في قاعدة البيانات أمرًا سيئًا إلى حد ما ويجب إدارة التوزيع يدويًا، وتتبع النسخ المختلفة بنفسي.لا أريد حتى أن أقترب من ذلك.

لقد ألقيت نظرة على CouchDB وأعجبني حقًا تصميمها القائم على نظير إلى نظير.وهذا من شأنه أن يسمح لي بتشغيل مجموعة موزعة من الأجهزة عبر الإنترنت، ويعني ذلك ما يلي:

  • الأجهزة منخفضة التكلفة
  • التوزيع للتكرار والفشل خارج الصندوق
  • واجهة REST خفيفة الوزن

لذلك إذا فهمت الأمر بشكل صحيح، فيمكن للمرء تلخيصه على النحو التالي: السحابة مثل واجهة برمجة التطبيقات (API) والنظام المُدار ذاتيًا والموزع والمكرر

يقوم باقي النظام بالأشياء العادية التي يقوم بها أي تطبيق ويب متوسط:التعامل مع الجلسة والأمن والمستخدمين والبحث وما شابه.بالنسبة لهذا الجزء، ما زلت أرغب في استخدام نموذج بيانات علائقي.(مطالبات CouchDB لا ليكون بديلاً لقواعد البيانات العلائقية).

لذلك سأحصل على جميع البيانات القياسية، بما في ذلك بيانات BLOB البيانات الوصفية في قاعدة البيانات العلائقية ولكن BLOBs نفسها في CouchDB.

هل ترى مشكلة في هذا النهج؟هل أفتقد شيئًا مهمًا؟هل يمكنك التفكير في حلول أفضل؟

شكرًا لك!

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

المحلول

يمكنك تجربة قاعدة بيانات Amazon العلائقية SimpleDB وS3 معًا SimpleJPA.SimpleJPA هو تطبيق JPA أعلى SimpleDB.يستخدم SimpleJPA SimpleDB للبنية العلائقية وS3 لتخزين BLOBs.

نصائح أخرى

نلقي نظرة على MongoDB, ، فهو يدعم تخزين البيانات الثنائية بتنسيق فعال وسريع بشكل لا يصدق

لا مشكلة.لقد قمت بتصميم مشابه جدًا لذلك التصميم.قد ترغب أيضًا في إلقاء نظرة خاطفة على HBase كبديل لـ CouchDB والنمط المعماري Adaptive Object-Model، كوسيلة لإدارة بياناتك وبياناتك الوصفية.

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