سؤال

نحن نضع لإنشاء منصة عبر الإنترنت (API ، الخوادم ، البيانات ، Wahoo!). بالنسبة للسياق ، تخيل أننا نحتاج إلى بناء شيء مثل Twitter ، ولكن مع التعليقات (التغريدات) التي تم تنظيمها حول حدث مباشر. يجب تسليم المعلومات حول الحدث المباشر نفسه للعملاء بأسرع وقت ممكن ، في حين أن التعليقات حول الحدث قد تنتظر لفترة أطول قليلاً لتسليمها. سنكون ثقيلًا بعد انتهاء الحدث المباشر.

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

أنا مقتنع بأنني أريد تجربة متجر مستندات بدلاً من RDBMS. أحب فكرة التخزين الخالي من المخطط ووعود قابلية التوسع بسهولة من خلال التركيز على القيمة الرئيسية.

المشكلة هي أنني لا أعرف التكنولوجيا الأكثر ملاءمة لمنصتنا. لقد نظرت إلى الأريكة والمونغو وخزانة طوكيو وكاساندرا و RDBMs مع وثائق blobbed. أي مساعدة في اختيار الأداة المناسبة لهذه الوظيفة بالذات؟

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

المحلول

الخروج مقارنة بدائل SQL بواسطة BJ كلارك.

قابلية التوسع مهمة جدا.

ثم تحتاج إلى النظر في مقتطفات من مدونته:

  1. خزانة طوكيو - لا يتوسع
  2. redis - لا يتوسع
  3. مشروع فولدمورت - المقاييس
  4. Mongodb - limted (تم تنفيذ Sharding)
  5. كاساندرا - المقاييس
  6. Amazon S3 - المقاييس
  7. أريكة - لا يتوسع (تجمع & تكرار)
  8. MySQL - لا يتوسع

والنظر ارتفاع. هذا أيضًا منافس جاد في بدائل NO-SQL. إنه تطبيق مفتوح المصدر لمفهوم Google Bigtable. أعتقد أنه يتوافق بشكل جيد لأنه يستخدم على نطاق واسع من قبل محرك البحث الصيني Baidu وبوابة الترفيه Rediff.

كنت تقولين:

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

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

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

نصائح أخرى

راميش لديه ملخص جيد. أود أن أضيف أن كاساندرا لديها نموذج بيانات أكثر ثراءً من استنساخ فانيليا دينامو (مثل فولدمورت أو Dynomite): الصفوف ذات الأعمدة المسماة ، بدلاً من المفتاح/القيمة فقط. يتم استخدام Cassandra بواسطة Twitter و Mahalo و Ooyala و Simplegeo و Webex وغيرها (http://n2.nabble.com/cassandra-users-survey-td4040068.html) ، على الأقل بعضها يدير مجموعات كاساندرا على خوادم سحابة EC2 أو Rackspace.

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

http://www.julianbrowne.com/article/viewer/brewers-cap-heorem

إنها ليست أشياء سهلة ولكن عليك أن تختار ، فهناك دائمًا نوع من التجارة.

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