飘飘悠悠 发表于 2015-1-16 22:36:52

MSSQL网站制作之初识数据堆栈(Data Warehousing)-“掀...

MySQL的海豚标志的名字叫“sakila”,它是由MySQLAB的创始人从用户在“海豚命名”的竞赛中建议的大量的名字表中选出的。获胜的名字是由来自非洲斯威士兰的开源软件开发者AmbroseTwebaze提供。数据初识数据堆栈(DataWarehousing)-“掀起你的盖头来”我在这里就说说我初学的一些熟悉和意见,但愿这些可以作为一些复杂的先容给那些初学的伴侣们,更但愿起到举一反三的效果。
说到数据堆栈,我们懂得一下他发生的背景。自从DBASEⅢ(dBase是dos年月开展过去得数据库办理程序,先回属于Borland旗下)的衰亡,数据库的使用进进了团体盘算机,使得中小企业也纷繁进进贸易性的数据库使用阶段。这时候的数据库使用次要是举行数据的纪录,我们称这类为OLTP(线上事件处置)数据库体系。他次要是针对事件处置而计划的,以是能够便利的举行响应的事件处置,比方:撑持大批用户举行新建大概修正数据的操纵。
但以后因为数据处置的多样化请求愈来愈分明,办理职员必要对数据举行决议性的剖析,必要常常会见大批的汗青数据,固然在传统的数据库布局下有履历且纯熟把握查询语法的办理员能够经由过程庞大的语句得以完成,可是就其功能和平安来讲,就显得不太实践了。而且,实际情形中,企业内的数据信息年夜多散布于各个分歧的体系当中,以是假如举行综合性的剖析处置,便可能必要从分歧范例的数据源取得信息,这就给实践使用带来了坚苦。
为懂得决如上的成绩,“数据堆栈”应运而生。依据数据堆栈之父BILLINMON的话就是:数据堆栈是将企业的事物性数据经由提炼、加工和集成为对企业有效的信息,是面向主题的、不乱的、随工夫变更的,次要用于决议撑持的数据库体系。
复杂的讲就是:数据堆栈的数据是只读的,依照给定距离工夫取自事件处置体系,并根据剖析查询的必要举行从头的机关。
我们就数据的角度来看,他具有以下特性:
1.将分离的异质性数据整合到单一的数据源中。
2.利用合适剖析查询的布局来寄存数据。
3.内含数据是经由事件性转换后的新数据,便利决议职员举行剖析。
4.数据具有不乱性。一般是每隔一段工夫输出较新的数据,不像惯例的功课操纵那末经常修改。
5.过滤出与剖析相干的数据举行保留。
6.数据堆栈内的数据具有汗青性,常常是多年来得数据纪录。
7.个中的数据都是已往的汗青性纪录,以是一旦录进就不必要变动,只需按期录进新的数据便可。
数据堆栈从名字上讲就是一个数据大批汇合的“堆栈”,因为各个使用部门的范围和实践必要分歧,数据堆栈能够分为:Δ数据堆栈(数据堆栈使用的尺度型,是以全部企业来构架的)
Δ数据超市(范围相对下面的较小,合适于企业中的部门,计划时应从数据堆栈的组建的角度来思索)
Δ多条理数据堆栈(是数据堆栈和数据超市的综合,上层的数据超市由下层的数据堆栈来取得信息。如许坚持了数据的分歧性,并减小了数据堆栈的包袱)
Δ团结式数据堆栈(合用于成心往后把数据超市整合为数据堆栈的计划)
关于布局,我们人人都晓得干系数据库的模子是”E-RModal”,而数据堆栈则利用的是“维度模子”(DimensionsModel),而在这类维度模子中,数据堆栈布局最经常使用的则是“星状”布局及其所扩大的“雪花型“布局。
(维度是构造数据堆栈数据的分类信息,比方工夫、地点、卖力人等。)
布局图样分离以下:



星状布局是一种干系型数据库布局,在该形式的两头是现实表,四周是维度表,数据在现实表中保护,维度数据在维度表中保护。每个维度表经由过程一个关头字间接与现实表联系关系。
这类星型的布局是非常合适数据堆栈数据库的计划的。缘故原由以下:
1.这个计划在数据堆栈增加或使用改动时,便于疾速修正和增加,因此具有充足的天真性。
2.关于开辟者和终极用户来讲都易于了解。
3.仿照了终极用户思索和利用他们的营业数据的典范办法。
4.简单完成为物理数据库,且良多DBMS能够辨认这类布局并对其举行优化,以是这个计划布局能发生高效的查询。



看图可知,这类布局是星状布局的一种扩大,只是增加了一下帮助的细节。维度表存储了正轨化的数据,这类布局经由过程削减磁盘读的数目而进步查询功能。维度表分化为与现实表间接联系关系的主维度表和与主维度表相干联的次维度表。
下面复杂的先容了数据堆栈的一些基础知识,关于数据堆栈的计划和办理,我以为是理论性很强的事情,不但必要充分的实际常识,更必要在使用中不休的探究和总结。作为方才打仗数据堆栈的初学者来讲,懂得了这些,具有的是更多的进修热情。在这里谈了谈这些,但愿妙手伴侣不要见笑。假如你有更好的了解和体味,但愿人人可以一同交换一下。我信任,优秀交换是我们发展的“优良钙片“。:)
上面我们说了DML的闪回方案。但对于DDL却无能为力,对于大多数的DDL,即使是rowbase格式,二进制日志binlog中仍只记录语句本身。对于删表操作,只记录一个语句droptablet。仅凭这句话,无法还原表的数据。

山那边是海 发表于 2015-1-19 18:40:46

多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。

冷月葬花魂 发表于 2015-1-28 09:20:50

很多书籍啊,不过个人认为看书太慢,还不如自己学。多做实际的东西,就会遇到很多问题,网上搜下解决问题。不断重复这个过程,在配合sql的F1功能。

只想知道 发表于 2015-2-5 15:59:18

习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。

小女巫 发表于 2015-2-12 22:08:41

原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。

第二个灵魂 发表于 2015-3-3 10:28:18

在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。

仓酷云 发表于 2015-3-11 10:09:15

只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。

莫相离 发表于 2015-3-18 04:31:13

其中最有名的应该是row_number了。这个终于解决了用临时表生成序列号的历史,而且SQLServer2005的row_number比Oracle的更先进。因为它把Orderby集成到了一起,不用像Oracle那样还要用子查询进行封装。

分手快乐 发表于 2015-3-25 11:55:47

一个百万级别的基本信息表A,一个百万级别的详细记录表B,A中有个身份证id,B中也有身份id;先要找出A中在B的详细记录。
页: [1]
查看完整版本: MSSQL网站制作之初识数据堆栈(Data Warehousing)-“掀...