1
0
Fork 0
arangodb/arangod/MMFiles
Simon ec0d2a1b7b Remove Coordinator DBs (#5661) 2018-06-25 19:18:11 +02:00
..
CMakeLists.txt Add optimizer rule that replaces js function calls (NEAR/WITHIN/FULLTEXT) with pure AQL (#5529) 2018-06-12 13:48:31 +02:00
MMFilesAllocatorThread.cpp
MMFilesAllocatorThread.h
MMFilesCleanupThread.cpp Remove Coordinator DBs (#5661) 2018-06-25 19:18:11 +02:00
MMFilesCleanupThread.h Remove Coordinator DBs (#5661) 2018-06-25 19:18:11 +02:00
MMFilesCollection.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesCollection.h Bug fix/validate from to consistently (#5434) 2018-05-23 11:41:30 +02:00
MMFilesCollectionExport.cpp issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionExport.h issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionKeys.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesCollectionKeys.h issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionWriteLocker.h Deadlock detection uses TransactionID instead of Thread ID (#4787) 2018-03-09 18:35:38 +01:00
MMFilesCollectorCache.h
MMFilesCollectorThread.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesCollectorThread.h
MMFilesCompactionFeature.cpp remove call to requiresElevatedPrivileges with default value (#5172) 2018-04-23 11:28:24 +02:00
MMFilesCompactionFeature.h
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesCompactorThread.h issue 389.5: refactor StandaloneContext to be constructed with a TRI_vocbase_t& (#5370) 2018-05-17 01:15:50 +03:00
MMFilesDatafile.cpp fixed minor several compiler complaints (#5406) 2018-05-23 11:50:00 +02:00
MMFilesDatafile.h improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesDatafileHelper.h
MMFilesDatafileStatistics.cpp improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesDatafileStatistics.h
MMFilesDatafileStatisticsContainer.cpp
MMFilesDatafileStatisticsContainer.h
MMFilesDitch.cpp
MMFilesDitch.h
MMFilesDocumentOperation.cpp
MMFilesDocumentOperation.h
MMFilesDocumentPosition.h
MMFilesEdgeIndex.cpp Cleanup cluster selectivity (#5440) 2018-05-23 18:00:14 +02:00
MMFilesEdgeIndex.h Cleanup cluster selectivity (#5440) 2018-05-23 18:00:14 +02:00
MMFilesEngine.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesEngine.h TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesExportCursor.cpp issue 389.5: refactor StandaloneContext to be constructed with a TRI_vocbase_t& (#5370) 2018-05-17 01:15:50 +03:00
MMFilesExportCursor.h backport: use vocbase reference instead of pointer in arangodb::pregel::GraphStore 2018-04-13 11:23:34 +03:00
MMFilesFulltextIndex.cpp issue 389.2: use static strings for Index definition json attributes, use TRI_vocbase_t references instead of pointers in V8Context, use TRI_vocbase_t references instead of pointers in DatabaseInitialSyncer (#5344) 2018-05-14 19:06:24 +03:00
MMFilesFulltextIndex.h fixed issue #5252 (#5427) 2018-05-23 08:30:27 +02:00
MMFilesGeoIndex.cpp issue 389.2: use static strings for Index definition json attributes, use TRI_vocbase_t references instead of pointers in V8Context, use TRI_vocbase_t references instead of pointers in DatabaseInitialSyncer (#5344) 2018-05-14 19:06:24 +03:00
MMFilesGeoIndex.h Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesHashIndex.cpp Cleanup cluster selectivity (#5440) 2018-05-23 18:00:14 +02:00
MMFilesHashIndex.h Cleanup cluster selectivity (#5440) 2018-05-23 18:00:14 +02:00
MMFilesIncrementalSync.h TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesIndex.h
MMFilesIndexElement.cpp
MMFilesIndexElement.h
MMFilesIndexFactory.cpp Feature/test iresearch (#5610) 2018-06-21 20:35:04 +03:00
MMFilesIndexFactory.h Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesLogfileManager.cpp apply fixes found by cppcheck (#5360) 2018-05-15 20:06:36 +02:00
MMFilesLogfileManager.h
MMFilesOptimizerRules.cpp Feature/aql optimizations (#5237) 2018-05-03 16:55:58 +02:00
MMFilesOptimizerRules.h
MMFilesPathBasedIndex.cpp Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesPathBasedIndex.h Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesPersistentIndex.cpp Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesPersistentIndex.h Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesPersistentIndexFeature.cpp remove call to requiresElevatedPrivileges with default value (#5172) 2018-04-23 11:28:24 +02:00
MMFilesPersistentIndexFeature.h
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
MMFilesPrimaryIndex.cpp issue 389.2: use static strings for Index definition json attributes, use TRI_vocbase_t references instead of pointers in V8Context, use TRI_vocbase_t references instead of pointers in DatabaseInitialSyncer (#5344) 2018-05-14 19:06:24 +03:00
MMFilesPrimaryIndex.h Cleanup cluster selectivity (#5440) 2018-05-23 18:00:14 +02:00
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesRestExportHandler.h
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesRestReplicationHandler.h
MMFilesRestWalHandler.cpp remove useless flush from test, bump wal flush default timeouts (#4845) 2018-03-14 21:59:48 +01:00
MMFilesRestWalHandler.h
MMFilesRevisionsCache.cpp
MMFilesRevisionsCache.h
MMFilesSkiplist.h
MMFilesSkiplistIndex.cpp Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesSkiplistIndex.h Coordinator storage engine (#5405) 2018-05-22 19:30:27 +02:00
MMFilesSynchronizerThread.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesSynchronizerThread.h
MMFilesTransactionCollection.cpp issue 389.5: refactor StandaloneContext to be constructed with a TRI_vocbase_t& (#5370) 2018-05-17 01:15:50 +03:00
MMFilesTransactionCollection.h
MMFilesTransactionContextData.cpp issue 344.6: remove some redundant functions (#4842) 2018-03-15 11:03:35 +01:00
MMFilesTransactionContextData.h
MMFilesTransactionManager.cpp
MMFilesTransactionManager.h
MMFilesTransactionState.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesTransactionState.h TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesV8Functions.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesV8Functions.h
MMFilesWalAccess.cpp issue 373.1: move globally-unique id generation from collection into data-source (#5182) 2018-05-07 22:14:40 +03:00
MMFilesWalAccess.h add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
MMFilesWalLogfile.cpp improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesWalLogfile.h improve startup resilience in case there are datafile errors (#4975) 2018-04-03 17:32:30 +02:00
MMFilesWalMarker.h
MMFilesWalRecoverState.cpp TransactionState::addCollection refactoring (#5606) 2018-06-14 15:34:58 +02:00
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp remove call to requiresElevatedPrivileges with default value (#5172) 2018-04-23 11:28:24 +02:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp
MMFilesWalSlot.h
MMFilesWalSlots.cpp
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-index.cpp S2 based Geo-Spatial index (#5249) 2018-05-02 23:54:41 +02:00
mmfiles-fulltext-index.h
mmfiles-fulltext-list.cpp
mmfiles-fulltext-list.h
mmfiles-fulltext-query.cpp
mmfiles-fulltext-query.h
mmfiles-replication-common.cpp
mmfiles-replication-common.h slight cleanup of replication-related code (#4286) 2018-01-17 16:56:40 +01:00
mmfiles-replication-dump.cpp issue 355.7: ensure LogicalDataSource::vocbase() returns a reference 2018-04-09 15:38:24 +03:00
mmfiles-replication-dump.h issue 389.5: refactor StandaloneContext to be constructed with a TRI_vocbase_t& (#5370) 2018-05-17 01:15:50 +03:00

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.