Question

J'ai un serveur ejabberd avec une bonne quantité de modules personnalisés cours d'exécution. J'ai plusieurs tables de Mnesia et je sais que ceux-ci peuvent être facilement copiés entre les nœuds sans modification du code du tout. Je me demandais s'il y a une manière similaire avec des tables ets?

Idéalement, il serait agréable d'être en mesure d'avoir plusieurs machines fonctionnant avec exactement les mêmes données Mnesia et SEQE, sans avoir à convertir mes tables en tables ets Mnesia. (Et réécriture ainsi une bonne quantité de code.)

Une si j'avais faisais un rpc: appel sur les tables de l'ÉTS pour chaque nœud, mais je ne savais pas trop l'impact que cela aurait sur les résultats.

Si quelqu'un a des réponses s'il vous plaît laissez-moi savoir.

Était-ce utile?

La solution

Non, le contenu de la table ets ne peuvent pas être reproduites pour vous.

La réplication (et la sécurité des transactions) est la fonction que l'application de base de données mnesia introduire, sa mise en œuvre utilise pour les tables ets ram_only.

Autres conseils

Vous pouvez rpc: appeler sur les tables de l'ÉTS sur le nœud distant

.

Mais le point entier de mnesia est la fixation du genre de problème que vous utilisez dans: réplication

Convertir votre code à mnesia est un bon investissement pour l'avenir. Et bien que risqué, vous pouvez toujours utiliser mnesia:ets() pour minimiser le changement de code.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top