- 1、本文档共5页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
数据仓库第三章作业
1.按列存储时面向分析的大数据存储平台一种常见的解决方案,请查阅资料学习,完成以下任务:
(1). 说明按列存储方式在存储与使用方面的优点,并通过案例给出图示说明原因;
(2). 说明何种类型的数据更适合用于列存储。
答:
数据库从逻辑上说,可以分为:
● 关系型数据库
● 非关系型数据库
从物理(存储)视角来看,可以分为:
● 按行存储
● 按列存储
行存储和列存储的主要区别在于,列存储将所有记录中相同字段的数据聚合存储,而行存储将每条记录的所有字段的数据聚合存储,如图1所示:
图1 行列存储的差别对比
为了更好的理解列存储,下面的例子能够很好的说明列存储的实际意义。
列式数据库以行、列的二维表的形式存储数据,但是却以一维字符串的方式存储,例如以下的一个表:
EmpIdLastnameFirstnameSalary1SmithJoe400002JonesMary500003JohnsonCathy44000这个简单的表包括员工代码(EmpId), 姓名字段(Lastname and Firstname)及工资(Salary).
这个表存储在电脑的内存(RAM)和存储(硬盘)中,行式数据库把一行中的数据值串在一起存储起来,然后再存储下一行的数据,以此类推。
1,Smith,Joe,40000;2,Jones,Mary,50000;3,Johnson,Cathy,44000;
列式数据库把一列中的数据值串在一起存储起来,然后再存储下一列的数据,以此类推。
1,2,3;Smith,Jones,Johnson;Joe,Mary,Cathy;40000,50000,44000;
列存储相对于行存储有几下优点:
极高的装载速度 (最高可以等于所有硬盘IO 的总和,基本是极限了)
适合大量的数据而不是小数据
实时加载数据仅限于增加(删除和更新需要解压缩Block 然后计算然后重新压缩储存)
高效的压缩率(一个字段的数据聚集存储),不仅节省储存空间也节省计算内存和CPU.
非常适合做聚合操作.
(2) 一般来说,列存储适合OLAP这种场合,数据仓库,数据挖掘等查询密集型应用。相对来说,不适合用在OLTP,或者更新操作,尤其是插入、删除操作频繁的场合。
2. 空间换时间是各行各业解决时间效率最常见的解决方案,在数据仓库设计中,请列举出至少三种以上空间换时间的技术方案,并说明提高效率的原因。
答:
OLTP系统中空间换取查询时间常用的几个方法:
1. 增加冗余表(计算汇总表)
2. 增加索引(包括计算索引)
3. 增加索引视图(物化视图)
4. 数据缓存
增加冗余表通过增加汇总字段和表,减少了查询的数据量。
增加索引:索引是数据冗余的一种,是将表中列的数据冗余出来,查询的时候就可以使用索引数据结构快速有哪些信誉好的足球投注网站。
增加索引视图:索引视图是将需要查询关联的数据或汇总数据,预先通过实体表存放起来。这样查询的时候就可以不用查询关联表,直接查询索引视图,减少了数据查询量。
数据库缓存,通过减少和数据库交互的次数,提高查询效率。
程序缓存:提高内存使用率,访问内存数据的时间远远快于访问数据库数据的时间。
3.请解释数据模型设计中的模式分解概念,根据数据变化的频率进行模式分解是一种经常采用的策略,请思考并说明根据数据变化的频率进行模式分解的益处。
答:
模式分解对于一个模式的分解是多种多样的,但是分解后产生的模式应与原模式等价。有些数据关系模式会存在很多问题,例如:数据冗余太大,更新异常,插入异常,删除异常等。因此为了完善数据库的增删改查功能或者调高数据存储和查询效率,需要寻找一种等价的关系模式,使得以上弊端得以解决。从而产生了模式分解的概念,既把原有的数据模式分解成更小的或者更合理的等价数据模式。存在三种级别的模式分解:(1) 分解具有“无损连接性”(Lossless join);(2)分解要“保持函数依赖”(Preserve dependency);(3)分解既要“保持函数依赖”,又要具有“无损连接性”。把一个关系模式分解成若干个关系模式的过程,称为关系模式的分解。由数据库中的表来体现关系模式就是,每个主题由多个表实现,表间依靠公共关键字联系起来。这一阶段,对主题进行模式划分,得到多个表。在模式分解过程中,需要考虑分解是否可恢复,是否产生过多数据冗余,是否存在依赖缺失,是否会降低增删改查的效率等等。模式分解得越好,我们就能从模式中得到更多地数据形式。
根据数据变化的频率进行模式的益处:因为变化频率较高的数据需要频繁的更新,而变化频率较低的数据不需要经常进行读写更新。所以可以根据数据更新的频繁程度进行模式分解,把一些频繁更新的数据分解出来,从而可以减少更新数据时的磁盘I/O时间和提高数
文档评论(0)