1
0
Fork 0
arangodb/arangod/MMFiles
Simon Grätzer f101e21328 Geo index update, renaming 2017-05-11 13:19:51 +02:00
..
CMakeLists.txt optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp
MMFilesAqlFunctions.h
MMFilesCleanupThread.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCleanupThread.h
MMFilesCollection.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollection.h removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollectionExport.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollectionExport.h
MMFilesCollectionKeys.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCollectionKeys.h
MMFilesCollectionReadLocker.h
MMFilesCollectionWriteLocker.h
MMFilesCollectorCache.h
MMFilesCollectorThread.cpp optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesCollectorThread.h
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesCompactorThread.h
MMFilesDatafile.cpp
MMFilesDatafile.h
MMFilesDatafileHelper.h
MMFilesDatafileStatistics.cpp
MMFilesDatafileStatistics.h
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp
MMFilesDitch.h
MMFilesDocumentOperation.cpp
MMFilesDocumentOperation.h
MMFilesDocumentPosition.h
MMFilesEdgeIndex.cpp
MMFilesEdgeIndex.h
MMFilesEngine.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesEngine.h removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesExportCursor.cpp
MMFilesExportCursor.h
MMFilesFulltextIndex.cpp Geo index update, renaming 2017-05-11 13:19:51 +02:00
MMFilesFulltextIndex.h Fixing fulltext deduplication 2017-05-10 16:17:46 +02:00
MMFilesGeoIndex.cpp
MMFilesGeoIndex.h
MMFilesHashIndex.cpp
MMFilesHashIndex.h
MMFilesIndexElement.cpp
MMFilesIndexElement.h
MMFilesIndexFactory.cpp
MMFilesIndexFactory.h
MMFilesInitialSync.h
MMFilesLogfileManager.cpp optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesLogfileManager.h optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesOptimizerRules.cpp Working geo index + tests 2017-05-09 15:04:51 +02:00
MMFilesOptimizerRules.h Working geo index + tests 2017-05-09 15:04:51 +02:00
MMFilesPathBasedIndex.cpp
MMFilesPathBasedIndex.h
MMFilesPersistentIndex.cpp
MMFilesPersistentIndex.h
MMFilesPersistentIndexFeature.cpp
MMFilesPersistentIndexFeature.h
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h
MMFilesPrimaryIndex.cpp
MMFilesPrimaryIndex.h
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp
MMFilesRestExportHandler.h
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp removing unused and unimplemented methods 2017-05-10 18:25:41 +02:00
MMFilesRestReplicationHandler.h
MMFilesRestWalHandler.cpp
MMFilesRestWalHandler.h
MMFilesRevisionsCache.cpp
MMFilesRevisionsCache.h
MMFilesSkiplist.h
MMFilesSkiplistIndex.cpp
MMFilesSkiplistIndex.h
MMFilesSynchronizerThread.cpp
MMFilesSynchronizerThread.h
MMFilesToken.h
MMFilesTransactionCollection.cpp
MMFilesTransactionCollection.h
MMFilesTransactionContextData.cpp
MMFilesTransactionContextData.h
MMFilesTransactionManager.cpp optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesTransactionManager.h optimize away own transaction management for RocksDB engine 2017-05-04 23:16:53 +02:00
MMFilesTransactionState.cpp
MMFilesTransactionState.h
MMFilesV8Functions.cpp
MMFilesV8Functions.h
MMFilesView.cpp
MMFilesView.h
MMFilesWalLogfile.cpp
MMFilesWalLogfile.h
MMFilesWalMarker.h
MMFilesWalRecoverState.cpp
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp
MMFilesWalSlot.h
MMFilesWalSlots.cpp
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-handles.cpp
mmfiles-fulltext-handles.h
mmfiles-fulltext-index.cpp cppcheck 2017-05-10 18:24:34 +02:00
mmfiles-fulltext-index.h cppcheck 2017-05-10 18:24:34 +02:00
mmfiles-fulltext-list.cpp
mmfiles-fulltext-list.h
mmfiles-fulltext-query.cpp
mmfiles-fulltext-query.h
mmfiles-fulltext-result.cpp
mmfiles-fulltext-result.h
mmfiles-geo-index.cpp
mmfiles-geo-index.h
mmfiles-replication-dump.cpp
mmfiles-replication-dump.h

README.md

MMFilesEngine

How operations are stored - Overview

All operations like insert or remove are written as markers to a write ahead log (WAL). This WAL consists of files of a certain size and if such a file is full (or is manually flushed), all relevant markers are transferred (transferMarkers()) to the journals of the respective collections. During the transfer any 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 these operations it will become a datafile that is read-only. Datafiles will eventually be merged by a compactor thread that does 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.