سؤال

وقد نظرت باستخدام شيء على غرار أمازون SimpleDB تخزين البيانات الخاصة بهم الخلفية قاعدة البيانات ؟

SQL Server hosting (على الأقل في المملكة المتحدة) مكلفة لذا يمكن لشيء مثل هذا جنبا إلى جنب مع cloud file storage (S3) تستخدم في بناء التطبيقات التي يمكن أن تنمو مع التطبيق الخاص بك.

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

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

المحلول

هذا تحليل جيد الأمازون خدمات من يجرؤ.

S3 التعامل مع ما كنت عادة سمعت وصفها بأنها "النقطة التخزين".نموذجي تطبيق ويب عادة ملفات الوسائط وغيرها من الموارد (صور, المغلق, مخطوطات, ملفات الفيديو, الخ) التي يتم الوصول إليها ببساطة عن طريق الاسم/المسار.غير أن الكثير من هذه الموارد أيضا البيانات الوصفية (مثلملف فيديو على موقع يوتيوب يحتوي البيانات الوصفية عن ذلك التصنيف ، من تحميله, عدد المشاهدات, الخ) التي تحتاج إلى تخزينها كذلك.هذه الحاجة queryable, schematized التخزين حيث SimpleDB يأتي في.EC2 يوفر الملقم الظاهري الذي يمكن استخدامه في حساب كامل مع نظام الملفات المحلي سبيل المثال وهي ليست ثابتة إذا كان الملقم الظاهري تنزل لأي سبب من الأسباب.مع SimpleDB و S3 لديك اللبنات الأساسية لبناء فئة كبيرة من "ويب 2.0" على غرار التطبيقات عند رمي في القدرات الحسابية التي تقدمها EC2.ومع ذلك لا S3 ولا SimpleDB يوفر حلا المطور الذي يريد ببساطة نموذجية مصباح أو يسك المطور تجربة بناء قاعدة بيانات مدفوعة تطبيقات الويب أو التطبيقات التي قد تكون مخصصة لتلبية احتياجات التخزين التي لا تنسجم بدقة مع دلاء من النقطة التخزين أو schematized التخزين.دون الوصول إلى المستمرة الملفات ، المطورين في موقع أمازون منصة الحوسبة السحابية قد حان حتى مع الحلول المتطورة التي تنطوي على دعم البيانات يدويا من EC2 إلى S3 للحصول على الخبرة المطلوبة.

نصائح أخرى

لقد انتهيت للتو من كتابة المكتبة ترقية التطبيق إلى simpledb في بيرل سهلة ، صافي::الأمازون::SimpleDB::بسيطة لأنني وجدت الأمازون مكتبات العميل مؤلمة.المكتبة ليست على CPAN بعد ، ولكنه في http://rjurneyopen.s3.amazonaws.com/SimpleDB/Simple.pm كانت الفكرة أن تجعل تافهة الاشياء التجزئة في SimpleDB.

لقد استدار التطبيق لاستخدامه.عموما أنا معجب SimpleDB...حتى غير فعالة الاستفسارات تأخذ فقط 2-3 ثوان العودة.SimpleDB لا يبدو أن الرعاية عن حجم الجدول الخاص بك ، نظرا إرلانج/موازية الطبيعة.Tablescans سهلة لذلك.

الألم يأتي من حقيقة أنه لا يمكنك الاعتماد ، المجموع أو الجماعة من قبل.إذا كنت تخطط على القيام بأي من تلك الأشياء...ثم SimpleDB ربما ليست لك.في هذه اللحظة من حيث الأداء الوظيفي أنه موجود في مكان ما بين أعطها و MySQL.يمكنك اختيار النظام عن طريق الحد ، التي هي لطيفة.أيضا من الجميل أن لم يكن لديك إلى نطاق بنفسك و لطيفة أنه لا يهمني كم كنت الأشياء في ذلك.ولكن أكثر عمليات متقدمة مثل تحليلات مؤلمة في أحسن الأحوال.عليك أن تفعل الحسابات الخاصة بك من جانب الخادم.أيضا زائد كبيرة على أي جهاز كمبيوتر لا يمكن استخدام simpledb CLI http://code.google.com/p/amazon-simpledb-cli/ الاستعلام عن البيانات الخاصة بي.

