Database / Mnesia basics Interview questions
How do you replicate a table across multiple Mnesia nodes?
Replication is set up simply by listing more than one node in a table's storage type option when creating (or later reconfiguring) the table — Mnesia then keeps all listed nodes' copies in sync automatically as part of every transaction.
mnesia:create_table(session, [{disc_copies, [nodea@host1, nodeb@host2, nodec@host3]}, {attributes, [id, user, expiry]}]).
Every write inside a transaction is propagated to all listed nodes as part of that same transaction's
commit, using two-phase commit coordination so all replicas agree before the write is considered durable. To
add a new replica to an already-running table, mnesia:add_table_copy/3 lets you extend
replication to another node without recreating the table from scratch, copying the existing data to the new
node as part of that operation.
More Related questions...