Closed
Description
Is your feature request related to a problem? Please describe
This issue is to discuss file formats to store the star trees and its associated meta. There could be multiple implementations of composite index, star-tree being one of them.
Required Files:
- Composite Index Metadata (.cim) ~ This file will store the metadata related to the Composite Index. This will primarily used to initialize the meta around star tree, and give the offsets to read the respective star tree.
- Composite Index Data (.cid) ~ This file will store the actual Star Tree data structure. The Star Tree data will be serialized and stored in this file.
- Composite Index Data Doc Values (.cidvd) ~ to store doc values of the star tree dimensions and metrics
- Composite Index Metadata Doc Values (.cidvm) ~ to store doc values metadata
Note: These files are extensible to store as many data structures as possible while not limiting itself to star tree. The idea is, if a new data structure comes based on composite index, we would be able to store it.
Composite Index Meta (cim)
Header
- Composite Index Marker
- Version
- Composite Index Field Name
- Composite Index Field Type (here Star Tree)
Metadata
- Number of dimensions
- Dimension Field Names
- Number of metric entries (field - metric pairs)
- Metric Entries
- Segment Aggregated Document Count
- Max Leaf Docs
- Number of skip star node creation dimensions
- Skip star node creation dimensions
- Star Tree Build Mode (OnHeap / Offheap)
- Data File Pointer (where respective star-tree data is stored)
- Data Length (length of the star tree)
Composite Index Data: (cid)
Header
- Composite Index Marker
- Version
- Number of nodes
Star Node:
- dimension_id
- dimension_value
- start_doc_id
- end_doc_id
- aggregate_doc_id
- is_star
- first_child
- last_child
Metadata
Assignees
Labels
Type
Projects
Status
✅ Done
Activity