文章提纲

  • 商业智能(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完整实战教程1 -- 开篇, BI简介 & SSAS简介的更多相关文章

  1. BI之SSAS完整实战教程7 -- 设计维度、细化维度中 :浏览维度,细化维度

    上篇文章我们已经将Dim Geography维度设计好. 若要查看维度的成员, AS需要接收该维度的详细信息(包括已创建的特性.成员属性以及多级层次结构), 通过XMLA与AS的实例进行通信. 今天我 ...

  2. BI之SSAS完整实战教程6 -- 设计维度、细化维度上:创建维度定义特性关系

    前面我们使用过数据源向导.数据源视图向导.Cube向导来创建相应的对象. 本篇我们将学习使用维度向导来创建维度. 通过前面几个向导的学习,我们归纳一下共同点,主要分成两步 1. 使用某种对象类型的向导 ...

  3. BI之SSAS完整实战教程5 -- 详解多维数据集结构

    之前简单介绍过多维数据集(Cube)的结构. 原来计划将Cube结构这部分内容打散,在实验中穿插讲解, 考虑到结构之间不同的部分都有联系,如果打散了将反而不好理解,还是直接一次性全部讲完. 本篇我们将 ...

  4. BI之SSAS完整实战教程4 -- 部署至SSAS进行简单分析

    上一篇已经创建了多维数据集的结构. 接下来我们将多维数据集的架构定义发送到Analysis Services实例,部署到AS上去. 文章提纲 部署和浏览多维数据集 SSMS使用简介 总结 一.部署和浏 ...

  5. BI之SSAS完整实战教程2 -- 开发环境介绍及多维数据集数据源准备

    上一篇我们已经完成所有的准备工作,现在我们就开始动手,通过接下来的三篇文章创建第一个多维数据集. 传统的维度和多维数据集设计方法主要是基于现有的单源数据集. 在现实世界中,当开发商业智能应用程序时,很 ...

  6. BI之SSAS完整实战教程3 -- 创建第一个多维数据集

    上一篇我们已经完成了数据源的准备工作,现在我们就开始动手,创建第一个多维数据集(Cube). 文章提纲 使用多维数据集向导创建多维数据集 总结Cube设计器简介 维度细化 总结 一.使用向导创建多维数 ...

  7. 《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇:简介及目录》(附上完整工程文件)

    G-3D引擎2D射击类游戏制作教程 游戏类型: 打飞机游戏属于射击类游戏中的一种,可以划分为卷轴射击类游戏. 视觉表现类型为:2D 框架简介: Genesis-3D引擎不仅为开发者提供一个3D游戏制作 ...

  8. ActiveReports 9实战教程(3): 图文并茂的报表形式

    基于上面2节内容,我们搭建了AR9的开发环境,配置好了数据源.在本节,我们以官方提供的3个中文图文并茂的报表来展示AR9的功能,并通过实战的方式一一分享. 以往做报表相关的工作时,最害怕的是报表的UI ...

  9. 《软件性能测试与LoadRunner实战教程》新书上市

    作者前三本书<软件性能测试与LoadRunner实战>.<精通软件性能测试与LoadRunner实战>和<精通软件性能测试与LoadRunner最佳实战>面市后,受 ...

随机推荐

  1. HTML Hyperlink between and within pages

    In HTML, we can use tag <a href=""> to create hyperlinks between and within pages. T ...

  2. BpBinder 转换为 BpCameraService 流程

    interface_cast<ICameraService>(binder) : 其中binder 为IBinder类型,实际为BpBinder interface_cast 定义在IIn ...

  3. adding validation annotators to model classes 在linq to EntityFrame的Model中添加前台验证validation annotators

    The same solution can be applied for LINQ to SQL. The snippet the article shows for using the Metada ...

  4. 在GridView中使用radioButoon

    在GridView中使用radioButoon 方法一: <input type="radio" id='radioSelectFeed' name="radioD ...

  5. JAVA SE 803 考试前突击

    考试的宗旨仍然是掌握基础知识,不过鉴于Oracle的这个认证考试还有不少的大家来找茬的成份在,所以一定一定要细心为上.   关于抽象类的坑点集合: 抽象类不是必须得有抽象方法,但有抽象方法的类必须是抽 ...

  6. 架设laravel

    用laravel 架设的用户单点登录授权系统,git clone项目文件后,需要下面的方法初始化,纪录以供项目成员参考 错误信息:`Warning: require(/http/www.mywakav ...

  7. ios辅助功能之voiceover实战

      一个元素朗读的内容可分为以下4个部分(4部分按先后顺序朗读) 1. Label:元素的标题 2. Value:元素的值(可选) 3. Traits:元素的特征,即类型,包含: 按钮/链接/搜索框/ ...

  8. CSS基础(六):浮动深入

    参考了<CSS彻底设计研究>的文章,说的很不错,所以拿来做笔记. 浮动 在标准流中,一个块级元素在水平方向会自动伸展,直到包含它的元素边界:而在竖直方向和兄弟元素依次排列,不能并排.使用浮 ...

  9. 使用Flask-Migrate进行管理数据库升级

    我们在升级系统的时候,经常碰到需要更新服务器端数据结构等操作,之前的方式是通过手工编写alter sql脚本处理,经常会发现遗漏,导致程序发布到服务器上后无法正常使用. 现在我们可以使用Flask-M ...

  10. 设计模式——"simple Factory"

    顾名思义,工厂模式就是类似于生活中的工厂,可以生产我们想要的东西,回到代码,假如我们需要一个实例,直接从工厂中拿即可. eg:假如我们定义一个“球”类的接口 public interface Ball ...