IMBridge is a prototype system based on OceanBase 4.3. It is designed to mitigate impedence mismatches between database engines and prediction query execution.
- Repetitive Inference Context Setup
- Undesirable Batching Inference
- Automatic Inference Context Reuse Cache
- Batch-aware Function Invocation
mainly in 'src/sql/engine/python_udf_engine'
- Zero-copy Vectorized Python UDF based prediction function evaluation
- One-off Inference Context Setup
- Python UDF metadata management (Parser, Resolver, RootService...)
- Statement Rewriter to detect and extract Python UDF
- Specialised Prediction-aware Operator with Batch Control and Inference Context Reuse Cache.
- Adaptive inference batch size esitimated using a heuristic algorithm
- Setup the system environment. (compile Python 3.12 from source code to target path, see cmake/PythonEnv.cmake, other compilation details see /docs)
- Download and install OceanBase-all-in-one package (Version 4.3.0.1) from www.oceanbase.com/softwarecenter.
- Deploy the OceanBase cluster.
- Config and run replaceOb.sh shell. (./replaceOb.sh debug/release)
- Redeploy the OceanBase cluster.
- Connect to the database, create Python UDFs and make prediction queries.