4 ms·
apple's native graph database called "core data" is also built on sqlite. mnesia lets you decide on a per table basis - where should be stored: 1) ram onl
by bosky101 11y ago
apple's native graph database called "core data" is also built on sqlite.
mnesia lets you decide on a per table basis - where should be stored:
1) ram only
2) disk only
3) disk copies ( cached, and persisted stored to disk)
as well the option of how it should be accessed in a cluster
1) replicated (to a set of nodes you want)
2) or location transparent ( accessible from any node you want )
i doubt any dbms gives you this kind of distributed systems friendly primitives.
my only peeve against mnesia is corruption.
if you change these nodes, or one of them are down, or you call it with the wrong list of nodes ( eg: you may now need a distribtued store like zk just to get this list of nodes right), and many different things can go wrong which is why most folks use it for idempotent store. something that can be recreated if needed, and then used to great effect - but never as "the" persistent store. additionally there are limits on the size of these tables, and workarounds.
once bootstrapped - it works like a dream.
mnesia is still my go to dbs for a distributed cache or router for actors.
~B