SPL 有没有可能和 Duckdb 进行深度集成?
Duckdb 可以和 python 的 DataFrame 进行无缝结合, duckdb 的表是不是也可以和 spl 的序表进行无缝结合?
Duckdb1.5 发布了 java 表函数的功能, 避免了 jdbc 的逐行转换。是不是可以把 DuckDB 的二进制流解析并实例化为 SPL 能够理解的 SequenceTable 对象?
国内信创数据改造,性能都有很大的问题,目前在用 duckdb 和 spl 做性能优化, 如果能结合起来感觉能应用的点非常多。
duckdb2.1 就要支持存储过程了, 存储过程应用场景基本是确定的, 更希望有类开发语言的功能, 如 dolphindb,就有专门的开发语言, 可以做全场景的统计、计算等。 如果 spl 做计算 +duckdb 做大数据量聚合,是很好的一个场景, 可以解决很多问题。
就是不知道有没有可行性?

SPL 有 Java 接口,可以自行封装 DuckDB 的 Java API;我们暂时没有空闲时间来做它。
DuckDB 应该不算信创吧,虽然开源。
如果要解决性能问题,SPL 可以全部搞定(包括存储),有太多 10 倍以上的性能提升案例了,完全用不着 DuckDB,用了它只会损害 SPL 的高性能。关系数据库理论上无序,有些高效存储机制没法用,SPL 的某些高性能算法跑不起来。而且 DuckDB 内核不是 Java 的,既使提供有 JavaAPI,也一样要做序列化等转换而牺牲性能,跑不出最好的效果。所以这倒不是有没有可行性的问题,是有没有意义的问题。
如果用数据库(包括 DuckDB) 来做大数据聚合,SPL 这边只做小数据运算,那也没有性能问题,继续用 JDBC 就可以了,也没必要再封装 API。
这有两篇去年的文章:
esProc SPL 和 DuckDB 存储对比
从 TOPN 和 COUNT DISTINCT 来看 DuckDB 的性能优化
近期发展不清楚了,仅供参考