stonedb icon indicating copy to clipboard operation
stonedb copied to clipboard

feature: The Tianmu engine itself supports custom functions

Open adofsauron opened this issue 1 year ago • 0 comments

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:

  1. The result should be consistent with the result of InnoDB calling custom function to ensure the correctness of the result
  2. 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

  1. The upper limit of memory usage TODO:

  2. Upper limit of CPU usage

TODO:

adofsauron avatar Sep 22 '22 06:09 adofsauron