Interface MultiIndexReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,IK extends io.datarouter.model.key.primary.PrimaryKey<IK>,IE extends io.datarouter.model.index.multi.MultiIndexEntry<IK,IE,PK,D>>
- All Superinterfaces:
IndexReader<PK,,D, IK, IE> NodeOps<IK,,IE> SortedStorageReader<IK,IE>
public interface MultiIndexReader<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK,D>,IK extends io.datarouter.model.key.primary.PrimaryKey<IK>,IE extends io.datarouter.model.index.multi.MultiIndexEntry<IK,IE,PK,D>>
extends IndexReader<PK,D,IK,IE>
Methods for reading from storage systems that provide secondary indexing. This interface provides powerful iterators
for scanning through each IndexEntry in index order or to scan through the indexed table's databeans in the order of
the index. Note that scanning through the main table's rows in order of a secondary index will be much slower than
scanning the main table directly as it requires random instead of sequential IO and requires many more overall IO
operations.
RDBMS's provide secondary indexing on tables. Most document oriented stores provide it, like DynamoDB, Mongo, and
CouchDB. Others include BerkeleyDB, BerkeleyDB Java, some HBase libraries, Google Cloud Datastore, Amazon SimpleDB,
and possibly DynamoDB.
-
Nested Class Summary
Nested classes/interfaces inherited from interface io.datarouter.storage.node.op.raw.read.SortedStorageReader
SortedStorageReader.PhysicalSortedStorageReaderNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>,D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>>, SortedStorageReader.SortedStorageReaderNode<PK extends io.datarouter.model.key.primary.PrimaryKey<PK>, D extends io.datarouter.model.databean.Databean<PK, D>, F extends io.datarouter.model.serialize.fielder.DatabeanFielder<PK, D>> -
Field Summary
Fields inherited from interface io.datarouter.storage.node.op.raw.read.SortedStorageReader
OP_getKeysInRange, OP_getPrefixedRange, OP_getRange, OP_scan, OP_scanKeys, OP_scanRanges, OP_scanRangesKeys -
Method Summary
Modifier and TypeMethodDescriptionlookupMulti(IK indexKey) lookupMulti(IK indexKey, Config config) lookupMultiMulti(Collection<IK> indexKeys) lookupMultiMulti(Collection<IK> indexKeys, Config config) Methods inherited from interface io.datarouter.storage.node.op.index.IndexReader
scanDatabeans, scanDatabeans, scanDatabeans, scanDatabeans, scanDatabeansMulti, scanDatabeansMulti, scanDatabeansWithPrefix, scanDatabeansWithPrefix, scanDatabeansWithPrefixes, scanDatabeansWithPrefixesMethods inherited from interface io.datarouter.storage.node.op.raw.read.SortedStorageReader
count, scan, scan, scan, scan, scanKeys, scanKeys, scanKeys, scanKeys, scanKeysWithPrefix, scanKeysWithPrefix, scanKeysWithPrefixes, scanKeysWithPrefixes, scanRanges, scanRanges, scanRangesKeys, scanRangesKeys, scanWithPrefix, scanWithPrefix, scanWithPrefixes, scanWithPrefixes
-
Method Details
-
lookupMulti
-
lookupMulti
-
lookupMultiMulti
-
lookupMultiMulti
-