因胸联盟 发表于 2015-1-16 22:28:05

MSSQL编程:联机剖析处置体系概述

限制,如果WHERE子句的查询条件里有不等号(WHEREcoloum!=),MySQL将无法使用索引。类似地,如果WHERE子句的查询条件里使用了函数(WHEREDAY(column)=),MySQL也将无法使用索引。联机剖析处置概述开展背景
跟着数据库手艺的普遍使用,企业信息体系发生了大批的数据,怎样从这些海量数据中提取对企业决议剖析有效的信息成为企业决议办理职员所面对的主要困难。传统的企业数据库体系(办理信息体系)即联机事件处置体系(On-LineTransactionProcessing,简称OLTP)作为数据办理手腕,次要用于事件处置,但它对剖析处置的撑持一向不克不及使人中意。因而,人们渐渐实验对OLTP数据库中的数据举行再加工,构成一个综合的、面向剖析的、更好的撑持决议制订的决议撑持体系(DecisionSupportSystem,简称DSS)。企业今朝的信息体系的数据一样平常由DBMS办理,但决议数据库和运转操纵数据库在数据来历、数据内容、数据形式、服务工具、会见体例、事件办理以致有力存储等方面都有分歧的特性和请求,因而间接在运转操纵的数据库上创建DSS是分歧适的。数据堆栈(DataWarehouse)手艺就是在如许的背景下开展起来的。数据堆栈的观点提出于20世纪80年月中期,20世纪90年月,数据堆栈已从夙兴的探究阶段走向有用阶段。业界公认的数据堆栈观点开创人W.H.Inmon在《BuildingtheDataWarehouse》一书中对数据堆栈的界说是:“数据堆栈是撑持办理决议历程的、面向主题的、集成的、随工夫变更的耐久的数据汇合”。构建数据堆栈的历程就是依据事后计划好的逻辑形式从散布在企业外部遍地的OLTP数据库中提取数据并对经由需要的变更终极构成全企业一致形式数据的历程。以后数据堆栈的中心还是RDBMS办理下的一个数据库体系。数据堆栈中数据量伟大,为了进步功能,RDBMS一样平常也接纳一些进步效力的措施:接纳并行处置布局、新的数据构造、查询战略、索引手艺等等。

包含联机剖析处置(On-LineAnalyticalProcessing,简称OLAP)在内的诸多使用牵引驱动了数据堆栈手艺的呈现和开展;而数据堆栈手艺反过去又增进了OLAP手艺的开展。联机剖析处置的观点最早由干系数据库之父E.F.Codd于1993年提出的。Codd以为联机事件处置(OLTP)已不克不及满意终端用户对数据库查询剖析的请求,SQL对年夜数据库的复杂查询也不克不及满意用户剖析的需求。用户的决议剖析必要对干系数据库举行大批盘算才干失掉了局,而查询的了局其实不能满意决议者提出的需求。因而,Codd提出了多维数据库和多维剖析的观点,即OLAP。OLAP委员会春联机剖析处置的界说为:使剖析职员、办理职员或实行职员可以从多种角度对从原始数据直达化出来的、可以真正为用户所了解的、并实在反应企业维特征的信息举行疾速、分歧、交互地存取,从而取得对数据的更深切懂得的一类软件手艺。OLAP的方针是满意决议撑持或多维情况特定的查询和报表需求,它的手艺中心是“维”这个观点,因而OLAP也能够说是多维数据剖析工具的汇合。
OLAP与OLTP
OLAP终极的数据来历与OLTP一样,均来自底层的数据库体系,但两者面临的用户群分歧,数据内容的特性也分歧。二者的区分概述以下表所示:



OLTP数据OLAP数据



原始数据导出数据

细节性数据综合性和提炼性数据

以后值数据汗青数据

可更新不成更新,但周期性革新

一次处置的数据量小一次处置的数据量年夜

面向使用,事件驱动面向剖析,剖析驱动

面向操纵职员,撑持一样平常操纵面向决议职员,撑持办理必要
OLAP的特性和评价原则
OLAP的特性能够用五个关头字来代表:FastAnalysisofSharedMultidimentionalInformation(FASMI,共享多维信息的疾速剖析)。这也是计划职员或办理职员用来判别一个OLAP计划是不是乐成的原则。

