stonedb
stonedb copied to clipboard
feature: The Tianmu engine itself supports custom functions
Abstract:
The current column storage engine does not support custom functions. Previously, it used the Mysql/SQL layer to parse custom functions. But this led to a series of data errors. This enables formal column storage engine-based support for custom functions. This paper analyzes its requirements.
Functional Requirements:
- The result should be consistent with the result of InnoDB calling custom function to ensure the correctness of the result
- Do not use callback to the SQL layer to parse
The callback to the SQL layer will result in the coupling between the engine layer and the SQL layer, and the logical flow cannot be clearly understood
If the engine layer and SQL layer are tightly coupled, it is difficult to upgrade the mysql version
Each upgrade requires writing a call to the engine layer based on the implementation of the new mysql SQL layer
Each time, the call to the engine is rewritten, increasing the workload and increasing the time it takes to test the code
Performance Requirements:
I. Time-consuming of calling custom functions
It is on the same order of magnitude as InnoDB engine
-
The upper limit of memory usage TODO:
-
Upper limit of CPU usage
TODO: