سؤال

لنفترض أن لدينا عقد N erlang، تعمل بنفس التطبيق.أريد مشاركة جدول Mnesia T1 مع جميع العقد N ، والتي لا أرى أي مشكلة.ومع ذلك، أريد مشاركة جدول Mnesia آخر T2 مع أزواج من العقد.أعني أن محتويات T2 ستكون متطابقة وتكرر على/مع زوج المشاركة فقط.بعبارة أخرى ، أريد محتويات مختلفة لجدول T2.هل هذا ممكن مع Mnesia ، وليس مع إعادة تسمية T2 لكل زوج متميز من العقد؟

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

المحلول

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

يمكنك استخدام نفس الإعدادات (السجلات وما إلى ذلك) لجميع هذه الجداول، لذلك لا ينبغي أن يكون هناك الكثير من العمل لإنجازها.

نصائح أخرى

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

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

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