Fast:体系呼应用户的工夫要相称快速,要到达这个方针,数据库的形式应当朝着更普遍的手艺开展,包含特别的数据存储格局,事后盘算和硬件设置等。

Analysis:体系应能处置与使用有关的任何逻辑剖析和统计剖析,用户无需编程就能够界说新的专门盘算,将其作为剖析的一部分,并以用户幻想的体例给出呈报。用户能够在OLAP平台长进行数据剖析,也能够毗连到其他内部剖析工具上,同时应供应天真开放的报表处置功效,以保留剖析了局。

Shared:这意味着体系要可以切合数据保密的平安请求,即便多个用户同时利用,也可以依据用户所属的平安级别,让他们只能看到他们应当看到的信息。

Multidimensional:OLAP的明显待征就是它能供应数据的多维视图体系必需供应对数据剖析的多维视图和剖析,包含对条理维和多重条理维的完整撑持。

Information:不管数据量有多年夜,也不论数据存储在那边,OLAP体系应能实时取得信息,而且办理年夜容量信息。这里有很多要素必要思索,如数据的可复制性、可使用的磁盘空间、OLAP产物的功能及与数据堆栈的分离度等。
OLAP逻辑观点和典范操纵
OLAP展示在用户眼前的是一幅幅多维视图。

维(Dimension):是人们察看数据的特定角度,是思索成绩时的一类属性,属性汇合组成一个维(工夫维、地舆维等)。

维的条理(Level):人们察看数据的某个特定角度(即某个维)还能够存在细节水平分歧的各个形貌方面(工夫维:日期、月份、季度、年)。

维的成员(Member):维的一个取值,是数据项在某维中地位的形貌。(“某年某月某日”是在工夫维上地位的形貌)。

器度(Measure):多维数组的取值。(2000年1月,上海,条记本电脑,$100000)。







OLAP的基础多维剖析操纵有钻取(Drill-up和Drill-down)、切片(Slice)和切块(Dice)、和扭转(Pivot)等。
钻取:是改动维的条理,变更剖析的粒度。它包含向下钻取(Drill-down)和向上钻取(Drill-up)/上卷(Roll-up)

。Drill-up是在某一维大将低条理的细节数据归纳综合到高条理的汇总数据,大概削减维数;而Drill-down则相反,它从汇总数据深切到细节数据举行察看或增添新维。
切片和切块:是在一部分维上选定值后,体贴器度数据在残剩维上的散布。假如残剩的维只要两个,则是切片;假如有三个或以上,则是切块。
扭转:是变更维的偏向,即在表格中从头布置维的安排(比方行列交换)。
OLAP体系的系统布局和分类
数据堆栈与OLAP的干系是互补的,古代OLAP体系一样平常以数据堆栈作为基本,即从数据堆栈中抽取具体数据的一个子集并经由需要的会萃存储到OLAP存储器中供前端剖析工具读取。典范的OLAP体系系统布局以下图所示:

OLAP体系依照其存储器的数据存储格局能够分为干系OLAP(RelationalOLAP,简称ROLAP)、多维OLAP(MultidimensionalOLAP,简称MOLAP)和夹杂型OLAP(HybridOLAP,简称HOLAP)三品种型。

1.ROLAP

ROLAP将剖析用的多维数据存储在干系数据库中并依据使用的必要有选择的界说一批实视图作为表也存储在干系数据库中。不用要将每个SQL查询都作为实视图保留,只界说那些使用频次对照高、盘算事情量对照年夜的查询作为实视图。对每一个针对OLAP服务器的查询,优先使用已盘算好的实视图来天生查询了局以进步查询效力。同时用作ROLAP存储器的RDBMS也针对OLAP作响应的优化,好比并行存储、并行查询、并行数据办理、基于本钱的查询优化、位图索引、SQL的OLAP扩大(cube,rollup)等等。

2.MOLAP

