在应用软件开发中,数据有三种类型的用法,但大部分人只用了一种,就是基于关系数据库的数据检索。

众所周知,经过多年的信息化建设,许多信息系统得以推广和部署,并因此产生了大量数据。大数据概念的提出,把数据当做类似石油一样的战略资源。那么,如何发掘数据资源的价值,就成为业内研究与开发的重点。但是,大部分人只关注和使用了其中一种方式,对其它两种方式应用较少。

下面,我们通过对对象和指标的组合分析,来具体引出三种类型的区别。

什么是对象呢?在人口数据库中,对象就是人,可用身份证号检索;在设备运行数据库中,对象就是设备,可以用设备编码来检索。

什么是指标呢?在人口数据库中,指标就是年龄、学历、职业等;在设备运行数据库中,指标就是转速、电流、电压等。

通过对象和指标的不同组合,形成了三种类型的数据处理方式:单对象单指标(SS)、多对象单指标(MS)、多对象多指标(MM)。

单对象单指标(SS)应用就是传统的关系数据库检索,或称为OLTP应用,根据指定的身份证号,检索出该人的所有数据。这里的单指标不是指检索出来只显示一个指标,而是指指标之间没有关联。

如果用树木和森林来比喻,这种方式处理的对象是树木,虽然树木也在森林中,但不考虑不同树木之间的关系。

对应单对象单指标

多对象单指标(MS)应用是指的OLAP应用,属于数据商业智能(BI)应用范围,它需要进行数据的聚合计算,比如计数、合计、最大值、最小值、标准差等。

虽然一般关系数据库中也提供相关的聚合计算功能,但在数据量大到一定程度时,速度会很慢,为此很多软件为保证白天报表生成速度,会在晚上进行预聚合处理。

SAP在采用HANA后新推出的财务软件SAP S/4,号称通过内存计算减少了90%的数据表,也就是说,原来如此复杂的SAP财务软件,90%的数据表都是用于做预聚合的,目的在于加快报表显示速度。

实际上有专门的分析数据库可用于多对象单指标的应用,这就是分析数据库或OLAP数据库。在传统的关系数据库系统中,厂家会同时提供的OLAP数据库功能,比如微软SQL Server中的SSAS,Oracle中的OLAP Server。但是在使用上,虽然和关系数据库有关系,方法却完全不相同。

如果用树木和森林来比喻,多对象单指标的处理对象是森林。

对应多对象单指标

多对象多指标(MM)应用需要用机器学习等算法建模,来做数据挖掘。

比如机器学习中的回归算法,目的就是找出几个指标(变量)之间相互依赖的定量关系。在训练模型时,需要用到大量的历史数据,这些数据涉及许多对象。

如果做一个寿命预测模型,就需要找到目前年龄、教育程度、身高、居住区域等多个指标(变量)直接的关系,需要用到尽可能多的对象(死亡人口)的数据。

现在开发软件项目中最冤枉的事,就是明明客户需求已经属于多对象单指标(MS),应该利用BI技术来处理,但自己不知道。最后,项目周期延长,速度太慢,客户不满意。这种事主要集中在报表开发上。

对应多对象多指标

相关文章