麦粉社区
>
帖子详情

一文带你看懂为什么Smartbi V10要打造全新的数据模型?

系统运维 发表于 2021-10-9 16:12
发表于 2021-10-9 16:12:44
  首先,要搞清楚什么是“数据模型”?

  现实世界中的事物要让计算机进行管理,必须通过“数据模型”对其进行抽象、模拟,然后再存放在数据库系统里面。

  数据模型有不同的建模方法,最常见的就是“范式建模”。业务数据库、数据仓库通常都会采用这种建模方法。

  但是,面向数据分析的数据集市一般会采用“多维建模”。

  这也是源于日常数据分析的场景。

  例如,一个企业在考虑产品的销售情况时,通常从时间、地区和产品的不同角度来深入观察产品的订单数、销售金额、同环比增长。

  从这个例子中,可以抽象出两部分的内容:维度和度量。

  维度有时间、地区、产品,是观察数据的一种角度。 

  度量有订单数、销售金额、同环比增长,是数据聚合运算的结果。

  这种以维度和度量来组织数据的方法,叫做“多维模型”,包括维度表和事实表。

  维度表储存维度的描述,信息比较固定,且数据量小。

  事实表储存维度和度量,度量通常是数值类型,且记录数会不断增加。

  数据集市是用来做数据分析的,采用“多维建模”的方法,再合适不过了。

1.png

l 多维建模
  虽然数据集市已经做好多维建模,但是需要专门的数据人员来设计,对于整个BI系统的开发来说,敏捷性和灵活性都不够。

  如果BI产品把“多维建模”的能力也整合进来,BI技术人员可以按照需求随时进行可视化建模,效率将得到极大提升。同时,通过产品构建的多维模型,可以和产品内的上层应用做更好的融合,功能将得到全面增强。

  这就是Smartbi V10实现多维建模的初衷。
  Smartbi V10的多维建模支持星型模式、雪花模型、星座模型等多种模式:

2.png

  例如,一家零售企业要看全国商店的盈利明细,还有各城市“每平盈利”排行榜以及分布。

  在Smartbi V10数据模型中,把相关的事实表(销售、商店)、维度表(产品类别、产品信息)用鼠标拖进来,并根据表之间的关系(多对一、一对多、内连接、外连接)做好关联:

3.png
  “度量”区域通过简单操作生成各种指标:

4.png

  然后在“自助仪表盘”里面基于这个数据模型,即可快速生成以下仪表盘:

5.png

l 多种查询类型
  数据模型需要解决一个关键的问题:源数据怎么取?

  数据的来源多种多样,在Smartbi V10之前版本中也存在多种数据集,包括SQL、存储过程、即席查询、Excel文件和JavaScript脚本等。而在Smartbi V10中,只有  “数据模型”一个入口,可以查询各种类型的数据,并且支持跨库数据整合:

6.png

  查询的多样化,可以让数据模型的构建更加灵活。

  例如,要统计银行各营业部,近5天购买金融产品金额超过1万的客户数,这里涉及到二次汇总的问题。在Smartbi V10数据模型里面,用“即席查询”把满足条件的客户先查询出来:

7.png

  然后对查询出来的结果(事实表)创建“客户数”的度量即可:

8.png

  多种查询类型也可以联合使用。例如,一名业务员需要分析销售数据,但是有关数据都放在不同的地方,部分数据是放在个人电脑的Excel上
9.png

l 强大的计算能力
  Smartbi V10数据模型具有强大的计算能力,体现在两个方面:ETL数据处理和多维计算。

  在建模过程中,融合ETL的强大数据处理能力对源数据进行预处理,包括筛选、去重、拆分列等。数据模型里面的表、SQL、存储过程、即席查询等都可以直接转ETL高级查询,从而实现复杂数据场景的处理,并且解决大表关联的问题,避免系统崩溃。


  例如,订单表里“订单编号”字段存在重复的值,我们可以在查询订单表的ETL流程中,利用“去除重复值”的功能节点进行去重,也可以拆分字段:

10.png

  Smartbi V10数据模型同时具有多维复杂计算能力,支持自定义成员和自定义命名集

  自定义成员指基于原有维度成员的基础上创建新的维度成员,成员可以是单个对象,也可以是成员的集合。

  例如要新建一个“一线城市”的维度,在“新建计算成员”页面下把对应的城市拖进来即可:

11.png

  然后在上层应用就可以直接使用“一线城市”这个维度了:

12.png

  自定义命名集可以包含固定的维成员集,也可以包含能解析为集合的表达式。

  例如要新建一个“销量排名前3的城市”,在“新建命名集”页面下,选择系统提供的MDX函数和对应的维度和度量,后续在应用里面就可以直接使用了:

13.png

l 灵活的数据加载
  Smartbi V10数据模型提供“直连”和“抽取”两种数据加载模式。

  当企业出于数据安全考虑,不允许数据加载到其他系统;或者数据频繁变化,又要求看到最新的数据;或者数据量大且客户本身的存储性能很高时,适合用直连模式。

  导入文件、脚本查询、ETL高级查询、存储过程查询必须用抽取模式。如果原始数据性能慢,希望提升查询速度;或者数据变化频率不高的情况下,也适合用抽取模式。

  此外,Smartbi V10数据模型也支持“按次抽取”。例如需要实时数据,但又无法使用直连方式(如模型含存储过程);或者模型中的一部分数据和用户有关(如权限),同时又不能使用直连方式。这些情况下,Smartbi后台的缓存库按session 、查询的参数组合进行抽取存储环境发生变化时就重新抽取。
          
  正如一部汽车的动力取决于引擎,Smartbi V10通过打造全新的数据模型,封装更多的操作并进行优化,从“引擎”上提高效率,为上层应用(自助仪表盘、电子表格等)输出更澎湃的“动力”,全面提升产品的功能性和便捷性。

  通过上面的介绍,不知道你看懂了吗?如果你有任何疑问,欢迎在文章下面留言,或者加小麦微信沟通。也欢迎你扫描以下二维码到体验中心进行试用:


高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

0回帖数 0关注人数 2306浏览人数
最后回复于:2021-10-9 16:12
快速回复 返回顶部 返回列表