سؤال

كان هناك الكثير من الحديث عن قواعد بيانات NOSQL NOSQL Directra-الثورية مثل cassandra ، couchdb ، hypertable ، mongodb ، مشروع Voldemort ، Bigtable ، وغير ذلك الكثير. بقدر ما أشعر بالقلق، فإن أقوى الايجابيات هي قابلية التوسع والأداء والبساطة.

أنا أفكر بجدية في الاقتراح باستخدام بعض DB غير العلائقي لمشروعنا التالي. ومع ذلك، فإن بعض الفرق تشكل بعض المتعصبين RDBMS، لذا فإن إقناع التبديل الثابت قد يكون مستحيلا في بعض الحالات فقط بسبب الأسباب العاطفية. أيضا، عندما يتعلق الأمر بنماذج البيانات المعقدة، أنا شخصيا ما زلت أؤمن بقوة RDBMS بآليات إنفاذ التثبيت المنخفضة المستوى.

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

هل يوصي أي شخص بمثل هذا النهج؟ أو هل تفضل أن توصي أسود أو أبيض، أي نهج علائقية أو غير علنية؟ جميع التعليقات موضع ترحيب كبير!


p.s: أي فكرة إذا كان هذا المزيج يعمل بشكل جيد مع الربيع والإسبات / JPA؟

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

المحلول

كتب روب كونري مؤخرا حول له تجربة بناء تطبيقه الشعبي على شبكة الإنترنت tekpub مع كل من mongodb و mysql، تسليط الضوء على نقاط القوة على حد سواء:

الاشياء عالية القراءة (معلومات الحساب، والإنتاج معلومات الحلقة) مثالية ل "الآن" نوع من الأشياء مثل MongoDB. الأشياء "ما حدث بالأمس" مثالية لنظام العلائقية.

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

يلخص مع هذا:

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

تحديث مايو 2016 (بعد 6 سنوات)

هذا أصبح صحيحا فقط في السنوات الستة الماضية. من الشائع الآن أن نرى قواعد بيانات NOSQL Power Transactional Transactional قواعد البيانات العلائقية التقليدية التي تعمل بقوة قواعد البيانات التحليلية.

نصائح أخرى

أنا استخدم كليهما.RDBMS جيدة للتحليل المعقد والتقارير والبيانات التي يتم الوصول إليها بطرق مختلفة من قبل عدة مستخدمين.NOSQL رائع عندما أبحث عن بيانات من منظور مستخدمي واحد.سؤال أسأل نفسي هو: "من هو الوصول إلى هذه البيانات؟".إذا كان الإجابة هو مستخدم واحد، فأنا أستخدم NOSQL لتخزينه.

بالطبع، هناك أوقات أخرى عندما تكون مناسبة، ولكن هذا مجرد مثال واحد.

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

قواعد بيانات القيمة الرئيسية غير العلائقية تستخدم أفضل لتخزين BLOB والتخزين المؤقت.

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