سؤال

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

  1. يمكنك استخدام 1 قاعدة بيانات كبيرة لتخزين كل ما تبذلونه من بيانات العميل أو التعامل مع البيانات بشكل مختلف ؟ يمكنك استخدام أكثر من 1 قاعدة البيانات ؟ هل عمل قاعدة بيانات لكل العملاء ؟
  2. هل تكرار رمز قاعدة لكل الاشتراك/العملاء أو يمكنك استخدام 1 برنامج للتعامل مع جميع العملاء ؟
  3. هل هناك عناصر التصميم الأخرى يجب التفكير ؟
  4. أي المواقع على شبكة الإنترنت أو الكتب التي تتحدث عن هذا ؟

تحرير:لقد وجدت المقالة MSDN التي ناقشت متعددة المستأجر العمارة البيانات:http://msdn.microsoft.com/en-us/library/aa479086.aspx#mlttntda_topic4

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

المحلول

الرجوع إلى 37signals هم خبراء في هذا المجال و لديهم الكثير من المواد حيث أنها إجابة المجتمع الأسئلة (كثيرة مثل لك أن تأتي).

قابلية عالية = 37signals العمارة

نسأل 37signals:كيف يمكنك معالجة بطاقات الائتمان ؟

في ما يخص عدد قواعد البيانات من دافيد هاينماير هانسون في ماذا تريد أن تعرف ؟

بعض الأجوبة...

لانس كل ما لدينا من المقرر الفواتير عمليات الآلي.أي شيء نوعا ما من شأنه أن يدفعنا مجنون.خصوصا أنه من المهم للتأكد من أن التعامل مع الطوارئ في مكان لعدم بطاقات الائتمان.آخر ما بدا أعتقد 5% من الرسوم ارتدت بفضل بطاقات الائتمان التي كانت منتهية الصلاحية ، على حد ، أو مغلقة.تأكد من التعامل مع هذا برشاقة.

نحن فقط استخدام Authorize.net و منفصلة طلب بطاقة الائتمان (صغيرة التطبيق تم تطويرها في القضبان المستخدمة من قبل تطبيقات أخرى على الشبكة الداخلية خلال بقية ) التي تحافظ على الأرقام أمنا.

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

جيسون, نحن نستخدم البريد الإلكتروني والرسائل القصيرة.كل منا شركات لديك الهاتف@carrier-gateway.com بوابة.

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

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

نصائح أخرى

إذا كنت فقط أتحدث عن الآلاف من العملاء (مقابل مئات الآلاف أو الملايين) ثم الفرق هو الحد الأدنى جميلة إلا إذا كنت تعرف لديك الجداول التي قد الآلاف من الصفوف لكل عميل أو أكثر.ثم التصميم الخاص بك قد تغير.

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

لا تقلق كثيرا حول RDBMS رفع القضايا حتى يبدو وكأنه قد تبدأ في وجود عدة ملايين من الصفوف في جدول واحد.ثم قد يكون الوقت قد حان للتحقيق في توزيع مفتاح/قيمة المخزن.ولكن نأخذ في الاعتبار أن هذا النوع من المشكلة هو النوع الجيد من مشكلة لديها ، لأنه يفترض أنه يعني أن كنت جعل طن من المال.

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

أنا أعمل كمستشار لعدد من ادارة العلاقات مع تطبيقات ، حتى رأيت أبنية مختلفة.أنصح:

  1. قاعدة بيانات واحدة لجميع العملاء.تأكد من تصميم db جيدا بحيث يكون لديك مفتاح أساسي للمستخدم الذي هو المعرف الفريد الخاص بك.لقد رأيت بعض عبث حيث التصميم effectivey (ليس في الواقع ، ولكنه قد يكون كذلك) صنعت شيئا مثل البريد الإلكتروني ورقم الهاتف ، إلخ كما المفتاح الأساسي).أيضا لا ينتهي رمي كل شيء إلى عملاق الجدول المستخدم.

    1. سوف تريد أن تبدأ في تتبع الكثير من التفاعل مع المستخدم السلوك في بعض نقطة.لهذا يمكنك استخدام NoSQL اسم-قيمة المتجر والبدء في رمي الأحداث في ذلك لتحليلها لاحقا.أو استخدام شيء مثل MixPanel أو KISSmetrics.

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

مفتاح الاستفادة من وجود واحد SQL db هو أنه إذا كان التسويق شخص يعرف SQL (مستحسن!) ثم أنها يمكن أن مجرد الاستعلام مباشرة.إذا كنت تذهب NoSQL الطريق ، ثم إنه أصعب بكثير ، ثم التسويق يبدأ جعل الافتراضات التي عادة ما تكون خاطئة و أنت تضيع الكثير من الوقت في الذهاب إلى الطريق الخطأ بناء على هذه الافتراضات.

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