[SERVER-67498] Generic Boolean expression CE Created: 24/Jun/22  Updated: 01/May/23

Status: Backlog
Project: Core Server
Component/s: None
Affects Version/s: None
Fix Version/s: None

Type: Task Priority: Major - P3
Reporter: Timour Katchaounov Assignee: Backlog - Query Optimization
Resolution: Unresolved Votes: 0
Labels: bonsai-ce
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Duplicate
is duplicated by SERVER-69968 Exponential backoff for FilterNodes w... Closed
Assigned Teams:
Query Optimization
Sprint: QO 2023-02-06
Participants:

 Description   

TODO: The description needs to be updated based on this presentation.

 

Implement a generic transport-based CE class that handles all logical nodes.
This class also handles in a generic way:

  • Estimation of conjunctions/disjunctions inside SargableNode.
  • Estimation of SARGable elemMatch Filter nodes.
  • In the future it will handle complex FilterNodes.

Each transport method for each node type will take into account whether a specific estimation method is enabled, and call the corresponding estimation logic for each atomic interval or predicate. In the case of histogram-based estimation, the method will also check for and fetch the histogram for the filtered path, and will call histogram-based estimation.



 Comments   
Comment by Timour Katchaounov [ 13/Oct/22 ]

After discussing with the optimizer team, and this presentation this task will be narrowed only to implement a generic estimator of Boolean expressions that processes an in/out tree of estimates that is parallel to the Boolean expression tree.

Comment by Timour Katchaounov [ 28/Sep/22 ]

Apparently there is a need for more discussions to agree on the high-level approach.

I'll pause work on this until we have those dicussions.

Comment by Timour Katchaounov [ 28/Sep/22 ]

This is a document that discusses alternative approaches: https://docs.google.com/document/d/14NsfjN2A4Pu7GQ5f2KRUCqWgY2IV-HOfce6jAdoHYck/edit

Generated at Thu Feb 08 06:08:17 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.