写点什么

开源 SPL 强化 MangoDB 计算

  • 2023-01-19
    江西
  • 本文字数:753 字

    阅读完需:约 2 分钟

MongoDB 是 NoSQL 数据库的典型代表,支持文档结构的存储方式数据存储和使用更为便捷,数据存取效率也很高,但计算能力较弱,实际使用中涉及 MongoDB 的计算尤其是复杂计算会很麻烦,这就需要具备强计算能力的数据处理引擎与其配合。

开源集算器 SPL 是一款专业结构化数据计算引擎,拥有丰富的计算类库和完备、不依赖数据库的计算能力。SPL 提供了独立的过程计算语法,尤其擅长复杂计算,可以增强 MongoDB 的计算能力,完成分组汇总、关联计算、子查询等通通不在话下。

1 常规查询

MongoDB 不容易搞定的连接 JOIN 运算,用 SPL 很容易搞定:

 

单表多次参与运算,复用计算结果:

 

IN 计算:

 

外键对象化,外键指针不仅方便,效率也高:

 

APPLY 算法的简单实现:

 

集合运算,合并交差:

 

在序列中查找成员序号:

 

多成员集合的交集:

2 复杂计算

TOPN 运算:

 

嵌套结构的聚合:

 

合并多属性子文档:

 

嵌套 List 子文档的查询

 

交叉汇总:

 

分段分组

 

分类分组

 

3 数据写入

导出成 CSV:

 

更新数据库(MongoDB 到 MySQL):

 

更新数据库(MySQL 到 MongoDB):

 

4 混合计算

借助 SPL 还很容易实现 MongoDB 与其他数据源进行混合计算:

5SQL 支持

SPL 除了原生语法,还提供了相当于 SQL92 标准的 SQL 支持,可以使用 SQL 查询 MongoDB 了,比如前面的关联计算:

6 应用集成

不仅如此,SPL 提供了标准 JDBC/ODBC 等应用程序接口,集成调用很方便。如 JDBC 的使用:

Class.forName("com.esproc.jdbc.InternalDriver");Connection conn = DriverManager.getConnection("jdbc:esproc:local://");PrepareStatement st=con.prepareStatement("call splScript(?)"); // splScript为spl脚本文件名st.setObject(1,"California");st.execute();ResultSet rs = st.getResultSet();
复制代码

有了这些功能,增强 MongoDB 的计算能力可不是说说而已,要不要下载试试?

7SPL 资料

发布于: 刚刚阅读数: 4
用户头像

关注公众号: 石臻臻的杂货铺 获取最新文章 2019-09-06 加入

进高质量滴滴技术交流群,只交流技术不闲聊 加 szzdzhp001 进群 20w字《Kafka运维与实战宝典》PDF下载请关注公众号:石臻臻的杂货铺

评论

发布
暂无评论
开源SPL强化MangoDB计算_开源_石臻臻的杂货铺_InfoQ写作社区