ets concurrency

klacke <>
Fri Feb 6 23:36:52 CET 2004


On Thu, Jan 29, 2004 at 06:59:50PM +0200, DANIESC SCHUTTE wrote:
> 
> My understanding was that mnesia relies on DETS and not ETS which provides the ACID properties.
> 
> >>> Joachim Durchholz <> 01/29/04 06:41PM >>>
> Ulf Wiger wrote:
> 
> > There is some support for avoiding a rehash while iterating over an 
> > ets table. This is used by the ets:foldl and ets:foldr functions, but
> > there is no table locking per se.
> 
> How does mnesia ensure ACID properties, if it can't rely on ETS?
> I imagine one shouldn't directly access the ETS tables of mnesia, but
> I'd like to know for sure :-)
> 


Neither ets nor dets deliver any ACID properties. This is all
done internally by Mneisa.
Mnesia use ets and dets for storage, but that about it.
Ets and dets can be viewed as a thread safe array ... of sorts.

As for internals, well thare is quite a lot of them and I don't think
there is anything written about how the internals of mnesia work in
order to insure acid properties.

Mnesia ensures acid properties whereas ets and dets don't.


/klacke


-- 
Claes Wikstrom                        -- Caps lock is nowhere and
http://www.hyber.org                  -- everything is under control          



More information about the erlang-questions mailing list