هل يمكنني إنشاء مخطط مجال فقط (بدون أي بيانات) في Amazon Simpleedb؟

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

سؤال

أنا أقوم بتقييم الأمازون simpleedb في هذا الوقت. SimpleDB مرن للغاية بمعنى أنه ليس لديك مخططات جدول (أو مجال). يتطور المخطط كأودية إنشاء / تحديث تدفق. كل هذا جيد ولكن أثناء استخدام أداة النمذجة (تقييم MindScape Lightspeed)، أحتاج إلى المخطط مقدما، من أجل توليد الأداة من النماذج المستندة إلى المخطط. يمكنني إجراءات الحرف اليدوية في simpleedb وهذا يساعد ولكن لذلك يجب أن أقوم بإجراء عملية واحدة على الأقل على المجال. أنا أبحث عن القدرة على إنشاء مخطط المجال فقط. أي أدلة؟

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

المحلول

لا يوجد مخطط في simpleedb.

هذا هو السبب في أن الأشخاص NOSQL يشيرون إلى قواعد البيانات العلائقية "غير قابلة للإصلاح" قبل تحويل النموذج إلى مخازن البيانات غير العلائقية هذه.

لذلك، لا يمكنك أن تفعل ما تصفه. بدون البيانات، لن يكون هناك شيء.

نصائح أخرى

على الرغم من أنه صحيح أن SimpleDB ليس لديه دعم مخطط، فإن إبقاء بعض المعلومات من النوع يتحول إلى حاسم إذا قمت بتشغيل استعلامات على البيانات الرقمية أو التواريخ *. معظم منتجات NOSQL لديها كل من الاستعلامات والأنواع، أو عدم الاستفسارات وغيرها من أي أنواع، ولكن simpleedb اختار الاستفسارات وغير الأنواع.

نتيجة لذلك، سيتطلب منك دمج أي أداة خارج تطبيقك الرئيسي إما:

  1. تخزين معلومات نوع مكررة في أماكن مختلفة
  2. قم بإنشاء نظام مخطط بسيط خاص بك لتخزين معلومات النوع

يبدو الخيار 2 أفضل بكثير واختياره، على الرغم من ما يقترح البعض، لا يعني أنك "لا تملك عقلك".

يمكن أن يكون S3 خيارا جيدا لهذه البيانات، يمكنك الاحتفاظ به في ملف بنفس الاسم كملم الخاص بك وسيتم الوصول إليه من أي مكان مع نفس بيانات اعتماد AWS نفس حساب SimpleedB الخاص بك.

تخزين البيانات كقائمة من Assibutename = Formatname هو مدى ما كنت بحاجة إليه. يمكنك، في الواقع، تخزين كل هذا في عنصر في المجال الخاص بك. القضية الوحيدة هي أن هذا خاص يمكن أن يعود العنصر عن غير قصد من استعلام مجال حيث تتوقع البيانات المباشرة لا تكتب معلومات.

أنا لست على دراية بإضاءة Lightspeed، لكن هذه استراتيجية عامة وجدت أنها مفيدة عند استخدام SimpleDB، وإذا كان المنتج قادرا على تحميل / تخزين ملف في S3 ثم كل ذلك أفضل.

* ملاحظة: فقط أن تكون واضحا، أنا لا أتحدث عن إعادة اختراع العجلة أو محاولة استخدام simpleedb كقاعدة بيانات علائقية. أنا أتحدث عن حقيقة أن البيانات الرقمية يجب تخزينها مع كل من الحشو الصفرية (إلى طول اختيارك) وقيمة الإزاحة (اعتمادا على ما إذا كان موقعة أو غير موقعة) من أجل العمل مع لغة الاستعلام على سلسلة SIMPLEDB وبعد بمجرد أن تقرر تنسيقا، أو مجموعة من التنسيقات التي سيتم استخدامها في التطبيق الخاص بك، سيكون من الحماقة مغادرة هذه المعلومات مخفية في ملفات المصدر الخاصة بك وتنتشر عبرها في حالة وجود هذه المعلومات من خلال أدوات التعليمات البرمجية المصدر، أدوات الاستعلام أو إعداد أدوات الإبلاغ أو أي رمز آخر.

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