هناك بعض الخلط 'gotchas.' على سبيل المثال, سمات يمكن أن يكون أكثر من قيمة واحدة و يجب عليك صراحة 'محل' عند تخزين العناصر.أيضا, تخزين صندوق الأمم المتحدة للديمقراطية أو null سلسلة النتائج في مكتبة الخطأ, بدلا من حذف تلك السمة الاسم/القيمة زوج أو وضع null/سلسلة فارغة.

تعلم التفكير في إلى حد كبير في الأمم المتحدة تطبيع طريقة غريبة جدا, الذي هو السبب في أنني أؤيد الاقتراح أعلاه أن يقول فمن الأفضل للتطبيقات الجديدة.ترقية من SQL التطبيق SimpleDB ستكون مؤلمة لأن التطبيق الخاص بك المنطق أن تضطر إلى تغيير.طريقة القيام بأشياء مختلفة قليلا.الأمازون مستندات جيدة جدا في شرح هذا.

كل هذا غير القابلة للاستخراج في المكتبة التي تقع على قمة SimpleDB ، لذلك من SimpleDB سوف تحتاج إلى اختيار مكتبة جيدة...ربما كنت لا ترغب في التعامل معها مباشرة.هناك بعض العمل على PHP الجانب لجعل الأمور سهلة و هناك مكتبتي.هناك القضبان activesource, ولكن لا يبدو أن تفعل الكثير بالنسبة لك.

جميع في كل شيء لا يزال مبكرا في اللعبة, ولكن بالمقارنة مع غيرها من واجهات برمجة التطبيقات (تويتر يتبادر إلى الذهن) ، يجب أن أقول أن SimpleDB بقية API بسيطة جدا (خصوصا أنه XML) و مهذبا للعمل مع.أود أن أوصي به...اعتمادا على متطلبات التطبيق الخاص بك و الاقتصاد في استخدام ذلك.إذا كنت تبحث عن مقياس سرعة الخدمة التي لا يضع حمولة كبيرة على ديسيبل و لا يريدون لعناء مع تحجيم MySQL/memcache السرد...ثم SimpleDB يمكن أن تقدم "بسيط" الحل بالنسبة لك.

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

نحن نستخدم SimpleDB تقريبا حصريا لدينا مشاريع جديدة.صفر الصيانة, توافر عالية ، أي تثبيت جوانب هي مجرد جيدة جدا.و روبي المطورين ، تحقق SimpleRecord, ، ActiveRecord مثل واجهة SimpleDB مما يجعل من السهل استخدام.

ولكن هل حقا بحاجة SQL Server?لا يمكنك العيش مع كيو أو الخلية ؟ سواء ثبت أن تكون على ما يرام بالنسبة لمعظم المهام.

الآن إذا كنت بحاجة إلى ميزات SQL Server إذا كنت من الحظ.

وثمة خيار آخر هو استئجار الخادم.كيف مكلفة مكلفة ؟

(لقد استعملت الأمازون S3 لتخزين الصور على تطبيق بأس ويعمل بشكل جيد على الأقل من أجل ذلك)

أنا لم تستخدم SimpleDB ، ولكن تم استخدام مزيج من S3 ، EC2 و MySQL على التطبيق لدينا.

طالما كنت على استعداد لاستخدام SimpleDB ، فإنك قد تنظر في استخدام الخلية (التي هي قابلة للغاية و غير مكلفة).

على S3 EC2 هو عظيم في الممارسة العملية أيضا.

SimpleDB يعمل كبيرة للعديد من التطبيقات....إذا كان المشروع الخاص بك سوف تتطلب الكثير من التقارير التحليلية, الانضمام, الخ, قد تفكر في الخلية أو هجين-نموذج.

إذا كنت تذهب SimpleDB ، قمنا بتطوير Radquery.com للاستخدام الداخلي و فتحه للجمهور.

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