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 支持
除了本机语法之外,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 显着提升的计算能力印象深刻。
热门跟贴