SPL 帮助 MongoDB 提高其计算、完成分组和聚合、连接、子查询和所有其他计算任务的能力。

SPL 帮助 MongoDB 提高其计算、完成分组和聚合、连接、子查询和所有其他计算任务的能力。

MongoDB 是一个典型的 NoSQL 数据库。其面向文档的结构使得存储和访问都方便高效。但是数据库的计算能力比较弱。MongoDB 数据的计算,尤其是复杂的数据,很难处理。需要具有强大计算能力的数据计算引擎与MongoDB配合完成相关的计算任务。

开源集算器 SPL 是一个专门的结构化数据计算引擎。它提供了丰富的类库和全方位的、独立于数据库的计算能力。SPL 具有独立的过程语法,特别擅长处理复杂的计算。它可以帮助 MongoDB 提高计算能力,轻松完成分组和聚合、连接、子查询和所有其他计算任务。

常规查询

常规查询

在 SPL 中,很容易实现 MongoDB 难以处理的 JOIN:

SPL 可以重用处理重复参与计算的表的数据的结果:

在 SPL 中执行 IN 条件查询:

SPL 将外键值转换为对象的技术——对象引用外键——创建了高效的外键指针:

SPL 以简单的方式实现 APPLY 算法:

SPL 执行面向集合的计算(例如交集、并集、差集和连接)的方式:

获取 SPL 中序列中成员的序列号:

在 SPL 中执行多成员集合的交集:

复杂查询

复杂查询

在 SPL 中获得 TopN:

总结 SPL 中的嵌套结构集合:

在 SPL 中组合由多个属性组成的子文档:

在 SPL 中查询嵌套列表子文档:

SPL 跨行业聚合:

基于 SPL 段的分组:

SPL 基于类的分组:

数据写入

数据写入

在 SPL 中将数据导出为 CSV:

SPL 数据库更新(从 MongoDB 到 MySQL):

SPL 数据库更新(从 MySQL 到 MongoDB):

混合计算

混合计算

SPL 可以方便地在 MongoDB 和另一个数据源之间进行混合计算:

SQL 支持

SQL 支持

除了本机语法之外,SPL 还提供对 SQL92 标准的支持。可以使用SQL查询MongoDB实现上述的join操作;例如:

集成到应用程序中

集成到应用程序中

SPL 提供标准的 JDBC/ODBC 驱动程序,通过这些驱动程序,SPL 可以方便地集成到应用程序中或由应用程序调用。通过 JDBC 调用 SPL 代码:

… Class.forName("com.esproc.jdbc.InternalDriver"); 连接连接 = DriverManager.getConnection("jdbc:esproc:local://"); PrepareStatement st=con.prepareStatement("调用 splScript(?)"); // splScript 是 SPL 脚本文件的名称 st.setObject(1,"加利福尼亚"); st.execute(); 结果集 rs = st.getResultSet(); …

凭借所有这些功能,您一定会对 MongoDB 显着提升的计算能力印象深刻。