1
0
Fork 0
arangodb/arangod/MMFiles
Jan 45f2110cfe
take over selectivity estimates (#6505)
2018-09-17 16:41:32 +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 issue 465.2.2: remove redudnant heap allocations and simplify API (#6349) 2018-09-05 13:37:37 +03:00
MMFilesCleanupThread.h Remove Coordinator DBs (#5661) 2018-06-25 19:18:11 +02:00
MMFilesCollection.cpp this moves aql::Query* out of the call parameter to any aql::Function (#6485) 2018-09-13 23:37:46 +02:00
MMFilesCollection.h Bug fix/meierloch (#5895) 2018-07-17 11:39:50 +02:00
MMFilesCollectionExport.cpp Bug fix/add aql collection count cache (#6227) 2018-08-23 16:05:51 +02:00
MMFilesCollectionExport.h issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionKeys.cpp issue 430.3: remove redundant constructor from SingleCollectionTransaction (#5996) 2018-07-26 16:54:53 +03:00
MMFilesCollectionKeys.h issue 389.10: refactor CollectionNameResolver to use TRI_vocbase_t& (#5424) 2018-05-23 00:59:08 +03:00
MMFilesCollectionWriteLocker.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesCollectorCache.h
MMFilesCollectorThread.cpp allow master & slave to work in parallel for RocksDB WAL tailing (#6059) 2018-08-03 13:37:53 +02:00
MMFilesCollectorThread.h
MMFilesCompactionFeature.cpp issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesCompactionFeature.h issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesCompactionLocker.h
MMFilesCompactorThread.cpp issue 465.2.2: remove redudnant heap allocations and simplify API (#6349) 2018-09-05 13:37:37 +03:00
MMFilesCompactorThread.h Bug fix/add aql collection count cache (#6227) 2018-08-23 16:05:51 +02:00
MMFilesDatafile.cpp fixed some rare assertion failures complaining about non-sealed datafiles (#6139) 2018-08-09 21:55:13 +02:00
MMFilesDatafile.h fixed some rare assertion failures complaining about non-sealed datafiles (#6139) 2018-08-09 21:55:13 +02:00
MMFilesDatafileHelper.h View Replication (#5915) 2018-07-26 10:28:46 +02:00
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 issue 399.2: use a LogicalCollection& instead of LogicalCollection* in PhysicalCollection (#5861) 2018-07-13 15:02:43 +03:00
MMFilesDitch.h issue 399.2: use a LogicalCollection& instead of LogicalCollection* in PhysicalCollection (#5861) 2018-07-13 15:02:43 +03:00
MMFilesDocumentOperation.cpp
MMFilesDocumentOperation.h
MMFilesDocumentPosition.h
MMFilesEdgeIndex.cpp take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesEdgeIndex.h take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesEngine.cpp Bug fix/fixes 2508 (#6254) 2018-08-27 21:36:39 +02:00
MMFilesEngine.h Bug fix/fixes 2508 (#6254) 2018-08-27 21:36:39 +02:00
MMFilesExportCursor.cpp fix non-blocking stream cursors (#6064) 2018-08-03 12:41:52 +02:00
MMFilesExportCursor.h fix non-blocking stream cursors (#6064) 2018-08-03 12:41:52 +02:00
MMFilesFulltextIndex.cpp Bug fix/aql modify cleanup (#6380) 2018-09-11 08:54:45 +02:00
MMFilesFulltextIndex.h Hide Links from getIndexes() (#6325) 2018-09-03 15:17:24 +02:00
MMFilesGeoIndex.cpp minor issues (#6471) 2018-09-12 20:28:45 +02:00
MMFilesGeoIndex.h Hide Links from getIndexes() (#6325) 2018-09-03 15:17:24 +02:00
MMFilesHashIndex.cpp take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesHashIndex.h take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesIncrementalSync.h Bug fix/add aql collection count cache (#6227) 2018-08-23 16:05:51 +02:00
MMFilesIndex.h Use RangeDelete where possible (#6121) 2018-08-15 18:52:09 +02:00
MMFilesIndexElement.cpp allow master & slave to work in parallel for RocksDB WAL tailing (#6059) 2018-08-03 13:37:53 +02:00
MMFilesIndexElement.h
MMFilesIndexFactory.cpp issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesIndexFactory.h issue 399.4: use LogicalCollection& instead of LogicalCollection* in Index (#5929) 2018-07-20 14:55:58 +03:00
MMFilesLogfileManager.cpp this moves aql::Query* out of the call parameter to any aql::Function (#6485) 2018-09-13 23:37:46 +02:00
MMFilesLogfileManager.h attempt to make replication_sync more reliable in tests for MMFiles (#6184) 2018-08-17 14:20:40 +02:00
MMFilesOptimizerRules.cpp Disable JS on DBServer, fix race in UserManager (#6244) 2018-08-24 22:20:49 +02:00
MMFilesOptimizerRules.h
MMFilesPathBasedIndex.cpp Hide Links from getIndexes() (#6325) 2018-09-03 15:17:24 +02:00
MMFilesPathBasedIndex.h Hide Links from getIndexes() (#6325) 2018-09-03 15:17:24 +02:00
MMFilesPersistentIndex.cpp take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesPersistentIndex.h take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesPersistentIndexFeature.cpp issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesPersistentIndexFeature.h issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesPersistentIndexKeyComparator.cpp
MMFilesPersistentIndexKeyComparator.h add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
MMFilesPrimaryIndex.cpp take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesPrimaryIndex.h take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesRemoverThread.cpp
MMFilesRemoverThread.h
MMFilesRestExportHandler.cpp Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestExportHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestHandlers.cpp
MMFilesRestHandlers.h
MMFilesRestReplicationHandler.cpp Bug fix/planning 2865 (#6252) 2018-08-27 10:21:34 +02:00
MMFilesRestReplicationHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRestWalHandler.cpp attempt to make MMFiles replication tests more deterministic (#6219) 2018-08-22 14:54:27 +02:00
MMFilesRestWalHandler.h Async AQL (#5806) 2018-07-09 14:24:10 +02:00
MMFilesRevisionsCache.cpp
MMFilesRevisionsCache.h allow master & slave to work in parallel for RocksDB WAL tailing (#6059) 2018-08-03 13:37:53 +02:00
MMFilesSkiplist.h Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
MMFilesSkiplistIndex.cpp take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesSkiplistIndex.h take over selectivity estimates (#6505) 2018-09-17 16:41:32 +02:00
MMFilesSynchronizerThread.cpp improved logging for MMFiles IO operations (#4366) 2018-01-19 18:37:01 +01:00
MMFilesSynchronizerThread.h
MMFilesTransactionCollection.cpp issue 427.2: ensure the underlying error is properly propagated up (#6100) 2018-08-07 15:22:04 +02: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 do not create empty useless transaction data objects (#6430) 2018-09-10 14:47:05 +02:00
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 issue 465.2.2: remove redudnant heap allocations and simplify API (#6349) 2018-09-05 13:37:37 +03:00
MMFilesV8Functions.h
MMFilesWalAccess.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
MMFilesWalAccess.h add missing override specifiers, add final specifiers 2018-05-04 09:01:50 +02:00
MMFilesWalLogfile.cpp fixed some rare assertion failures complaining about non-sealed datafiles (#6139) 2018-08-09 21:55:13 +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 issue 465.5: when renaming a datasource use the object from within vocbase (#6413) 2018-09-07 16:01:04 +03:00
MMFilesWalRecoverState.h
MMFilesWalRecoveryFeature.cpp more explicit order for SystemDatabaseFeature (#6335) 2018-09-01 22:54:03 +02:00
MMFilesWalRecoveryFeature.h issue 427.5: use ApplicationServer reference instead of pointer (#6145) 2018-08-15 12:16:02 +03:00
MMFilesWalSlot.cpp
MMFilesWalSlot.h
MMFilesWalSlots.cpp Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
MMFilesWalSlots.h
MMFilesWalSyncRegion.h
README.md
mmfiles-fulltext-common.h
mmfiles-fulltext-index.cpp fix typos 2018-08-07 11:53:51 +02:00
mmfiles-fulltext-index.h
mmfiles-fulltext-list.cpp Feature/misc spelling corrections (#5164) 2018-07-13 13:06:20 +02:00
mmfiles-fulltext-list.h
mmfiles-fulltext-query.cpp
mmfiles-fulltext-query.h
mmfiles-replication-common.cpp View Replication (#5915) 2018-07-26 10:28:46 +02:00
mmfiles-replication-common.h slight cleanup of replication-related code (#4286) 2018-01-17 16:56:40 +01:00
mmfiles-replication-dump.cpp make cid values in /_api/replication/logger-follow strings as advertised (#6499) 2018-09-14 14:20:44 +02: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.