سؤال

أقوم بتطوير تطبيق Rails الذي يمكنه الوصول إلى الكثير من خلاصات RSS أو مواقع الزحف للبيانات (معظمها أخبار).سيكون الأمر مثل أخبار Google ولكن بأسلوب مختلف، لذلك سأقوم بتخزين الكثير من الأخبار (أو ملخصات الأخبار)، وتصنيفها في فئات مختلفة واستخدام تقنيات التصنيف والتوصية.

  • هل يجب أن أذهب مع MySQL؟

  • هل من المفيد استخدام IBM DB2 PureXML لتخزين الوضعات؟كما أن تطبيقات البحث Ruby (Ferret و UltrasPhinx وغيرها) ليست ضرورية إذا اخترت DB2.هل هذا صحيح؟

  • ما هي مزايا postresql في هذا؟

  • هل من المنطقي استخدام الأريكة DB في هذا السيناريو؟

أرغب في اختيار الخيار الأفضل ولكن دون المبالغة في تعقيد الحل.لذلك تجاهلت فكرة استخدام حلين مختلفين للتخزين (أحدهما للمستندات الإخبارية والآخر لبقية البيانات).أنا أفكر أيضًا في الخيارات "المجانية" فقط، لذلك لم أنظر إلى Oracle أو MS SQL Server.

شكرا لك مقدما.

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

المحلول

إن purexml أثقل من SQL، لذلك تدفع أكثر مقابل رحلة الذهاب والإياب بين خادم الويب وقاعدة البيانات.إذا كنت تخطط للحصول على الكثير من المستخدمين، فسأتجنب ذلك، ومن الأفضل أن تسمح لخادم الويب الخاص بك بتخزين الطلبات مؤقتًا، وبالتالي تجنب إنشاء ملف xml(rss) في كل مرة، إذا كان هذا هو ما تفكر فيه.

سأختار MySQL لأنه جيد جدًا في تقديم الخدمة كما أنه مجاني تمامًا، حسنًا، PostgreSQL كذلك، لكنني لم أستخدمه لذا لا أستطيع أن أقول ذلك.

قد يكون CouchDB منطقيًا، ولكن ليس إذا كنت تخطط لإجراء OLAP (تحليل دون اتصال) لبياناتك، فسيكون نظام RDBMS العادي أفضل في ذلك.

نصائح أخرى

مع الاعتراف أولاً بأنني لا أحب MySQL بشكل عام، سأقول أنه كانت هناك كتابة حول هذا الموضوع فيما يتعلق بـ postgres:

http://oldmoe.blogspot.com/2008/08/101-reasons-why-postgresql-is-better.html

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

من المحتمل أن يكون MySQL واحدًا من أفضل الخيارات المتاحة؛خفيف وسهل التثبيت والصيانة ومتعدد المنصات ومجاني.علاوة على ذلك، هناك بعض أدوات العميل المجانية الجيدة.

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

وبالتالي، يدعم MySQL التقسيم الرأسي ولكن فقط من الإصدار V 5.1.ضع ذلك في الاعتبار.

هتافات،

جاكوبو.

يبدو لي أن التطبيق الذي ستقوم بإنشائه يمكن أن يصبح بسهولة تطبيق ويب واسع النطاق.أود أن أقترح PostgreSQL، لأنه معروف بموثوقيته.

يمكنك التحقق من الرابط التالي - يخبرنا Bob Ippolito من MochiMedia عن سبب تخليهم عن MySQL لصالح PostgreSQL.على الرغم من أن عمر المنشورات يزيد عن 3 سنوات، إلا أن مشكلات MySQL 5.1 تميل مؤخرًا إلى إثبات أنها لا تزال ذات صلة.

http://bob.pythonmac.org/archives/category/sql/mysql/

MySQL جيد في الإنتاج.لم أستخدم PostgreSQL للقضبان، ولكنه حل جيد أيضًا.

في بيئات التطوير والاختبار، سأبدأ باستخدام SQLite (افتراضي)، وربما أنتقل إلى قاعدة البيانات المستهدفة في بيئة الاختبار عندما تقترب من الاكتمال.

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