数据计算
文章平均质量分 81
润乾软件
创新技术 推动应用进步
润乾报表二十年
展开
-
差异数据的对比和整理
在我们日常的工作中,常常会遇到很多结构相同,但来源不同的数据。有时,这些数据之间完全独立,互不重叠,例如各个分公司从自己系统中导出的销售数据;但有时,这些数据之间又会有大量的重叠,例如常见的一个完整业务流程中涉及的各个系统、各个环节,都可能根据各自收到的单据进行录入。这时,如何对这些重叠数据进行对比,从而发现和纠正其中的错误,就需要我们常说的“自动对账”操作了。在一般业务系统的设计开发中,这种对账...原创 2018-03-30 11:45:31 · 6568 阅读 · 0 评论 -
如何用外部程序优化SQL语句中的IN和EXISTS
数据结构IN 和 EXISTS 是 SQL 中常见的复杂条件,在将 SQL(存储过程)转换成库外计算获取高性能时也会面对这些问题。本文将以 TPC-H 定义的模型为基础,介绍如何用集算器的语法实现 IN、EXISTS 并做优化。TPC-H 是 TPC 事务处理性能委员会制定的用于 OLAP 数据库管理系统的测试标准,模拟真实商业应用环境,以评估商业分析中决策支持系统的性能。TPC-H 模型...原创 2018-11-20 16:05:25 · 388 阅读 · 0 评论 -
用简单程序协助MySQL实现窗口函数
窗口函数是 SQL2003 标准才开始有的一系列 SQL 函数,用于应付一些复杂运算是比较方便。但是普遍使用的 MySQL 数据库对窗口函数支持得却很不好,直到最近的版本才开始有部分支持,这当然就让 MySQL 程序员很郁闷了。实际操作中,我们可以在 MySQL 里用 SQL 拼出窗口函数功能,但是需要使用用户变量以及多个 SELECT 表达式从左到右依次计算的隐含规则。下面我们来看两个例子(...原创 2018-11-20 16:23:43 · 423 阅读 · 0 评论 -
10 行代码提取复杂 Excel 数据
【摘要】 把 Excel 文件导入关系数据库是数据分析业务中经常要做的事情,但许多 Excel 文件的格式并不规整,需要事先将其中的数据结构化后再用 SQL 语句写入数据库。而一般情况下,结构化的工作量会比较大,而且很难通用,每次都要针对文件格式进行分析后再进行开发。 集算器的 SPL 语言是一款高效、灵活的工具,它能够轻松读取 excel 数据,然后结构化成“序表”后导入数据库。使用 S...原创 2018-11-30 19:25:02 · 1973 阅读 · 0 评论 -
体系结构方案 -BI 系统的前置计算
【摘要】存在问题:BI 系统后台计算由中央分布式数据仓库(MPP)实现,性能不佳,导致交互式多维分析响应迟钝。产生的原因:中央数据仓库上挂数十个应用,计算负担太重!解决方案:数据前置计算 / 缓冲层,由应用程序直接计算,不再请求中央数据仓库。使用常规数据库实现前置计算的“烦恼”: 全量数据前置?高频数据前置?SQL 转换问题?性能问题?BI 系统的前置计算...原创 2018-12-13 15:18:43 · 244 阅读 · 2 评论 -
数据脱敏的处理方法及查询
【摘要】关键词:集算器、SPL、数据脱敏、报表1)、数据脱敏是“指对某些敏感信息通过脱敏规则进行数据的变形,实现敏感隐私数据的可靠保护。在涉及客户安全数据或者一些商业性敏感数据的情况下,在不违反系统规则条件下,对真实数据进行改造并提供测试使用,如身份证号、手机号、卡号、客户号等个人信息都需要进行数据脱敏。是数据库安全技术之一。”2)、本文介绍的脱敏数据报表查询将利用润乾集算器编写 SP...原创 2018-12-24 17:37:05 · 20176 阅读 · 0 评论 -
简化 MongoDB 关联运算
【摘要】 MongoDB提供的 lookup 对多表关联实现了基本的支持,但面对一些比较复杂的关联情况,往往会遇到 shell 脚本过于复杂的问题。而集算器 SPL 语言,则因其离散性、易用性恰好能弥补 Mongo 这方面的不足。若想了解更多,请前往乾学院:简化 MongoDB 关联运算!MongoDB属于 NoSql 中的基于分布式文件存储的文档型数据库,这种bson格式的...原创 2018-12-24 17:42:16 · 577 阅读 · 1 评论 -
车险往年保单关联计算的性能优化
【摘要】保险行业计算车险往年保单,需要按照车辆 vin 码、车架号、牌照种类和牌照号等多字段关联,涉及到几千万甚至上亿的大表,用存储过程计算非常耗时。点击车险往年保单关联计算的性能优化,去乾学院看看集算器如何把几个小时的计算缩短到十几分钟!问题的提出保险行业中,往往需要根据往年保单来快速计算和生成当年新的保单。以车险为例,在提醒老客户续保时就需要计算指定时间段的往年保单,例如某省级公司...原创 2019-01-10 14:27:38 · 313 阅读 · 0 评论 -
模拟测试数据的生成方法
【摘要】许多程序员都头疼测试数据的模拟,一个是要逼真,另一个需要数据量,不逼真往往导致一些 bug 测不出来,数据量不够则无法发现性能问题,这篇文章给出了很好的解决办法。1)、应用系统或软件产品一般都需要进行不同阶段的验证工作,包括原型功能论证、功能测试、性能测试等,这些测试、论证场景都可能涉及到测试数据的准备。2)、根据用户的业务需求、数据预置约束条件、数据间层级关联等条件,生成对应的模拟...原创 2019-01-10 15:00:41 · 16062 阅读 · 0 评论 -
SQL 难点解决:集合及行号
【摘要】SQL 虽然有集合概念,但对于集合运算、特别是有序集合运算,提供的支持却很有限,经常要采用很费解的思路才能完成,计算效率也不佳。而集算器 SPL 在方面则要直观许多,可以按自然思维习惯写出运算。这里对 SQL 和集算器 SPL 在集合运算和行号相关运算方面进行了对比,如果需要了解更多,请前往乾学院:SQL 难点解决:集合及行号! 1、 和集示例 1:重叠部分不重复计数时求多...原创 2019-01-10 15:28:50 · 229 阅读 · 0 评论 -
批量随机键值查询测试
【摘要】当数据量巨大时,使用大批量随机键值集获取对应记录集合,不仅仅考验数据库软件本身,更在于程序员对数据的理解!如何在硬件资源有限的情况下将性能发挥到极致?点击:批量随机键值查询测试,来乾学院一探究竟!本次测试主要针对集算器组表索引实现的批量键值取数性能,并与 Oracle 进行同规模运算对比。一、测试环境 处理器 Intel(R) Xeon(R) CP...原创 2019-01-10 15:33:59 · 217 阅读 · 0 评论 -
体系结构方案 - 跨库数据运算
【摘要】存在问题:跨库的数据汇总运算开发复杂、效率低。产生的原因:单库的大表数据量巨大,条件限制又不能做分布式数据库,而大多数应用程序都严重依赖数据库的计算能力,但是跨库时数据库的计算能力常常不给力!解决方案:建议采用专业计算引擎,不依赖于数据库的计算能力。降低跨库数据运算的开发复杂度、提升开发效率。新体系结构优势特点: 开发复杂度降低,应用结构灵活简单。去乾学院看个究竟吧!体系结构方案...原创 2019-01-10 15:48:31 · 140 阅读 · 0 评论 -
Java 嵌入 SPL 轻松实现 Excel 文件合并
大多数JAVA程序猿都选择使用POI或者HSSFWorkbook等第三方类库来实现Excel自动化合并,这样一来不仅需要噼里啪啦的敲好多代码,费事费力,而且用起来灵活度也不高,对Excel的格式要求也很严格。如果能有一个专用的外部数据工具,写简单类似SQL的脚本来实现,然后在JAVA中直接调用并返回结果集,就再好不过了。润乾集算器就是这样的机制,通过使用JDBC调用SPL脚本,使用起来方便快捷,下...原创 2019-01-10 16:10:03 · 1430 阅读 · 0 评论 -
集成计算引擎在大型企业绩效考核系统的应用方案
前言大型企业的绩效考核系统一直是一个难于稳定的系统,总是面临着没完没了的需求变化。就其原因主要是软件架构僵化,业务逻辑与数据耦合度过高,造成需求的任何一点修改,都要对整个应用进行伤筋动骨的改动。而一个高度可集成的专业数据计算引擎,可以从根本上解决这一问题。 解决方案 相关方案下载:绩效考核系统集成数据计算引擎.pdf...原创 2019-01-18 11:31:47 · 307 阅读 · 0 评论 -
银行业离线报表订阅系统案例
随着数据量的持续增长,并发访问越来越密集;以及业务种类的不断丰富,报表需求还在不断增加,数据库需要不断扩容来应对这些变化。然而,仅仅对数据库本身扩容难免陷入高成本低成效的窘境,企业应当使用库外计算来减轻数据库的扩容压力和吞吐瓶颈!...原创 2019-08-13 17:29:32 · 155 阅读 · 0 评论 -
给一句 SQL 就能做多维分析
【摘要】《把 Excel 透视表搬到 WEB 上》我们以 Excel 文件数据集为例,介绍了如何把 Excel 的数据透视表嵌入到俺的应用程序中。爱学习的同学会问了,Excel 数据透视表可以使用 Excel 里取到的任何数据,比如数据库取数,你们能直接从数据库取数做分析吗?Yes,I Can!俺的程序支持对任何数据库做 SQL 数据集多维分析,只需先把数据源配置好,然后程序猿啪啪几下敲下需要...原创 2018-11-20 15:45:59 · 175 阅读 · 0 评论 -
轻量级可嵌入多维分析后台
问题的提出多维分析(BI)系统后台数据源通常有三种选择。一、普通数据库;二、专业数据仓库;三、BI 系统自带的数据源。但是,这三种选择都有各自的问题。普通数据库一般都是行式存储,很难获得多维分析希望的高性能,只适用较小数据量。专业数据仓库有不少是列式存储的,性能问题不大,但是价格都比较昂贵,建设、扩展和维护成本也都非常高。BI 系统自带的数据源都比较封闭,只能为自家的 BI 前端提供支持,...原创 2018-11-12 12:14:51 · 180 阅读 · 0 评论 -
敏捷BI的那些麻烦事(一)
敏捷BI这个词这两年比较流行,其实深究起来就是自主报表,是希望业务人员自己能完成数据分析和呈现。业务人员经常面对临时性的数据分析需求,比如某区域的电商想搞个促销活动,经常需要一批有针对性的用户数据来分析一下,传统手段一般提交给技术部门去实现,这样显然周期长、效率低,有时获得结果时已经失去促销窗口期了。如果能有一套前端工具让业务人员自己做分析和呈现,那无疑会极大地提高决策效率,敏捷BI中说的敏捷多半...原创 2018-04-09 11:14:01 · 913 阅读 · 0 评论 -
文本数据的分分合合
对于数据分析工作来说,可能最希望的是面对规整、一致的数据,例如定义清晰明确的关系数据库,或者可以自由钻取、切片的OLAP 数据仓库。但不幸的是,很多时候,我们不得不面对来自方方面面的零散数据,亲自操刀煎炒烹炸,这其中,文本数据的合并、分拆就有点像基本的刀工,既要做的漂亮,但又不能用太多的时间。这时候一把趁手好刀的作用就不容忽视了——我们这里介绍的,集算器,就可以说是这个领域的双立人、王麻子了。仔细...原创 2018-04-23 13:08:42 · 324 阅读 · 0 评论 -
查询?还是计算?这不再是个问题!(二)
从SQL到SPL基本查询语法迁移 之多表操作上一篇我们针对单表的情形了解了如何把数据计算从SQL查询迁移到集算器,或者更准确地说,迁移到集算器所使用的SPL集算语言。这个迁移过程,既有相同的概念,也有不同的思路。接下来,我们一起针对多表的情况看一下集算器和SPL语言是如何发挥更大的优势的。JOIN连接两个记录在前面的例子中,我们得到了每个雇员的销售额,如果进一步还想知道每个雇员给出的最小折扣,那就...原创 2018-05-14 17:51:54 · 179 阅读 · 0 评论 -
大数据技术的4个E
大数据的4个V说法在业界已经尽人皆知,这是指的大数据本身的特征。现在我们来考察一下用于处理大数据的技术应该具有的特性。为方便记忆,类似4个V,我们把这些特性总结成4个E,用户在选择大数据技术解决方案时可作为参考。1. Easy 大数据技术要足够简单易用这个E很容易理解。要进行大数据处理的场景很多,涉及工作人员也是各种各样的。如果技术的难度太大,那会导致只有少数人能应用,而且实施复杂度较高,这样大数...原创 2018-05-21 23:44:23 · 139 阅读 · 0 评论 -
最简单的大数据性能估算方法
大数据的性能是个永恒的话题。不过,在实际工作中我们发现,许多人都不知道如何进行最简单的性能估算,结果经常被大数据厂商忽悠:)。这个办法我在以往的文章中也提到过,不过没有以这个题目明确地点出来。其实很简单,就是算一下这些数据从硬盘上取出来用的时间。除了个别按索引取数的运算外,绝大多数运算都会涉及对数据的整体遍历,比如分组汇总统计、按条件查询(非索引字段);那么,这些运算耗用的时间,无论如何不可能小于...原创 2018-06-11 17:21:50 · 2218 阅读 · 0 评论 -
大清单报表应当怎么做?
在数据查询时,有时会碰到数据量很大的清单报表。用户输入的查询条件很宽泛,可能会从数据库中查出几百上千万行甚至过亿的记录。如果等着把这些记录全部检索出来再生成报表呈现,那需要很长时间,用户体验恶劣;而且报表一般采用内存运算机制,大多数情况下也装不下这么多数据。所以,我们一般都是使用分页呈现的方式,尽量快速地呈现出第一页,然后可以随意翻页显示,每次只显示一页,也不会造成内存溢出。那么,一般的报表工具或...原创 2018-06-05 10:13:24 · 1033 阅读 · 0 评论 -
集算器(仓库版)发布,黑科技获得用户好评
2018年5月16日,集算器(仓库版)携带多项黑科技正式发布。在发布之前的应用验证中,仓库版就已经用实力赢得了用户的好评。北京银行用户在评价仓库版时表示:在数据分析实践中,高并发访问、大数据量计算造成的系统响应时间过长的问题,始终没有得到很好的解决。集算器(仓库版)的出现,彻底解决了这个难题!用集算器将高频次热点数据前置,构建数据计算中间层,可以说是最佳解决方案,在很多场景下要优于价值百万的数据库...原创 2018-05-29 12:36:27 · 528 阅读 · 0 评论 -
这个产品能支持多大数据量?
经常有用户会问这个问题,你家的产品能处理多大数据量?似乎是这个值越大产品就越牛。这个问题,其实没多大意义。能处理多大的数据量,还有个很关键的因素是期望的响应时间,在脱离这个因素单纯谈大数据产品的数据处理量,就不知道怎么回答了。考虑只有单台机器的简单情况。如果是希望秒级响应的OLAP式汇总,那么GB级都是挺大的数据了,几乎不可能有什么产品能处理TB级数据(除非有巨大内存)。而如果是数小时内完成的ET...原创 2018-06-12 10:39:22 · 420 阅读 · 0 评论 -
列名作为分类值时如何画出统计图
一般来说,在报表中设计的统计图要用到两个变量值,一个是分类值,一般是统计中的横轴,还有一个就是系列值,相应的就是统计图中的纵轴。绝大多数情况下,分类值与系列值都是来源于表中的数据,也就是说,统计图是基于数据库表中的记录来设计器的,例如下面这个统计图:一般会来自于这样的数据:但是,有时会遇到下面这样的数据:显然,如果还需要做出前面的统计图,那么分类值和系列值就需要使用数据库中的列名也就是字段名了。说...原创 2018-07-09 09:49:03 · 194 阅读 · 0 评论 -
轻松应对多层JSON数据计算与入库
JSON作为一种轻量级的数据交换格式,因其易于读写和交互的特点,已逐渐成为主流的数据类型之一。常见的编程语言大多都对 JSON 的读取与解析提供了接口,但是接下来如何把多层 JSON 数据经过筛选、计算并展开成二维数据,就需要开发人员去头疼了。本文就为大家分享一下如何利用集算器 SPL(结构化处理语言)轻松解决 JSON 数据解析入库的问题。JSON 数据文件导入与解析根据 JSON 数据...原创 2018-10-15 15:09:57 · 1130 阅读 · 0 评论 -
轻量级内存计算引擎
内存计算指数据事先存储于内存,各步骤中间结果不落硬盘的计算方式,适合性能要求较高,并发较大的情况。 HANA、TimesTen等内存数据库可实现内存计算,但这类产品价格昂贵结构复杂实施困难,总体拥有成本较高。本文介绍的集算器同样可实现内存计算,而且结构简单实施方便,是一种轻量级内存计算引擎。下面就来介绍一下集算器实现内存计算的一般过程。一、 启动服务器集算器有两种...原创 2018-11-09 17:30:13 · 344 阅读 · 0 评论 -
10 行代码解决漏斗转换计算之性能优化
大话数据计算性能优化 大数据分析的性能优化,说道底,就优化一个事情:针对确定的一个计算任务(数据确定,结果确定),以最经济的方案得到结果。这个最经济的方案主要考量三个成本:时间成本、硬件成本、软件成本。时间成本:根据计算任务的特点,能容忍的最长时间各不相同。那些 T+0 的计算任务,实时性要求就比较高,T+1 再算出结果就失去了意义。 硬件成本:可以使用的硬件资源,对一个公司来说...原创 2018-11-12 10:48:29 · 193 阅读 · 0 评论 -
SQL 难点解决:序列生成
1、 生成连续整数序列MySQL8: with recursive t(n) as (select 1union allselect n+1 from t where n<7)select * from t; Oracle:select level nfrom dual connect by level<=7; 集算器 SPL: ...原创 2018-11-12 11:19:59 · 364 阅读 · 0 评论 -
如何优化多数据集关联报表
多数据集关联报表是很常见的报表形式,它允许开发者分别从不同的来源(表或数据库)分别准备数据形成不同的数据集,在报表端(模板)通过表达式描述数据集间的关系完成关联。这样可以避免在数据准备时写过于复杂的 SQL/ 存储过程,降低维护难度。尤其当报表数据来源于多个数据库时,多数据集的优势更加明显。凡事都有两面性,多数据集为开发带来方便的同时却对性能造成了极大的影响。在报表端进行多数据集关联时要计算关...原创 2018-11-12 11:42:52 · 2580 阅读 · 0 评论 -
银行业大数据量清单报表案例
银行数据查询业务中,经常会碰到数据量很大的清单报表。由于用户输入的查询条件可能很宽泛,因此会从数据库中查出几百上千万甚至过亿行的记录,比如银行流水记录;为了避免内存溢出,一般都会使用关系型数据库的分页机制来做,但结果往往也不尽人意;有些情况下甚至底层采用了非关系型数据库,这更会加剧了问题的复杂度。针对这类场景,集算器能够给你一份满意的答卷!...原创 2019-08-09 11:28:45 · 761 阅读 · 0 评论