Frage

Nehmen wir an, wir N erlang Knoten haben, die gleiche Anwendung ausgeführt wird. ich möchte eine Mnesia Tabelle T1 mit allen N Knoten zu teilen, die ich kein Problem sehen. Allerdings möchte ich mit Paaren von Knoten einen anderen Mnesia Tabelle T2 teilen. I bedeutet der Inhalt des T2 identisch sind und repliziert / mit nur teilen Paar. In anderen Worten, ich möchte N / 2 verschiedene Inhalte für T2-Tabelle. Ist dies möglich mit Mnesia, nicht mit T2 Umbenennung für jeden unterschiedliche Paare von Knoten?

War es hilfreich?

Lösung

Eine Tabelle ist immer ein Tisch, egal wie viele Knoten Sie es mit teilen. Wenn Sie Knotenpaare wollen einen Tisch teilen, würden Sie eine eindeutige Tabelle für jedes Paar von Knoten erstellen müssen.

Sie können die gleichen Einstellungen verwenden (Aufzeichnungen usw.) für alle jene Tabellen obwohl, so sollte es nicht so viel mehr Arbeit es getan.

Andere Tipps

Es ist möglich, diese Tabelle Fragmentierung mit Mnesia ist zu tun, wenn man die Verwendung des mnesia_frag_hash Callback-Verhalten macht. Dies ermöglicht die Verteilung von Schlüsseln zu kontrollieren, und es wäre möglich, die Schlüssel so zu konstruieren, dass der Rückruf der Lage ist, das Knotenpaar zu bestimmen (und somit das Fragment) verwendet werden soll.

Ob dies in Ihrem Fall funktioniert, hängt von Ihrem Zugriffsmuster und Datensatz. Die Chancen stehen gut, dass es ein ziemlich gewundener Ansatz ist, und dass Sie besser, indem Sie einfach mit verschiedenen Tabellennamen anstelle serviert werden würden.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top