Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Epic] Secondary Indexes #201

Open
13 of 21 tasks
Tracked by #1501
jsimnz opened this issue Feb 9, 2022 · 1 comment
Open
13 of 21 tasks
Tracked by #1501

[Epic] Secondary Indexes #201

jsimnz opened this issue Feb 9, 2022 · 1 comment
Assignees
Labels
area/collections Related to the collections system area/datastore Related to the datastore / storage engine system area/query Related to the query component epic Includes sub-issues feature New feature or request perf Performance issue or suggestion priority/high
Milestone

Comments

@jsimnz
Copy link
Member

jsimnz commented Feb 9, 2022

Currently, only Primary Indexes are implemented, which is a simple relation between dockey/field => state_data. Effectively this is an index on the dockey field of a document. This is a minimal requirement for making the DB work, however we need to let devs also manually define "Secondary Indexes".

Secondary Indexes allow devs to index on alternative fields, even a combination of multiple fields. Which can lead to effecient querys for certain filter/order/etc arguments. The idea is if a developer knows ahead of time the likely kind of queries/lookups their respective application needs, then they can optimize the DB structure for those specific queries.

Starting a spec doc as there are a number of goals/compromises/designs that need to be considered: https://hackmd.io/rLHMu-KvRFC0OoE8xkwYlA

Tasks

Preview Give feedback
  1. area/db-system perf question
    AndrewSisley
  2. area/query feature priority/high
    islamaliev
  3. area/api area/cli feature priority/high
    islamaliev
  4. area/query feature perf priority/high
    islamaliev
  5. area/query feature priority/high
    islamaliev
  6. area/query feature priority/high
    islamaliev
  7. area/query feature
  8. refactor
    AndrewSisley
  9. area/collections perf
  10. area/query feature perf
    islamaliev
  11. area/datastore area/query feature perf
    islamaliev
  12. area/datastore feature
    islamaliev
  13. bug
  14. area/db-system bug code quality
    islamaliev
  15. area/collections feature perf
    islamaliev
  16. area/collections feature perf
    islamaliev
  17. area/query perf
    islamaliev
  18. area/query perf
  19. area/query feature perf
  20. area/query perf
  21. area/datastore area/query perf
@jsimnz jsimnz added feature New feature or request area/query Related to the query component perf Performance issue or suggestion area/collections Related to the collections system labels Feb 9, 2022
@jsimnz jsimnz added this to the DefraDB v0.3 milestone Feb 9, 2022
@jsimnz jsimnz added the area/datastore Related to the datastore / storage engine system label Feb 11, 2022
@AndrewSisley
Copy link
Contributor

Had a thought - if/when implementing the ds.Get call chain, do it in a feature-agnostic way that allows fetcher to use ds.Get when it can

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/collections Related to the collections system area/datastore Related to the datastore / storage engine system area/query Related to the query component epic Includes sub-issues feature New feature or request perf Performance issue or suggestion priority/high
Projects
None yet
Development

No branches or pull requests

4 participants