MSSQL编程:甚么是联机剖析处置(OLAP)
MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。联机剖析处置(OLAP)的观点最早是由干系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条原则。OLAP的提出引发了很年夜的反应,OLAP作为一类产物同联机事件处置(OLTP)分明辨别开来。现今的数据处置大抵能够分红两年夜类:联机事件处置OLTP(on-linetransactionprocessing)、联机剖析处置OLAP(On-LineAnalyticalProcessing)。OLTP是传统的干系型数据库的次要使用,次要是基础的、一样平常的事件处置,比方银行买卖。OLAP是数据堆栈体系的次要使用,撑持庞大的剖析操纵,偏重决议撑持,而且供应直不雅易懂的查询了局。下表列出了OLTP与OLAP之间的对照。
OLTPOLAP用户操纵职员,低层办理职员决议职员,初级办理职员功效一样平常操纵处置剖析决议DB计划面向使用面向主题数据以后的,最新的细节的,二维的分立的汗青的,会萃的,多维的集成的,一致的存取读/写数十笔记录读上百万笔记录事情单元复杂的事件庞大的查询用户数上千个上百个DB巨细100MB-GB100GB-TB
OLAP是使剖析职员、办理职员或实行职员可以从多角度对信息举行疾速、分歧、交互地存取,从而取得对数据的更深切懂得的一类软件手艺。OLAP的方针是满意决议撑持大概满意在多维情况下特定的查询和报表需求,它的手艺中心是"维"这个观点。
“维”是人们察看客不雅天下的角度,是一种高条理的范例分别。“维”一样平常包括着条理干系,这类条理干系偶然会相称庞大。经由过程把一个实体的多项主要的属性界说为多个维(dimension),利用户能对分歧维上的数据举行对照。因而OLAP也能够说是多维数据剖析工具的汇合。
OLAP的基础多维剖析操纵有钻取(rollup和drilldown)、切片(slice)和切块(dice)、和扭转(pivot)、drillacross、drillthrough等。
·钻取是改动维的条理,变更剖析的粒度。它包含向上钻取(rollup)和向下钻取(drilldown)。rollup是在某一维大将低条理的细节数据归纳综合到高条理的汇总数据,大概削减维数;而drilldown则相反,它从汇总数据深切到细节数据举行察看或增添新维。
·切片和切块是在一部分维上选定值后,体贴器度数据在残剩维上的散布。假如残剩的维只要两个,则是切片;假如有三个,则是切块。
·扭转是变更维的偏向,即在表格中从头布置维的安排(比方行列交换)。
OLAP有多种完成办法,依据存储数据的体例分歧能够分为ROLAP、MOLAP、HOLAP。
ROLAP暗示基于干系数据库的OLAP完成(RelationalOLAP)。以干系数据库为中心,以干系型布局举行多维数据的暗示和存储。ROLAP将多维数据库的多维布局分别为两类表:一类是现实表,用来存储数据和维关头字;另外一类是维表,即对每一个维最少利用一个表来寄存维的条理、成员种别等维的形貌信息。维表和现实表经由过程主关头字和外关头字接洽在一同,构成了"星型形式"。关于条理庞大的维,为制止冗余数据占用过年夜的存储空间,可使用多个表来形貌,这类星型形式的扩大称为"雪花形式"。
MOLAP暗示基于多维数据构造的OLAP完成(MultidimensionalOLAP)。以多维数据构造体例为中心,也就是说,MOLAP利用多维数组存储数据。多维数据在存储中将构成"立方块(Cube)"的布局,在MOLAP中对"立方块"的"扭转"、"切块"、"切片"是发生多维数据报表的次要手艺。
HOLAP暗示基于夹杂数据构造的OLAP完成(HybridOLAP)。如低层是干系型的,高层是多维矩阵型的。这类体例具有更好的天真性。
另有其他的一些完成OLAP的办法,如供应一个公用的SQLServer,对某些存储形式(如星型、雪片型)供应对SQL查询的特别撑持。
OLAP工具是针对特定成绩的联机数据会见与剖析。它经由过程多维的体例对数据举行剖析、查询和报表。维是人们察看数据的特定角度。比方,一个企业在思索产物的发卖情形时,一般从工夫、区域和产物的分歧角度来深切察看产物的发卖情形。这里的工夫、区域和产物就是维。而这些维的分歧组合和所考查的器度目标组成的多维数组则是OLAP剖析的基本,可情势化暗示为(维1,维2,……,维n,器度目标),如(区域、工夫、产物、发卖额)。多维剖析是指对以多维情势构造起来的数据接纳切片(Slice)、切块(Dice)、钻取(Drill-down和Roll-up)、扭转(Pivot)等各类剖析举措,以求分析数据,利用户能从多个角度、多正面地察看数据库中的数据,从而深切了解包括在数据中的信息。
依据综合性数据的构造体例的分歧,今朝罕见的OLAP次要有基于多维数据库的MOLAP及基于干系数据库的ROLAP两种。MOLAP是以多维的体例构造和存储数据,ROLAP则使用现有的干系数据库手艺来摹拟多维数据。在数据堆栈使用中,OLAP使用通常为数据堆栈使用的前端工具,同时OLAP工具还能够同数据发掘工具、统计剖析工具共同利用,加强决议剖析功效。
MySQL是一个开放源码的小型关联式数据库管理系统,开发者为瑞典MySQLAB公司。目前MySQL被广泛地应用在Internet上的中小型网站中。 如果我们从集合论(关系代数)的角度来看,一张数据库的表就是一组数据元的关系,而每个SQL语句会改变一种或数种关系,从而产生出新的数据元的关系(即产生新的表)。 不好!如果出了错;不好调试;不好处理!其实web开发将代码分为3层:web层;业务逻辑层和数据访问层;一般对数据库的操作都在数据访问层来做;这样便于调试和维护!而且将来如果是换了数据库的话;你只需要改数据层的代码;其他层的基本可以不变!要是你在jsp中直接调用sql数据库;那么如果换了数据库呢?岂不都要改?如果报了异常呢?怎么做异常处理? 呵呵,这就是偶想说的 多走走一此相关论坛,多看一些实例开发,多交流0经验,没什么的,我也是刚学没多久!加油 呵呵,这就是偶想说的 是否碎片会引发效率问题?这都是需要进一步探讨的东西。varbinary(max)代替image也让SQLServer的字段类型更加简洁统一。 比如日志传送、比如集群。。。 需要注意的一点,也是我使用过程中发现的一个问题。在建立function->schema->table后,如果在现有的分区表上建立没有显式声明的聚集索引时,分区表会自动变为非分区表。这一点很让我纳闷。
页:
[1]