-
Notifications
You must be signed in to change notification settings - Fork 0
Integrate Automatic Indexing into DB #1
Copy link
Copy link
Closed as not planned
Labels
designRequires design (architecture, protocol, specification and task list requires further work)Requires design (architecture, protocol, specification and task list requires further work)developmentStandard developmentStandard developmentenhancementNew feature or requestNew feature or requestepicBig issue with multiple subissuesBig issue with multiple subissuesr&d:polykey:core activity 1Secret Vault Sharing and Secret History ManagementSecret Vault Sharing and Secret History Managementr&d:polykey:core activity 3Peer to Peer Federated HierarchyPeer to Peer Federated HierarchyresearchRequires researchRequires research
Metadata
Metadata
Assignees
Labels
designRequires design (architecture, protocol, specification and task list requires further work)Requires design (architecture, protocol, specification and task list requires further work)developmentStandard developmentStandard developmentenhancementNew feature or requestNew feature or requestepicBig issue with multiple subissuesBig issue with multiple subissuesr&d:polykey:core activity 1Secret Vault Sharing and Secret History ManagementSecret Vault Sharing and Secret History Managementr&d:polykey:core activity 3Peer to Peer Federated HierarchyPeer to Peer Federated HierarchyresearchRequires researchRequires research
Specification
Indexing is the act of creating a separate data structure that makes it faster to lookup data on a primary data structure.
PK has several domains that require secondary indexing:
Right now secondary indexing is implemented manually in ACL by persisting bidirectional maps in leveldb.
Indexing is tricky topic, and it's better to create a single indexing mechanism in DB so that all domains in PK can benefit from them.
Generic indexing can reply on LevelDB's eventemitter interface. The good thing is that other people have already created good libraries for this:
The second library automates some of
level-auto-index. In fact it binds secondary index interfaces to the leveldb object.For
@matrixai/dbit makes more sense to uselevel-auto-indexso we can more tightly control how the indexes are stored. Most likely via sublevel interfaces.Additional context
Tasks
level-auto-index[ ] - Integrate thelevel-auto-indexinto this library's domain/level creation, each level including the root level should have the ability of attaching a secondary index (or multiple secondary indexes)