文章提纲
- 商业智能(BI, Business Intelligence)基本概念
- SSAS(SQL Server Analysis Services)相关工具(开发、管理和客户端)
- 总结
一、商业智能(BI, Business Intelligence)基本概念
商业智能的概念在1996年最早由加特纳集团(Gartner Group)提出,加特纳集团将商业智能定义为:商业智能描述了一系列的概念和方法,通过应用基于事实的支持系统来辅助商业决策的制定。商业智能技术提供使企业迅速分析数据的技术和方法,包括收集、管理和分析数据,将这些数据转化为有用的信息,然后分发到企业各处。
-- 以上摘自百度百科
简而言之,商业智能是一个将数据转换为信息,进而发现信息中隐藏的知识,并将其应用于商业的过程。
以微软BI解决方案为例。
典型架构举例(以下大部分图片都来自于百度图片):
我们可以将BI整体系统架构归纳为四个部分:
数据源(关系数据库)à 数据仓库 à OLAP à 前端展现工具
与之对应的,BI解决方案的相关产品模块
我们对照产品看架构比较直观。
可以看到,BI解决方案比传统的报表方案更加强大的就是增加了OLAP组件。
-------------------------------------------------------------------------------
补充背景知识:
当今的数据处理大致可以分成两大类: 联机事务处理OLTP(on-line transaction processing)、联机分析处理OLAP(On-Line Analytical Processing)。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。下表列出了OLTP与OLAP之间的比较。
数据处理类型 |
OLTP |
OLAP |
面向对象 |
业务开发人员 |
分析决策人员 |
功能实现 |
日常事务处理 |
面向分析决策 |
数据模型 |
关系模型 |
多维模型 |
数据量 |
相对较少 |
相对较大 |
操作类型 |
查询、插入、更新、删除 |
查询为主 |
-------------------------------------------------------------------------------
因为有了OLAP(数据库中以多维数据集的形式存储),使得钻取,切片,旋转等变得非常容易,如下图。
要想应用OLAP,必须先构造一个多维数据集(Cube),下面要介绍的SSAS数据库的实例就是指的Cube.
说明:Cube(立方体)只是多维模型的一个形象的说法。立方体其本身只有三维,但多维模型不仅限于三维模型,可以组合更多的维度,但一方面是出于更方便地解释和描述,同时也是给思维成像和想象的空间;另一方面是为了与传统关系型数据库的二维表区别开来,于是就有了数据立方体的叫法。
下面我们就来介绍SSAS数据库开发要用到的工具,为后续实战做好准备。
二、SSAS(SQL Server Analysis Services)相关工具(开发、管理和客户端)介绍
Analysis Services针对开发和管理提供了不同的环境。
开发环境称为SSDT, 并且与Microsoft Visual Studio集成。
管理环境称为SSMS,它是一个完整的集成管理环境,适用于多种服务(和我们平时管理SQL Server关系数据库是同一个),如下图。
从Analysis Services中分析和检索数据的功能已经集成到SSDT和SSMS中。可以从这两种环境浏览源数据。
在SSMS中,提供了一种查询生成器,用于编写查询以便从Analysis Services检索数据。查询生成器为MDX语言提供智能感知(IntelliSense)支持,包括自动完成及语法颜色设置。
另一种有用的Analysis Services工具是SQL Server事件探查器。可以使用事件探查器捕获的Analysis Services事件探查器信息来分析和改善性能。
我们后续课程就会用到这几种工具(最主要是SSDT),大家先做个了解就可以了,具体步骤时会详细讲解。
先简单介绍下SSDT(SQL Server Data Tools)
SSDT是用于设计Analysis Services数据库的开发环境,我们使用SSDT构建Analysis Services多维应用程序。启动位置:
All Programs à Microsoft SQL Server 2012 à SQL Server Data Tools
说明:完整安装SQL SERVER2012就会有SSDT(安装时步骤里面能找到Analysis Services), 具体安装就不再讲解了,如有问题请查阅其他资料。
打开后可以看到是一个Visual Studio 2010 Shell,如下图。
在Visual Studio中工作可以提供很多益处,例如可以在同一Visual Studio解决方案中支持多个项目。一个Visual Studio解决方案是由一系列项目组成的集合,其中可能包括Analysis Services项目、C#项目、Integration Services项目或者Reporting Services项目。
使用SSDT创建项目,选择如下图方框处类别就是一个多维数据集项目。
通常情况下,需要在SSDT中设计数据库,进行相应的更改,最后将数据库定义发送到你的Analysis Services 实例。
对于SSDT中的每个Analysis Services项目来说,在将项目中所有对象的定义(元数据)都发送到服务器以后,它们将成为Analysis Services实例上的一个数据库。
也可以使用SSDT直接连接到某个现有的Analysis Services数据库并进行相应的更改。
注意:如果按照这种方式使用SSDT, 则你所做的更改是针对实时Analysis Services数据库进行的,请格外谨慎。
下篇文章起,我们将会使用SSDT从创建一个简单的项目起,通过这个项目学习各种知识点,不断完善这个项目,使之贯穿整个系列文章。
三、总结
本篇文章是系列文章的开篇,主要做了一些前提准备,介绍了必须知道的相关概念,大家重点理解下Cube的概念。
另外,为方便理解,SSAS相关概念大家可以这样类比到普通关系数据库:
Analysis Services -- Database Engine
MDX -- SQL
Cube(AS数据库的实例) -- 关系数据库实例
欢迎大家多多评论,祝学习进步:)
相关文章列表:
- BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析 @20160908
- BI之SSAS完整实战教程3 -- 创建第一个多维数据集 @20160907
- BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备 @20160823
- BI之SSAS完整实战教程1 -- 开篇, BI简介 & SSAS简介 @20160816