早在 SQL Server 2005里面就有了这种 完整的商业智能平台了,那时候Nosql什么的都还停留在概念性的提出阶段,发展至2009年才一下子蹦了出来变得众所周知了。当然这个要扯就扯远了,咱们还是直接来介绍一下这篇文章的重点传统关系型数据库在当时面临的一些问题。
-
关系型数据库的局限
-
SQL Server 2005 –完整的商业智能平台
-
关系型数据库的局限:
随着信息技术的飞速发展,数据处理不仅在数量上要求越来越大,而且在质量上也要求越来越高,数据库所管理的数据已经发生了根本的变化。这一变化给数据库技术带来了巨大挑战,数据库管理的对象已不再仅限于文本数据等简单的数据类型,而需要描述和保存大量多媒体非结构化的复杂数据,以及数据间的关系。
此外,随着热门网站访问数量的激增,对数据库本身的存储机制、大量并发用户的使用需求、存储空间的使用效率、以及数据的完整性和安全性等方面都提出了更高要求。而这些都不是传统关系数据库中,使用二维表简单结构就可以满足的。
关系型数据库依据的是把数据表示为简单的两维模型,即表示为行与列的记录来进行存储处理。显然由于受到当时条件的限制,只是一种适合于对简单数据存储处理的技术,存在难以克服的局限性。
关系型数据库管理系统本身固有的局限性,表现在以下三个方面:
-
数据模型上的限制
-
性能上的限制
-
扩展伸缩性上的限制
1.数据模型上的限制:
关系数据库所采用的两维表数据模型,不能有效地处理在大多数事务处理应用中,典型存在的多维数据。其不可避免的结果是,在复杂方式下,相互作用表的数量激增,而且还不能很好地提供模拟现实数据关系的模型。
关系数据库由于其所用数据模型较多,还可能造成存储空间的海量增加和大量浪费,并且会导致系统的响应性能不断下降。而且,在现实数据中,有许多类型是关系数据库不能较好地处理的。
2.性能上的限制:
为静态应用例如报表生成,而设计的关系型数据库管理系统,并没有经过针对高效事务处理而进行的优化过程。其结果往往是某些关系型数据库产品,在对GUI和Web的事务处理过程中,没有达到预期的效果。除非增加更多的硬件投资,但这并不能从根本上解决问题。
用关系数据库的两维表数据模型,可以处理在大多数事务处理应用中的典型多维数据,但其结果往往是建立和使用大量的数据表格,仍很难建立起能模拟现实世界的数据模型。并且在数据需要作报表输出时,又要反过来将已分散设置的大量的两维数据表,再利用索引等技术进行表的连接后,才能找到全部所需的数据,而这又势必影响到应用系统的响应速度。
3.扩展伸缩性上的限制:
关系数据库技术在有效支持应用和数据复杂性上的能力是受限制的。关系数据库原先依据的规范化设计方法,对于复杂事务处理数据库系统的设计和性能优化来说,已经无能为力。此外,高昂的开发和维护费用也让企业难以承受。
除此之外,关系数据库的检索策略,如复合索引和并发锁定技术,在使用上会造成复杂性和局限性。
-
SQL Server 2005 –完整的商业智能平台
-
SQL Server Analysis Services (SSAS)
-
SQL Server Integration Services (SSIS)
-
SQL Server Reporting Services(SSRS)
1.SQL Server Analysis Services (SSAS)
Microsoft SQL Server Analysis Services (SSAS) 为商业智能应用程序提供联机分析处理(OLAP) 和数据挖掘功能。Analysis Services 允许您设计、创建和管理包含从其他数据源(如关系数据库)聚合的数据的多维结构,以实现对OLAP 的支持。对于数据挖掘应用程序,Analysis Services 允许您设计、创建和可视化处理那些通过使用各种行业标准数据挖掘算法,并根据其他数据源构造出来的数据挖掘模型。
Analysis Services (SSAS) 体现结构
- Analysis Services 的服务器组件作为Microsoft Windows 服务来实现。SQL Server Analysis Services 支持同一台计算机中的多个实例,每个Analysis Services 实例作为单独的Windows 服务实例来实现。
- 客户端使用公用标准XML for Analysis (XMLA) 与Analysis Services 进行通信,XMLA 是一个基于SOAP 的协议,用于发出命令和接收响应,公开为一项Web 服务。此外,客户端对象模型通过XMLA(包括托管提供程序(ADOMD.Net) 和本机OLE DB 访问接口)进行提供。
- 查询命令可使用下列方式发出:
SQL;
多维表达式(MDX)(一种面向分析的行业标准查询语言);或数据挖掘扩展插件(DMX)(一种面向数据挖掘的行业标准查询语言)。
还可以使用Analysis Services 脚本语言(ASSL) 来管理Analysis Services 数据库对象。有关详细信息,请参阅Analysis Services Scripting Language (ASSL) - Analysis Services 还支持本地多维数据集引擎,该引擎允许断开连接的客户端中的应用程序在本地浏览已存储的多维数据。
2.SQL Server Integration Services (SSIS)
SQL Server Integration Services (SSIS) 是生成高性能数据集成解决方案(包括数据仓库的提取、转换和加载(ETL) 包)的平台。
用于生成和调试包的图形工具和向导;用于执行工作流函数(如FTP 操作)、执行SQL 语句或发送电子邮件的任务;用于提取和加载数据的数据源和目标;用于清理、聚合、合并和复制数据的转换;用于管理Integration Services 的管理服务Integration Services 服务;以及用于对Integration Services 对象模型编程的应用程序编程接口(API)。
Integration Services (SSIS) 体现结构
Microsoft SQL Server Integration Services (SSIS)
由四个关键部分组成:
1、Integration Services 服务
2、Integration Services 对象模型
3、Integration Services 运行时
4、运行时可执行文件以及封装数据流引擎和数据流组件的数据流任务。
3.SQL Server Reporting Services(SSRS)
SQL Server Reporting Services 提供有支持Web 的企业级报告功能,以便您创建能够从多种数据源获取内容的报表,以不同格式发布报表,并集中管理安全性和订阅。
Reporting Services (SSRS) 体现结构
SQL Server Reporting Services 是一组处理组件、工具和编程接口的集合,支持在托管环境中进行开发以及使用格式丰富的报表。该工具集包括部署工具、配置和管理工具以及报表查看工具。编程接口包括简单对象访问协议(SOAP)、URL 端点和Windows Management Instrumentation (WMI),可以轻松地与新的或现有的应用程序和入口集成。
本地多维数据集和本地挖掘模型支持
本地多维数据集和本地挖掘模型允许在客户端工作站与网络的连接断开时对该工作站进行分析。本地多维数据集引擎(Msmdlocal.dll) 支持客户机的本地多维数据集和本地挖掘模型。本地多维数据集引擎是进程内COM 服务器。客户端应用程序调用OLE DB for OLAP 访问接口,该接口将加载本地多维数据集引擎以创建和查询本地多维数据集,如下图中所示。