Bamboo Pipe Engine (BPE)
以 Java 技术栈(SQL + ASM codegen + offheap ring buffer + bitmap filter + window aggregation)实现的高性能流式单表处理引擎
构建
export JAVA_HOME=$HOME/lang/Temurin-1.8.0_382-b05 && mvn test |
运行测试
# 基础测试 |
基准测试
mvn test-compile dependency:build-classpath -Dmdep.outputFile=target/cp.txt -Dmdep.includeScope=test |
设计文档
详见 docs/bpe_design.md
状态
M0-M4 全部完成,63/63 测试通过。
- M0: 骨架(offheap 缓冲 + Unsafe 门面 + canary + SQL 解析)
- M1: filter codegen + 位图扫描 + SYNC 交付
- M2: FieldReader + 聚合内核(含 stddev/Welford)
- M3: 窗口/watermark/per-key/维表
- M4: ASYNC 模式 + watchdog + Esper 对标
关键决策
- JSqlParser 4.9 静默丢弃
LIMIT n OFFSET m的 OFFSET - JSqlParser 4.9 无 BooleanValue;true/false 解析为裸 Column
- ASM:long→double 用 L2D;跨分支栈必须平衡
- SYNC 模式 CallbackParams 是瞬时视图,需在回调内消费
- ASYNC 模式 egress 模式是引擎级,切换后所有 mapper/窗口均走异步交付
许可
MIT