实现 MongoDB 外键关联
【摘要】 Mongodb 作为分布式文件存储的数据库,想实现多表关联 JOIN 查询并非易事。但通过集算器 SPL 语言,在 Mongodb 中多个表的外键关联查询,完全可以做到像关系数据库那样方便容易。若想了解更多,请前往乾学院:实现 MongoDB 外键关联! &nb
产权交易所统一数据集市案例
【摘要】随着产权交易所业务的发展和 IT 系统的建设,出现了多个系统同时运行,互不连通的问题。由于新老系统采用独立的数据库存储,数据格式、标准、规范都不相同,跨源计算变成了一大难题,常见办法是搭建前置数据库实现统一存储和计算,但改造和开发成本过高,且让管理和后期维护变得复杂!如何以更低成本、更小代价应对以上问题,赶快来乾学院看个究竟吧!产权交易所统一数据集市案例【下载附件】产权交易所统一数据集市案
Java 如何调用 SPL 脚本
【摘要】集算器提供了 JDBC 驱动,很容易嵌入到 Java 程序调用,方法和在 Java 中执行 SQL 和存储过程类似。去乾学院看个究竟:Java 如何调用 SPL 脚本复制摘要Java 应用程序中部署集算器 JDBC首先将 JDBC 部署到 java 应用项目中,简单来说就是,将启动 JAVA 应用程序时加载集算器所需的 jar 包及配置文件放到项目中。需要注意的是,集算器 JDBC 所要求
SPL 简化 SQL 案例详解:行间计算
在数据库应用开发中,我们经常需要面对复杂的SQL计算,行间计算就是其中一种。比如:用每月的销售额除以上月的销售额,求比上期,或用每月销售额除以去年同月的销售额,求同期比。有些数据库系统没有提供SQL2003标准的窗口函数,或者支持得不完备,那么完成行间计算就需要改变思路,使用连接(join)运算替代,不仅难以理解而且运算效率低下。即使可以使用窗口函数,计算时仍要面临嵌套子查询等问题,SQL语句仍旧
Java 如何远程调用 SPL 脚本
在《Java 如何调用 SPL 脚本》中我们介绍了在 Java 中可以部署集算器 JDBC 来调用本地 SPL 脚本,那如何能在 Java 中远程调用 SPL 脚本呢?这就是接下来要说的重点!实现思路通过下图一目了然:部署服务器服务器是运行在 Java 平台上面向分析型的高性能数据库,作为高性能计算数据仓库,服务器可以在离线跑批、在线查询、多维分析和内存计算等方面提供高效的计算输出,帮助用户解决计
SPL 简化 SQL 案例详解:计算各组前 N 行
取出各组的前N行数据是较常见的运算,比如:每个月每种产品销量最高的五天是哪五天,每位员工涨薪最多的一次是哪次,高尔夫会员成绩最差的三次是哪三次,等等。在SQL中,这类运算要用窗口函数以及keep/top/rownumber等高级技巧来间接处理,代码难度较大。而且许多数据库(如MySQL)还没有这些高级功能,就只能用更复杂的JOIN语句和嵌套的子查询来实现了。如果还涉及多层分组,多级关联,计算过程会
SPL 教案——有序
SPL 教案有序.pdf(http://img.raqsoft.com.cn/file/2019/08/fb8a0238968642ec9b810afff8f94f54_SPL.pdf)
SPL 教案——集合
spl 集合.pdf(http://img.raqsoft.com.cn/file/2019/08/c2dde925c51b494db4d0466015edabc0_spl.pdf)
性能优化教案—查找
性能优化教案—查找点击下载 PDF
Docker 用户操作使用说明
用户登录 Client 端1. 登录Client 端访问 Server 端,在集算器中,菜单工具->docker 登陆,登出。IP:对应多台物理机时,IP 为入口物理机 IP端口:配置 Docker_server 时标签对应的端口号用户名和密码:要求和 IP 对应2.Client 端调用 Server 端在介绍 Server 端配置 docker_user.xml 用户管理时提到标签中的三个目录
Docker 管理员操作使用说明
1 模块一:Docker 和集算器结合1.1 Docker 和集算器结合概述将集算器的群集和 docker 结合可以进行高效的运算、合理的资源分配与管理。结合以后结构分成两部分: Server 端和 Client 端; Docker Server 端目前只能在 Linux 中使用。1.2 Docker 端口我们需要了解的是 Docker 管理涉及到三个端口:通信端口、映射外部端口及映射内部端口。其
详谈转置 pivot
问题概要 在日常工作中时常会遇到将数据表的行列进行转换的问题。SQL 提供了静态转置的功能 pivot 和 unpivot,但适用范围很受限,要用 SQL 实现一些比较复杂的转置功能常常会遇到语句过于复杂的问题,而且缺少一个标准的解决思路。而集算器的 SPL 语言,则因其语法的灵活和函数库的丰富,可以完美地弥补 SQL 在这方面的不足。 下面则通过实例详细阐述一下转置功能的实现。基础篇一、行转
轻量级高性能多维分析套件
什么是轻量级?抛开技术术语,从效果上看就是为了实现操作目的,使用更轻便、更省时的方法;那么什么是高性能呢?最直接的说法就是比常用方法更加高效、更快。下面就来介绍润乾提供的这一套轻量级、高性能的多维分析套件。 轻量级的准确含义,是相对于重量级框架而言的一种程序设计模式。轻量级的优点在于对容器没有依赖性,易于配置,更加通用,启动时间较短,并能充分减少开发复杂度;而高性能,则是指相比于常用方法
SPL 的序号思维及定位计算
SPL中的集合都是有序的,可以用序号来引用成员,灵活运用序号可以使运算更为简捷高效。1 成员访问SPL的某些函数中可以使用序号或序号数列作为参数,最简单的应用是直接用序号访问成员,这和一般编程语言中的数组类似。A2与A3从序列中获取指定位置的成员,位置序号是从1开始的,结果如下: A4与A5修改了序列中的某个成员,用分步执行的方式,可以看到A1中序列的变化如下:使用A.m(i
SPL 的日期时间函数
在数据分析计算中,日期时间类数据是比较特殊的类型,这里我们就来研究一下如何在SPL中使用日期时间类数据。1日期时间数据的转换和生成日期时间类数据,通常会用字符串来输入或显示。在使用集算器时,可以点击Tool>Option,在选项配置的Environment页面中,设定日期时间类型数据所使用的默认格式,如:使用SPL时,日期时间类型的数据会按照默认的格式显示出来,如: 运行后查看A
用集算器更新数据库的技巧
对数据库进行批量更新时,使用update函数要比execute函数性能更好。比如,source和target是两个不同的数据源,callrecordA是source中的物理表,有1万条记录,callrecordB是target中的物理表,无记录,现在需要将callrecordA中的数据同步到callrecordB中。当使用execute函数进行批量更新,可以发现性能不够理想,代码如下:上述算法实际
趣味集算:数独
数独是一种老少皆宜的数学游戏,大家用零散的时间就可以玩上几局数独,有助于人们缓解压力,培养观察力和耐力,锻炼大脑。数独游戏的规则也很简单,只需一支铅笔就能游戏,如:在9*9的格子中,已经填入了一些数,你所要做的就是把其余的格子中全部填入1~9的数,使得每一横行,每一竖行,以及粗线所包围的9个九宫格中,1~9这些数字全部只出现一次。其实,如果用集算器的话,任何一局数独谜题都能随手解决。首先,把数独问
性能优化技巧 - 查找
【摘要】日常生活中,我们会遇到各种各样的数据,小到公司通讯录,大到互联网用户行为分析。在进行数据分析处理的过程中,查询是必不可少的环节,如何更加高效地进行数据查询。点击:性能优化技巧 - 查询,来乾学院一探究竟!SPL为用户提供了强大的索引机制以及针对不同场景中各对象的查询函数,善加运用,可以显著提高查询性能。1 键值查找1.1 序表我们先建立一个份“通话记录”的模拟数据,通过
体系结构方案 - 大清单报表
【摘要】一般的报表工具或 BI 系统都是怎么实现大清单报表的呢?•数据全部读出,直接报表呈现•游标方式逐步读入呈现•使用数据库的分页机制按页读出传统模式实现问题:1)全量读模式,全部读出耗时太长,用户体验恶劣;全内存计算的报表可能溢出。2)游标读模式,只能向后翻页。3)分页读模式,初始响应慢,翻页慢;可能出现数据不一致。最佳解决方案: 零编码,引入流式计算实现大清单报表的呈现!去乾学院看集算器是怎
性能优化技巧 - 多层排号键
排号键是SPL独特的数据类型,适合替代多层次、各层不连续的键值,比如身份证号、合同编号、产品编号、组织机构代码等。排号键定位速度快,常用于优化内存索引查询和外键关联计算。内存索引查询cardNormal.btx是集文件格式的身份证信息表,数据量一百万条,字段为:cardNo(身份证,主键),name(姓名),gender(性别),province(省份),email(电子邮件),mobile(移动