MOLAP将OLAP剖析所用到的多维数据物理上存储为多维数组的情势,构成“立方体”的布局。维的属性值被映照成多维数组的下标值或下标的局限,而总结数据作为多维数组的值存储在数组的单位中。因为MOLAP接纳了新的存储布局,从物理层完成起,因而又称为物理OLAP(PhysicalOLAP);而ROLAP次要经由过程一些软件工具或两头软件完成,物理层仍接纳干系数据库的存储布局,因而称为假造OLAP(VirtualOLAP)。

3.HOLAP

因为MOLAP和ROLAP有着各自的长处和弱点(以下表所示),且它们的布局一模一样,这给剖析职员计划OLAP布局提出了困难。为此一个新的OLAP布局――夹杂型OLAP(HOLAP)被提出,它能把MOLAP和ROLAP两种布局的长处分离起来。迄今为止,对HOLAP还没有一个正式的界说。但很分明,HOLAP布局不该该是MOLAP与ROLAP布局的复杂组合,而是这两种布局手艺长处的无机分离,能满意用户各类庞大的剖析哀求。






ROLAPMOLAP
相沿现有的干系数据库的手艺

专为OLAP所计划

呼应速率比MOLAP慢;

现有干系型数据库已对OLAP做了良多优化,包含并行存储、并行查询、并行数据办理、基于本钱的查询优化、位图索引、SQL的OLAP扩大(cube,rollup)等,功能有所进步

功能好、呼应速率快

数据装载速率快

数据装载速率慢

存储空间泯灭小,维数没无限制

必要举行估计算,大概招致数据爆炸,维数无限;没法撑持维的静态变更





借用RDBMS存储数据,没有文件巨细限定

受操纵体系平台中文件巨细的限定,难以到达TB级(只能10~20G)

能够经由过程SQL完成具体数据与提要数据的存储

缺少数据模子和数据会见的尺度

C不撑持有关估计算的读写操纵

CSQL没法完成部分盘算

•没法完成多行的盘算

•没法完成维之间的盘算



C撑持高功能的决议撑持盘算

•庞大的跨维盘算

•多用户的读写操纵

•行级的盘算

保护坚苦

办理烦琐


次要OLAP厂商产物先容
Hyperion

HyperionEssbaseOLAPServer,在下面有凌驾100个的使用程序,有300多个用Essbase作为平台的开辟商。具有几百个盘算公式,撑持历程的剧本预言,及统计和基于维的盘算。

壮大的OLAP查询才能,使用EssbaseQueryDesigner,贸易用户能够不必IT职员的匡助本人构件庞大的查询。

普遍的使用撑持,能够扩大数据堆栈和ERP体系的代价,创建对电子商务、CRM、金融、打造业、批发和CPG(consumerpackagedgoods)等使用的剖析程序。

Speed-of-Thought的呼应工夫,撑持多用户同时读写

Web-Enabled的,以服务器为中央的系统布局,撑持SMP

壮大的互助同伴供应完全的办理计划,60多个包装好的办理计划,300多个征询和实行公司。

丰厚的前端工具,有30多个前端工具可供选择,个中包含Hyperion本人的WiredforOLAP、Spider-ManWebApplication、Objects、EssbaseSpreadsheetAdd-In、WebGateway、Reporting。

HyperionEnterprise,为跨国公司供应的财政整合、呈报和剖析的办理计划。有3000多家构造在利用此套体系。

功效丰厚:撑持多种财政尺度USGAAP,CanadianGAAP,UKGAAP,国际管帐尺度(ISA),FASB,HGB。分公司间买卖的主动平帐。FAS52泉币转换。FAS94。

易用:可经由过程Excel,Lotus1-2-3和各类扫瞄器会见体系。

撑持公司布局的调剂。

跨国公司的撑持:同时撑持6种言语及各个分歧国度的功令和税收请求。

完全的历程把持和审计跟踪,及平安品级的设置。

能与ERP或其他数据源集成

HyperionPillar,预算和企图工具。环球用户凌驾1500家,供应基于举动的预算,基于项目标企图,会合式企图,发卖展望和综算计划。

散布式系统布局

具体企图的制定:同意一线司理制定具体的企图

庞大的建模和剖析才能

Oracle

