赞
踩
学习课程:南开大学 张海威 《大数据存储》
资源地址:https://www.bilibili.com/video/BV1XE411x7wW
海量特征(Volume)
多样特征(Variety):数据的来源,格式
快速特征(Velocity):数据的生成,存储,分析,处理的速度远远超过计算机的处理速度
价值特征(Value):价值密度的高低和数据总量的大小成反比
1.2.1、文件
传统的数据存储方式:文件
直接将数据存储为文件的形式,简单、方便
优点 | 缺点 |
程序与数据相互分离 | 数据冗余 |
实现了数据共享 | 可扩展性差 |
| 无法体现数据之间的关系 |
| 应用程序设计复杂 |
1.2.2、数据库
数据库是数据的集合,通常用来描述多个相关组织结构的活动
数据库实现了数据的存储、查询和更新等功能
关系数据库的设计过程
Step1:概念模型——ER图
Step2:逻辑模型——关系模式
Step3:物理模型——关系表结构
数据仓库和数据库是计算机系统中存在着的两类不同的数据处理需求
数据库主要用于操作型处理(事务处理):主要是对一个或一组记录的查询和修改,这时候人们关心的是响应时间、数据安全和完整性;
数据仓库主要用于分析型处理(信息型处理):通过对数据的分析,用于管理人员的分析决策,如DDS(decision support system)、多维分析等
A data warehouse is a subject-oriented,integrated,time-varient,and nonvolatile collection of data in support of management’s decision making process.
--W.H.Inmon ,”Building the Data Warehouse” . 1996
数据仓库是一个面向主题的、集成的、时变的、非易失性的数据集合,以支持管理层的决策过程。
1.3.1 多维模型
多维模型的基础分为事实表(Fact table)和维表(Dimension table)
事实表是指其中保存了大量业务度量数据的表。事实表中的度量值一般称为事实。事实表的粒度决定了数据仓库中数据的详细程度。事实表的外键对应维表中的主键。
维表定义了每个维度的成员名称
多维模型
(学习来源:https://www.cnblogs.com/matrixc/p/3978031.html)
数据立方体
星状模型:一张事实表对应多张维度表
雪花模型:星状模型的一个集联模型
事实星座:多个星状模型关联在一起
多维数据模型上的OLAP操作
(Online Analytical Processing 联机分析处理)
上卷:执行聚集操作,通过维度级别的上升来观察更概括的数据(把某些维度值进行合并)
下钻:通过维度级别下降,或者引入某个或某些维来更细致的观察数据(对维度进行分解)
切片:在给定的数据立方体上的一个维上进行选择操作
切片的结果相当于得到一个二维的平面数据
切块:在给定的数据立方体两个或多个维度上进行选择操作
切块的结果相当于得到一个子立方体
投影和选择操作
转轴(pivot)
立方体的重定位,可视化,或将一个三维立方体转化为一个二维平面序列
NoSQL数据库 (Not Only SQL)
没有固定的数据模式
可以水平扩展
对关系型数据库系统的补充
特点:数据模型简单、元数据和应用数据分析、弱一致性
在key与value之间建立映射关系
通过key可以直接访问value,进行增删改查等基本数据操作
键值模型是海量数据处理的一种基本数据存储模型,具有很好的可扩展性
键值数据库Redis
Redis是一款开源的、高性能的键值数据库。它也被常称作是数据结构服务器(data structure server)
为了获得优异的性能,Redis采用了内存数据集的方式。同时,Redis支持数据的持久化,可以每隔一段时间将数据集转存到磁盘上,或者在日志尾部以append——only方式写入每一条操作命令
列式存储使用类似于“表”的传统数据模型
围绕“列”进行数据存储,属于同一列的数据会尽可能的存储在同一个磁盘页(Page)
不支持类似于表连接这样的多表操作,而是将多表连接操作转换为对列的操作,节省大量的I/O
列族:多个列的集合
同一个族的数据被压缩在一起
行存储与列存储的区别
行存储在“写”数据的效率方面,优于列存储
在“读”数据方面,行存储会有数据冗余的情况,列存储不产生冗余数据,有利于分析大数据
列式存储的适用场景:大数据查询、大数据压缩、大数据分析
列数据库BigTable
BigTable是用来处理海量数据的一种非关系型数据库
BigTable是一个稀疏的、分布式的、持久化存储的多维映射关系表(多维映射表通常由行、列、列族、时间戳四个维度组成)
将数据组织成文档进行存储,文档的格式为JSON或者类JSON
文档具备可述性,呈现分层的树桩结构,可以包含映射表、集合和纯量值
数据库中的文档彼此相似,但不必完全相同。文档数据库所存放的文档,就相当于键值数据库中所存放的“值”
文档数据库可是为其值可查的键值数据库
JSON
一种轻量级的数据交换格式
和XML一样,基于纯文本的数据格式
可以表达String、Number、Boolean、数组、甚至对象等数据
适用于服务器与JavaScript客户端的交互
文档数据库MongoDB
MongoDB是分布式文件存储数据库,支持的数据结构极为松散,类似与JSON的Binary JSON合适,因此可以存储较为复杂的数据模型
功能:动态查询、完整的索引支持、查询监视、复制及自动故障转移、高效的传统存储方式、自动分片以支持云级别的伸缩性
使用图结构来描述数据和数据内部之间的依赖关系,使用点、边和属性来表示和存储数据。最重要的概念是边。在存储中,它可以直接将数据项关联起来。
图是指将数据存储为顶点(或称为实体)和边(或称为关系)的数据存储模式,也可以称此类关系为网络
图数据库Neo4j
Neo4j是一个基于Java语言的开源图数据库系统,适用于数据查询和事务处理
云存储是在云计算(cloud computing)概念上延伸和发展出来的一个新的概念,是指通过集群应用、网络技术或分布式文件系统等功能,将网络中大量各种不同类型的存储设备通过应用软件集合起来协同工作,共同对外提供数据存储和业务访问功能的一个系统。
当云计算系统运算和处理的核心是大量数据的存储和管理时,云计算系统中就需要配置大量的存储设备,那么云计算系统就转变称为一个云存储系统,所以云存储是一个以数据存储和管理为核心的云计算系统。保证数据的安全性,并节约空间。
云存储是云计算的一个子集,云计算系统可以认为是以数据处理和数据运算为中心的系统。在云计算系统中配置相应的存储设备,该计算系统即拥有了云存储系统功能。云存储是一个以数据存储和管理为核心的云计算系统。
按照制定的具有可扩展性的服务水平,通过网络将虚拟的存储和数据服务以按需使用,按量计费的方式提供的服务交付方式。该交付方式无需配置或以自服务方式配置
服务类型: 备份服务 为业务连续性进行数据备份
归档服务 为长期的资产或信息管理建 立归档
存储容器服务 通过丰富的对象存储服务等 级协议(SLA)来提供辅助的 即需即供的存储容量
记录管理服务 数据存档和保持
快读为用户部署存储空间
按实际用量计费
降低存储成本(存储共享、重复数据删除、数据压缩)
弹性扩展
系统管理简单
数据安全
网络状况
数据备份的恢复
归档数据的查询
功能需求
云存储系统面向多种类型的网络在线存储服务
传统存储系统则面向高性能计算、事务处理等应用
性能需求
要考虑数据的安全性、可靠性、效率等指标
由于用户的规模大、服务范围广、网络环境复杂等特点,实现高质量的云存储服务必将面临更大的技术挑战
数据管理
云存储系统不仅要提供传统文件访问,还要能够支持海量数据管理并提供公共服务支撑功能,以方便云存储系统后台数据的维护
声明:文章内容大多来自视频课件的个人摘录 如有异议请联系作者
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。