6、分布式文件系统(数据库)- 学习课件
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
关系数据库
记录集合的存储结构
记录在磁盘上的物理存储方式有物理临接存储,指针 连接存储。
关系数据库
数据文件的组织形式
因应用不同有多种组织形式:堆文件、顺序文件、散 列文件、按列存储。 顺序文件:记录按某个搜索码的值的顺序进行存储。
关系数据库
数据文件的组织形式
散列文件:直接存取文件或哈希文件,利用哈希函数 将具有相同搜索码值的记录散列到外存(通常是磁盘 )的同地址范围内。
关系数据库
字段的表示
每个字段都被SQL定义成具体的数据类型,表示一 定长度的字节序列
关系数据库
记录的表示
定长记录:它所包含的所有字段均为定长。
关系数据库
记录的表示
变长记录:允许它包含变长字段,有多重表示方法
关系数据库
记录集合的存储结构
记录在磁盘上的物理存储方式有物理临接存储,指针 连接存储。
HBASE
Hbase 的首次读与写
有一个特殊的Hbase 目录表叫做Meta表,它拥有Region 在集群 中的位置信息,ZooKeeper存储着Meta表的位置。 如下就是客户端首次读写Hbase 所发生的事情: 1.客户端从Zookeeper的Meta表中获取Region Server。 2.客户端将查询 .META.服务器,获取它想访问的相对应的Region。 Server的行健。客户端将缓存这些信息以及META 表的位置。 3.客户端将从相应的Region Server获取行。
HBASE
wk.baidu.com
Regions
HBase Tables 通过行健的范围(row key range)被水平切分成 多个Region, 一个Region包含了所有的,在Region开始键和结束 之内的行,Regions被分配到集群的节点上,成为 Region Servers,提供数据的读写服务,一个region server可以服务1000 个Region。
HBASE
ZooKeeper:协调器
Hbase使用Zookeeper作为分布式协调服务,来维护集群中的 Server状态,ZooKeeper维护着哪些Server是活跃或是可用的。 提供Server 失败时的通知。Zookeeper使用一致性机制来保证公 共的共享状态,注意,需要使用奇数的三台或是五台机器,保证 一致。
关系模型
关系模型与聚合数据模型
聚合数据模型
关系模型与聚合数据模型
构建数据存取模型(键值、文档数据库)
关系模型与聚合数据模型
CustomerId
CustomerInfo
Name
Since
Value
Value
Orders
Order1
Ordern
Value
Value
OrderId
OrderDetails
Customer name
1
*
Billing Address
*
1
Address Street City State Post code
1
*
Order
1
1 1
*
*
Order Payment
Order item
1
*
cardNumber
price
txnld
*
1
Product name
1 Shipping Address
订单
订单行
客户
信用卡
阻抗失谐
这是一张订单表。在用户界面中看起来像一个聚合 结构,然而其数据却存放在关系型数据库的多张表中。 每章表 的行对应具体的数据。这样一来,如果在内存中 使用了较为丰富的数据结构,那么要把它保存到磁盘之 前,必须先将其转换成”关系“。于是就发生了“阻抗 失谐”。
关系模型与聚合数据模型
Order Date
Value
Customer Value
Productn
Id
Price
Value
Value
Payment
CCInfo
ExpDate
Value
Value
构建数据存取模型(列族数据库)
RAMCloud
RAMCloud是斯坦福大学提出的大规模集群下的纯内存KV数据库系统,最大的特点是读/写效 率高,其设计目标是 在数千台服务器规模下读取小对象速度能够达到5〜]0纳秒,这种速度是目前常规数据中心存储方案性能的50 ~ 1000 倍。
关系数据库
数据文件的组织形式
关系数据库
数据文件的组织形式
关系数据库
索引
关系数据库
顺序文件索引
结构:文件按搜索码的顺序存储,索引记录按搜索码值排序--主索引。此种主索引可以是稀疏的,也可以是稠密的。
关系数据库
顺序文件索引
结构:文件按搜索码的顺序存储,索引记录按搜索码值排序--主索引。此种主索引可以是稀疏的,也可以是稠密的。
Redis
Redis是著名的内存KV数据库,在工业界获得了广泛使用其不仅支持基本数据类型,也支持列表、集合等复杂数 据结构,所以有较强的表达能力,同时有非常高的单机读/写效率:
Redis
系统中唯一的Master负责数据的读/写操作,可以有多个Slave来保存数据副本, 副本数据只能读不能做数据更 新操作。当Slave初次启动时,从Master获取数据,在数据复制过程中,Master是非阻塞的,即同时可以支持读/写 操作。Master采用快照加增量的异步方式完成数据复制过程,首先在时刻T将内存数据写入本地快照文件,同时在内 存记录从T时刻起新增的数据操作. 当快照文件生成结束后,Master将文件传给Slave, Slave先保存为本地文件,然后 将其加载入内存。之后,Master将T时刻后的数据变更操作以命令流的形式传给Slave, Slave顺序执行命令流,这样 就达到数据和Master保持同步。
课程目录
Course catalogue
1 关系数据库 2 KV内存数据库 3 列族数据库 4 文档数据库
HBASE
Hbase 架构的组件
Region Server:提供数据的读写服务,当客户端访问数据时, 直接和Region Server通信。HBase Master:Region的分配,.DDL 操作(创建表,删除表)Zookeeper:是HDFS的一部分,维护一个 活跃的集群状态。
如果再次读取,客户端将使用缓存来获取META 的位置及之前的行健。这样时间久了,客户端不需要查询META表,除非Region 移动所导致的丢失,这样的话,则将会重新查询更新缓存。
HBASE
Hbase META表
META 表集群中所有Region的列表 .META. 表像是一个B树 .META. 表结构为: - Key: region start key,region id - Values: RegionServer
Hadoop DataNode存储着Region Server 管理的数据,所有 的Hbase数据存储在HDFS文件系统中,Region Servers在HDFS DataNode中是可配置的,并使数据存储靠近在它所需要的地方, 就近服务,当王HBASE写数据时时Local的,但是当一个region 被移动之后,Hbase的数据就不是Local的,除非做了压缩 (compaction)操作。NameNode维护物理数据块的元数据信 息。
HBASE
组件之间如何工作
Zookeeper一般在分布式系统中的成员之间协调共享的状态信息 ,Region Server和活跃的HMaster通过会话连接到Zookeeper, ZooKeeper维护短暂的阶段,通过心跳机制用于活跃的会话。
每个Region Server创建一个短暂的节点,HMaster监控这些节点 发现可用的Region Server,同时HMaster 也监控这些节点的服 务器故障。HMaster 通过撞见一个临时的节点,Zookeeper决定 其中一个HMaster作为活跃的。活跃的HMaster 给ZooKeeper发 送心跳信息,不活跃的HMaster在活跃的HMaster出现故障时, 接受通知。 如果一个Region Server或是一个活跃的HMaster在发送心跳信息时失败或是出现了故障,则会话过期,相应的临时节点将被删 除,监听器将因这些删除的节点更新通知信息,活跃的HMaster将监听Region Server,并且将会恢复出现故障的Region Server,不活跃的HMaster 监听活跃的HMaster故障,如果一个活跃的HMaster出现故障,则不活跃的HMaster将会变得活跃 。
HBASE
HBase HMaster
分配Region,DDL操作(创建表, 删除表) 协调各个Reion Server :
-在启动时分配Region、在恢复或是负载均衡时重新分配 Region。
-监控所有集群当中的Region Server实例,从ZooKeeper中 监听通知。 管理功能:
-提供创建、删除、更新表的接口。
课程目录
Course catalogue
1 关系数据库 2 KV内存数据库 3 列族数据库 4 文档数据库
关系数据库不擅长
关系数据库是一个通用性的数据库,并不能完全适应所有的用途。具体来说它并不擅长以下处理: 大量数据的写入处理; 为有数据更新的表做索引或表结构变更。 字段不固定时应用。 对简单查询需要快速返回结果的处理。
RAMCloud
客户端
客户端
客户端
数据中心网络连接
Master Backup
Master Backup
Master Backup
RAMCloud整体架构
客户端
协调器
Master Backup
每台存储服务器包含两个构件:Master和Backup Master负责内存KV数据的存储并响应客户端读/写请求, Backup负责在外存存储管理其他服务器节点内存数据的数 据备份。每个RAMCloud集群内包含唯一的管理节点,称 之为协调器(Coordinator ) 协调器记载集群中的一些配置 信息,比如各个存储服务器的IP地址等,另外还负责维护 存储对象和 存储服务器的映射关系,即某个存储对象是放 在哪台服务器的,,RAMCloud的存储管理单位是子表 (Tablet),即若干个主键有序的存储对象构成的集合,所以 协调器记载的其实是子表和存储服务器 之间的映射关系。
RAMCloud
1.处理写请求
2.对象追加入Log并更新哈希表
Buffered Segment
Disk
In-Memory Log
Backup
Hash table
Buffered Segment
Disk
Backup
Master
Buffered Segment
Disk
4.写请求返回
3.复制对象到副本
Backup
Oracle·WDPe·WDP
分布式文件系统(数据库)
Oracle 高校大数据课程系列
本课目标
理解关系数据库的原理 掌握内存kv数据库的原理及应用 掌握列族数据库的原理 掌握文档数据库的原理及应用
课程目录
Course catalogue
1 关系数据库 2 KV内存数据库 3 列族数据库 4 文档数据库
关系数据库
多级索引
有时二者经常结合使用建立多级索引,即先建立稠密主索引, 然后在稠密主索引文件上建立稀疏索引。
关系数据库
辅助索引
关系数据库
B+树索引
B+树索引可以作为主索引,也可以作为辅助索引。 作为主索引时,可以是稀疏的,也可以是稠密的。
关系数据库
散列索引
散列索引:散列函数h,搜索码值k,利用h(k)将记录分散到B个 桶中的技术。根据B是否固定可有静态散列和动态散列两种方 法。令搜索码 经过散列并二进制 序列化后的长度,N=4,当 i=1时,说明有两个桶(0,1)
RAMCloud整体架构
RAMCloud在内存和外存存储数据时都统一采用LSM树 方案.其对应的Log结构被切割为8MB大小的数据片段( Segment)。
RAMCloud
数据恢复机制
这个机制包含两个方面:一方面是将待备份的数据尽可 能多地分散到不同备份服务器中,这样在恢复内存数据的 时候每台备份服务器只需传递少量数据,增加并发性。另 外一方面是将待重建的内存数据分散到多台存储服务器来 恢复,这样也减少了每台服务器需要恢复的数据量,增加 并发性。通过以上两种措施可以实现快速数据恢复, RAMCloud可以在1秒之内恢复崩溃的内存数据。
关系数据库不擅长
ID:1001 customer:Ann line ltems:
0321293533 0321601912 0131495054
2 $48 $96 1 $39 $39 1 $51 $51
payment detalls:
Card:Amex CC Number:12345 expiry:04/2001