Domanda

Supponiamo di avere nodi N erlang, che eseguono la stessa applicazione. Voglio per condividere una tabella di mnesia T1 con tutti i nodi N, che non vedo alcun problema. Tuttavia, voglio condividere un'altra tabella di mnesia T2 con coppie di nodi. Intendo che il contenuto di T2 sarà identico e replicato in / con solo condivisione coppia. In altre parole, voglio N / 2 contenuti diversi per Tabella T2. Questo è possibile con la mnesia, non con la ridenominazione di T2 per ciascuno distinta coppia di nodi?

È stato utile?

Soluzione

Una tabella è sempre una tabella, indipendentemente da quanti nodi la condividi. Se si desidera che coppie di nodi condividano una tabella, è necessario creare una tabella univoca per ciascuna coppia di nodi.

Puoi usare le stesse impostazioni (record ecc.) per tutte quelle tabelle, quindi non dovrebbe esserci molto più lavoro per farlo.

Altri suggerimenti

È possibile farlo con la frammentazione della tabella di mnesia, se si utilizza il comportamento di callback mnesia_frag_hash . Ciò consente di controllare la distribuzione delle chiavi e sarebbe possibile costruire le chiavi in ??modo tale che il callback sia in grado di determinare quale coppia di nodi (e quindi quale frammento) dovrebbe essere usata.

Il funzionamento o meno del caso specifico dipende dai modelli di accesso e dal set di dati. È probabile che si tratti di un approccio piuttosto contorto e che sarebbe meglio servirti semplicemente usando nomi di tabella diversi.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top