1
0
Fork 0
arangodb/arangod/MMFiles
jsteemann b8deda40bd optimize query cache invalidation for MMFiles a bit 2017-04-20 10:59:37 +02:00
..
CMakeLists.txt Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesAllocatorThread.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesAllocatorThread.h
MMFilesAqlFunctions.cpp fix handling of externals 2017-03-30 17:37:09 +02:00
MMFilesAqlFunctions.h functionality for plugging REST handlers 2017-03-09 17:12:00 +01:00
MMFilesCleanupThread.cpp don't call throwing functions in dtor 2017-03-23 19:40:13 +01:00
MMFilesCleanupThread.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesCollection.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesCollection.h Merge branch 'engine-api' of https://github.com/arangodb/arangodb into engine-api 2017-04-06 11:20:32 +02:00
MMFilesCollectionExport.cpp pass trx into numberDocuments 2017-03-31 11:33:16 +02:00
MMFilesCollectionExport.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesCollectionKeys.cpp refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesCollectionKeys.h move collection keys into engine 2017-03-21 14:23:29 +01:00
MMFilesCollectionReadLocker.h Moved CollectionRead/WriteLocker to MMFiles. Also moved cleanupIndexes to MMFilesCollection 2017-02-14 15:12:36 +01:00
MMFilesCollectionWriteLocker.h Moved CollectionRead/WriteLocker to MMFiles. Also moved cleanupIndexes to MMFilesCollection 2017-02-14 15:12:36 +01:00
MMFilesCollectorCache.h renaming 2017-03-22 13:01:40 +01:00
MMFilesCollectorThread.cpp refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesCollectorThread.h Moved ditches into MMFiles. 2017-02-23 09:02:34 +01:00
MMFilesCompactionLocker.h renamed classes 2017-02-28 17:59:48 +01:00
MMFilesCompactorThread.cpp pass trx into numberDocuments 2017-03-31 11:33:16 +02:00
MMFilesCompactorThread.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDatafile.cpp warn before we run out of file descriptors 2017-03-29 02:35:46 +02:00
MMFilesDatafile.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDatafileHelper.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDatafileStatistics.cpp moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatistics.h moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatisticsContainer.cpp moved files 2017-03-16 16:45:02 +01:00
MMFilesDatafileStatisticsContainer.h moved files 2017-03-16 16:45:02 +01:00
MMFilesDitch.cpp renamed classes 2017-02-27 11:40:15 +01:00
MMFilesDitch.h renamed classes 2017-02-27 11:40:15 +01:00
MMFilesDocumentOperation.cpp Moved primaryIndex knowledge out of Logical Collection. Also moved logic for close into MMFiles 2017-02-21 14:12:07 +01:00
MMFilesDocumentOperation.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesDocumentPosition.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesEdgeIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesEdgeIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesEngine.cpp make versionFilename() a property of the engine 2017-04-04 17:23:02 +02:00
MMFilesEngine.h make versionFilename() a property of the engine 2017-04-04 17:23:02 +02:00
MMFilesExportCursor.cpp move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesExportCursor.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesFulltextIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesFulltextIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesGeoIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesGeoIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesHashIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesHashIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesIndexElement.cpp Moved index API to return DocumentIdentifierTokens which are independent of the underlying storage engine. The agreement is, that the Engine gives a uint64_t sized identifier which allows to fetch any document back again. For MMFiles Engine this identifier is the revision. 2017-01-24 18:19:25 +01:00
MMFilesIndexElement.h renaming 2017-01-23 15:36:11 +01:00
MMFilesIndexFactory.cpp add engine capabilities 2017-04-06 14:50:27 +02:00
MMFilesIndexFactory.h add engine capabilities 2017-04-06 14:50:27 +02:00
MMFilesLogfileManager.cpp honor feature optionality 2017-03-29 12:53:05 +02:00
MMFilesLogfileManager.h renaming 2017-03-22 13:01:40 +01:00
MMFilesOptimizerRules.cpp make SORT RAND() removal a feature of the old engine 2017-04-04 08:55:08 +02:00
MMFilesOptimizerRules.h make SORT RAND() removal a feature of the old engine 2017-04-04 08:55:08 +02:00
MMFilesPathBasedIndex.cpp added assert 2017-04-12 15:38:01 +02:00
MMFilesPathBasedIndex.h Path based enumerator 2017-03-29 17:33:02 +02:00
MMFilesPersistentIndex.cpp Merge branch 'devel' of https://github.com/arangodb/arangodb into engine-api 2017-04-18 11:33:16 +02:00
MMFilesPersistentIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesPersistentIndexFeature.cpp change --rocksdb.enabled to be a obosolete option 2017-04-19 14:54:10 +02:00
MMFilesPersistentIndexFeature.h change --rocksdb.enabled to be a obosolete option 2017-04-19 14:54:10 +02:00
MMFilesPersistentIndexKeyComparator.cpp class renaming 2017-03-08 17:54:00 +01:00
MMFilesPersistentIndexKeyComparator.h class renaming 2017-03-08 17:54:00 +01:00
MMFilesPrimaryIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesPrimaryIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesRemoverThread.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp moved export into engine 2017-03-21 11:41:50 +01:00
MMFilesRestExportHandler.h move attributes into engine 2017-03-21 10:31:50 +01:00
MMFilesRestHandlers.cpp Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesRestHandlers.h make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRestReplicationHandler.cpp Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesRestReplicationHandler.h Moved MMFiles replication handler. 2017-04-18 15:35:45 -04:00
MMFilesRestWalHandler.cpp make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRestWalHandler.h make RestWalHandler a handler of the MMFiles engine 2017-03-10 09:00:37 +01:00
MMFilesRevisionsCache.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesRevisionsCache.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesSkiplist.h renaming 2017-01-23 15:36:11 +01:00
MMFilesSkiplistIndex.cpp Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesSkiplistIndex.h Changed index VPack building to include forPersistence flag. 2017-04-17 17:04:50 -04:00
MMFilesSynchronizerThread.cpp remove logging for non-topics 2017-02-10 09:32:50 +01:00
MMFilesSynchronizerThread.h
MMFilesToken.h The Fulltext index now return DocumentIdentifierTokens instead of revisions. Removed one inderection rid <-> Index_doc which were a typedef. 2017-01-25 13:20:15 +01:00
MMFilesTransactionCollection.cpp issue #2413: improve logging in case of lock timeout and deadlocks 2017-04-07 12:30:11 +02:00
MMFilesTransactionCollection.h more startup 2017-03-24 14:20:51 +01:00
MMFilesTransactionContextData.cpp removed unused includes 2017-02-27 17:29:28 +01:00
MMFilesTransactionContextData.h removed unused includes 2017-02-27 17:29:28 +01:00
MMFilesTransactionState.cpp optimize query cache invalidation for MMFiles a bit 2017-04-20 10:59:37 +02:00
MMFilesTransactionState.h refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesV8Functions.cpp refactor some code to make use of arangodb::Result 2017-03-30 09:39:21 +02:00
MMFilesV8Functions.h move engine-specific V8 functions into storage engine 2017-03-09 12:59:44 +01:00
MMFilesView.cpp some fixes for view handling 2017-03-17 11:18:46 +01:00
MMFilesView.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesWalLogfile.cpp move encoding functions into their own file 2017-02-14 12:57:15 +01:00
MMFilesWalLogfile.h renaming 2017-03-22 13:01:40 +01:00
MMFilesWalMarker.h added stubs for indexes 2017-03-23 15:24:00 +01:00
MMFilesWalRecoverState.cpp fix compile warning 2017-04-19 12:31:13 +02:00
MMFilesWalRecoverState.h renaming 2017-03-22 13:01:40 +01:00
MMFilesWalRecoveryFeature.cpp turn off all MMFiles features in case RocksDB engine is selected 2017-03-27 14:22:00 +02:00
MMFilesWalRecoveryFeature.h
MMFilesWalSlot.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesWalSlot.h
MMFilesWalSlots.cpp renaming 2017-03-22 13:01:40 +01:00
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md remove transferMarkers from StorageEngine.h 2017-02-21 16:00:37 +01:00
mmfiles-fulltext-common.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-handles.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-handles.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-index.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-index.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-list.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-list.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-query.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-query.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-result.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-fulltext-result.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-geo-index.cpp move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-geo-index.h move replication-dump into engine 2017-03-21 13:55:57 +01:00
mmfiles-replication-dump.cpp fixed failing test 2017-03-22 14:46:10 +01:00
mmfiles-replication-dump.h move replication-dump into engine 2017-03-21 13:55:57 +01: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.