大规模分布式存储系统:原理解析与架构实战ch02

大规模分布式存储系统:原理解析与架构实战ch02

ID:5284765

大小:1.56 MB

页数:31页

时间:2017-12-07

大规模分布式存储系统:原理解析与架构实战ch02_第1页
大规模分布式存储系统:原理解析与架构实战ch02_第2页
大规模分布式存储系统:原理解析与架构实战ch02_第3页
大规模分布式存储系统:原理解析与架构实战ch02_第4页
大规模分布式存储系统:原理解析与架构实战ch02_第5页
大规模分布式存储系统:原理解析与架构实战ch02_第6页
大规模分布式存储系统:原理解析与架构实战ch02_第7页
大规模分布式存储系统:原理解析与架构实战ch02_第8页
大规模分布式存储系统:原理解析与架构实战ch02_第9页
大规模分布式存储系统:原理解析与架构实战ch02_第10页
资源描述:

《大规模分布式存储系统:原理解析与架构实战ch02》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第一篇第一篇基 础 篇本篇内容第2章 单机存储系统第3章 分布式系统第2章 单机存储系统单机存储引擎就是哈希表、B树等数据结构在机械磁盘、SSD等持久化介质上的实现。单机存储系统是单机存储引擎的一种封装,对外提供文件、键值、表格或者关系模型。单机存储系统的理论来源于关系数据库。数据库将一个或多个操作组成一组,称作事务,事务必须满足原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)以及持久性(Durability),简称为ACID特性。多个事务并发执行时,数据库的并发控制管理器必须能够保证多个事务的执行结果不能破坏某种约定,如不能出现事务执行到一半的情

2、况,不能读取到未提交的事务,等等。为了保证持久性,对于数据库的每一个变化都要在磁盘上记录日志,当数据库系统突然发生故障,重启后能够恢复到之前一致的状态。本章首先介绍CPU、IO、网络等硬件基础知识及性能参数,接着介绍主流的单机存储引擎。其中,哈希存储引擎是哈希表的持久化实现,B树存储引擎是B树的持久化实现,而LSM树(LogStructureMergeTree)存储引擎采用批量转储技术来避免磁盘随机写入。最后,介绍关系数据库理论基础,包括事务、并发控制、故障恢复、数据压缩等。2.1 硬件基础硬件发展很快,摩尔定律告诉我们:每18个月计算机等IT产品的性能会翻一番;或者说相同性能的计算机等IT

3、产品,每18个月价钱会降一半。但是,计算机的硬件体系架构保持相对稳定。架构设计很重要的一点就是合理选择并且能够最大限度地发挥底层硬件的价值。2.1.1CPU架构早期的CPU为单核芯片,工程师们很快意识到,仅仅提高单核的速度会产生过多的热量且无法带来相应的性能改善。因此,现代服务器基本为多核或多个CPU。经典的多CPU架构为对称多处理结构(SymmetricMulti-Processing,SMP),即在一个计算机上汇集了一组处理器,它们之间对称工作,无主次或从属关系,共享相同的物理内存及总线,如图2-1所示。第2章 单机存储系统 7MainMemory前端总线(FSB)CPU1CPU2L3C

4、acheL3CacheL2CacheL2CacheL1dL1iL1dL1iL1dL1iL1dL1iCacheCacheCacheCacheCacheCacheCacheCache核心核心核心核心线程线程线程线程线程线程线程线程图2-1SMP系统结构图2-1中的SMP系统由两个CPU组成,每个CPU有两个核心(core),CPU与内存之间通过总线通信。每个核心有各自的L1dCache(L1数据缓存)及L1iCache(L1指令缓存),同一个CPU的多个核心共享L2以及L3缓存,另外,某些CPU还可以通过超线程技术(Hyper-ThreadingTechnology)使得一个核心具有同时执行两个

5、线程的能力。SMP架构的主要特征是共享,系统中所有资源(CPU、内存、I/O等)都是共享的,由于多CPU对前端总线的竞争,SMP的扩展能力非常有限。为了提高可扩展性,现在的主流服务器架构一般为NUMA(Non-UniformMemoryAccess,非一致存储访问)架构。它具有多个NUMA节点,每个NUMA节点是一个SMP结构,一般由多个CPU(如4个)组成,并且具有独立的本地内存、IO槽口等。图2-2为包含4个NUMA节点的服务器架构图,NUMA节点可以直接快速访问本地内存,也可以通过NUMA互联互通模块访问其他NUMA节点的内存,访问本地内存的速度远远高于远程访问的速度。由于这个特点,为

6、了更好地发挥系统性能,开发应用程序时需要尽量减少不同NUMA节点之间的信息交互。2.1.2IO总线存储系统的性能瓶颈一般在于IO,因此,有必要对IO子系统的架构有一个大致的了解。以Intelx48主板为例,它是典型的南、北桥架构,如图2-3所示。北桥芯片通过前端总线(FrontSideBus,FSB)与CPU相连,内存模块以及PCI-E设备(如高端的SSD设备Fusion-IO)挂接在北桥上。北桥与南桥之间通过DMI连接,DMI的带宽8 第一篇 基 础 篇为1GB/s,网卡(包括千兆以及万兆网卡),硬盘以及中低端固态盘(如Intel320系列SSD)挂接在南桥上。如果采用SATAZ接口,那么

7、最大带宽为300MB/s。NUMA节点IOIO内存控制器内存控制器CPUCPU本地或远程本地或远程NUMA内存内存互联模块IOIO内存控制器内存控制器CPUCPU本地或远程本地或远程内存内存图2-2NUMA架构示例IntelX48RAM模块(约83ns,PCI-Ex168GB/s北桥芯片250时钟周期)带宽:1GB/sDMIPCI-Ex1500MB/s千兆网卡:100MB/s硬盘(15000转,带宽100MB

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。