ExpressServer供应周全的OLAP才能,有环球凌驾3000家用户

用户可经由过程Web和电子表格利用

天真的数据构造体例,数据能够寄存在ExpressServer内,也可间接在RDB上利用

有内建的剖析函数和4GL来用户本人定制查询

Cognos

PowerPlay,为商务效力评价BPM(BusinessPerformanceMeasurement)供应周全的呈报和剖析情况。向决议者供应企业运转效力的各类关头数据,举行林林总总的剖析。

只用鼠标点击、拖沓就能够扫瞄多维数据

主动使用Web公布失掉的剖析呈报

撑持多种OLAPServer:MicrosoftOLAPServices、HyperionEssbase、SAPBW、IBMOLAPforDB2

完整的受权和平安系统

NovaView,是MicrosoftSQLServer7.0OLAPServices的客户端使用程序。

MicroStrategy

MicroStrategy7,是新一代的智能平台(IntelligencePlatform)面向电子商务使用e-business和电子客户干系办理eCRM。

具有壮大的剖析才能

以Web为中央的界面

撑持上百万的用户和TB的数据

疾速开辟才能,可间接使用已有的数据形式

IntelligenceServer,Oneforallanalyticapplications

Microsoft

SQLServer7.0OLAPServices,是SQLServer7.0的OLAP模块,可使用任何干系数据库或立体文件作为数据源,个中的PivotTableService供应了客户真个数据缓存和盘算才能。

智能的Client/Server数据办理,进步呼应速率,下降收集流量

经由过程OLEDBforOLAP,同意分歧的客户端会见

BusinessObjects

BusinessObjects,是易用的BI工具,同意用户存取、剖析和共享数据。

可使用多种数据源:RDB,ERP,OLAP,Excel等

可使用VBA和开放式工具模子来举行开辟定制

IBM

DB2OLAPServer,是壮大的多维剖析工具,把HyperionEssbase的OLAP引擎和DB2的干系数据库集成在一同。

与EssbaseAPI完整兼容

数据用星型模子寄存在干系数据库DB2中

Brio

Brio.Enterprise,是壮大的易用的BI工具,供应查询,OLAP剖析和呈报的才能

撑持多种言语,包含中文

Brio.Report,壮大的企业级呈报工具


OLAP相干尺度
APB-1OLAPBenchmarkReleaseII(SPONSOREDBYOLAPCOUNCIL)

ThebenchmarksimulatesarealisticOLAP(On-LineAnalyticalProcessing)businesssituationthatexercisesserver-basedsoftware.ThegoaloftheAPB-1istomeasureaserversoverallOLAPperformanceratherthantheperformanceofspecifictasks.ToensuretherelevanceoftheAPB-1toactualbusinessenvironments,theoperationsperformedonthedatabasehavebeencarefullychosentoreflectcommonbusinessoperations.Forthepurposesofcomparingtheperformanceofdifferentcombinationsofhardwareandsoftware,astandardbenchmarkmetriccalledAQM(AnalyticalQueriesperMinute)insteadofAQT(AnalyticalQueriesTime)hasbeendefined.
MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。

兰色精灵 发表于 2015-1-19 13:42:15

从项目平台的选择上讲,我们关心的,应该是一款产品能不能满足任务需求,而不是网上怎么说。

蒙在股里 发表于 2015-1-25 09:03:41

如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.

金色的骷髅 发表于 2015-2-2 20:35:24

而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。

山那边是海 发表于 2015-2-24 14:06:50

原来公司用过MYSQL自己也只是建个表写个SQL

老尸 发表于 2015-3-7 12:25:01

原理很简单,对要求长时间计算某一时间点的报表生成和防用户操作错误很有帮助。但是比起Oracle10g的闪回技术还是细粒度不够。可惜!

因胸联盟 发表于 2015-3-15 05:28:23

理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识

灵魂腐蚀 发表于 2015-3-21 18:57:30

外键的级联更能扩展可能大部分的同行在设计OLTP系统的时候都不愿意建立外键,都是通过程序来控制父子数据的完整性。
页: [1]
查看完整版本: MSSQL编程:联机剖析处置体系概述