mirror of https://gitee.com/bigwinds/arangodb
add high-level documentation for some features of MMFilesEngine
This commit is contained in:
parent
d73d25a310
commit
ebbfeaead9
|
@ -0,0 +1,23 @@
|
|||
MMFilesEngine
|
||||
=============
|
||||
|
||||
How operations are Stored - Overview
|
||||
------------------------------------
|
||||
|
||||
All operations like insert or delete are written as markers to a write ahead
|
||||
log (WAL). This WAL consists of slices of a certain size and if such a slice is
|
||||
full for is manually flushed all relevant markers are transferred
|
||||
(transferMarkers()) to the journals of the respective collections. During the
|
||||
transfer obsolete markers will be thrown away: a sequence of insert, remove,
|
||||
insert on the same document will result in the last insert discarding the
|
||||
previous operations. When a journal file of size (journalSize()) is full it
|
||||
will be sealed and renamed. By applying this operations it will become a
|
||||
datafile, that is read only. Datafiles will eventually be merged by a compactor
|
||||
task/thread, that does the about the same work as the transferMarkers function
|
||||
reducing the size of the stored data.
|
||||
|
||||
Ditches
|
||||
-------
|
||||
|
||||
Ditches are used to pin objects in WAL or journal as long as they are used by
|
||||
other operations.
|
Loading…
Reference in New Issue