Updated Geode Internal Architecture (markdown) Project: http://git-wip-us.apache.org/repos/asf/incubator-geode/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-geode/commit/05fe887c Tree: http://git-wip-us.apache.org/repos/asf/incubator-geode/tree/05fe887c Diff: http://git-wip-us.apache.org/repos/asf/incubator-geode/diff/05fe887c
Branch: refs/heads/gh-wiki Commit: 05fe887c04188deb0cba74d03037fb52e0eb5128 Parents: 4f3dfed Author: jhuynh1 <[email protected]> Authored: Thu Apr 9 13:50:59 2015 -0700 Committer: jhuynh1 <[email protected]> Committed: Thu Apr 9 13:50:59 2015 -0700 ---------------------------------------------------------------------- Geode-Internal-Architecture.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-geode/blob/05fe887c/Geode-Internal-Architecture.md ---------------------------------------------------------------------- diff --git a/Geode-Internal-Architecture.md b/Geode-Internal-Architecture.md index 5082b83..603b452 100644 --- a/Geode-Internal-Architecture.md +++ b/Geode-Internal-Architecture.md @@ -199,12 +199,11 @@ manager manages the creation, deletion and update of each index. It retains a m Index - Are used to provide a speed improvement for fields that are often queried on, but comes at a memory cost and very minor cost for maintaining the index. Internally there are various types of indexes. These include CompactRangeIndex, RangeIndex, HashIndex, MapRangeIndex, CompactMapRangeIndex, PartitionedIndex and PrimaryKeyIndex * RangeIndex - Uses a ConcurrentNavigableMap to store a key to store a RegionEntryToValuesMap. A RegionEntryToValuesMap is a map that uses the entry as the key and a struct as the value -An example of the struct: +An example of the struct (notice the index iter naming associated with the struct and how the struct is a combination of portfolio, position): struct(index_iter1:Portfolio [ID=8 status=active type=type2 pkid=8 XYZ:Position secId=XYZ out=100.0 type=a id=7 mktValue=8.0, AOL:Position secId=AOL out=5000.0 type=a id=5 mktValue=6.0, APPL:Position secId=APPL out=6000.0 type=a id=6 mktValue=7.0, P1:Position secId=MSFT out=4000.0 type=a id=4 mktValue=5.0, P2:null -],index_iter2:Position secId=APPL out=6000.0 type=a id=6 mktValue=7.0) -- notice the index iter naming associated with the struct and how the struct is a combination of portfolio, position. +],index_iter2:Position secId=APPL out=6000.0 type=a id=6 mktValue=7.0) * CompactRangeIndex - A memory efficient but slightly restricted version of RangeIndex. Will be preferred by the engine over range index if possible. Uses a ConcurrentNavigableMap to store a key and value pair, where the value can either be a RegionEntry, an IndexElemArray that contains RegionEntries or a IndexConcurrentHashSet that contains RegionEntries. The ConcurrentNavigableMap also is passed a Comparator that allows Indexes to match across different Numeric types. @@ -221,4 +220,4 @@ So for example an portfolio.positions'key' = 'IBM' The map range index would hav # FunctionService -TBD +TBD \ No newline at end of file
