[SERVER-60978] Refactor timeseries::MinMax and re-use for bucket schema Created: 25/Oct/21  Updated: 12/Nov/21  Resolved: 12/Nov/21

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

Type: Task Priority: Major - P3
Reporter: Dan Larkin-York Assignee: Dan Larkin-York
Resolution: Done Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Issue Links:
Depends
depends on SERVER-60565 Ensure newly created time-series buck... Closed
Sprint: Execution Team 2021-11-01, Execution Team 2021-11-15, Execution Team 2021-11-29
Participants:

 Description   

SERVER-60565 changed the insert path for time-series inserts to avoid grouping measurements with incompatible schema into the same buckets. It resulted in a 5-9% slowdown on our TSBS insert workloads. The goal of this ticket is to determine if we can erase some of that regression by adapting some of the techniques we use for the bucket MinMax maintenance to handle the schema compatibility checking.



 Comments   
Comment by Githook User [ 12/Nov/21 ]

Author:

{'name': 'Dan Larkin-York', 'email': 'dan.larkin-york@mongodb.com', 'username': 'dhly-etc'}

Message: SERVER-60978 Refactor timeseries::MinMax and re-use for bucket schema
Branch: master
https://github.com/mongodb/mongo/commit/884ef327bd9b2cb630deb833c275d1de29fc58ea

Comment by Dan Larkin-York [ 11/Nov/21 ]

The outcome was in fact to refactor the MinMax code and re-use it for schema management. This resulted in a 2-5% speedup for the case where our time-series inserts are performed with ordered fields. In the case of unordered fields, we expect an additional performance regression of up to 8% or so (usually less). This is in line with our previous work optimizing the MinMax structure, where we have optimized for the common case of ordered fields.

Generated at Thu Feb 08 05:51:14 UTC 2024 using Jira 9.7.1#970001-sha1:2222b88b221c4928ef0de3161136cc90c8356a66.