《大数据管理概论》一3.3 基于新型存储的大数据管理

本文涉及的产品
数据管理 DMS,安全协同 3个实例 3个月
推荐场景:
学生管理系统数据库
简介:

本节书摘来自华章出版社《大数据管理概论》一书中的第3章,第3.3节,作者 孟小峰,更多章节内容可以访问云栖社区“华章计算机”公众号查看

3.3 基于新型存储的大数据管理

闪存、PCM等新型存储的物理特性、读写特性等均与磁盘有着显著的不同,而目前已有的大数据数据库,其设计理念均是基于磁盘存储,在面对闪存、PCM等新型存储时并不能最大限度发挥新型存储的性能。目前,在基于新型存储的大数据管理方面也有一些研究工作,包括大数据存储、大数据索引、大数据查询和大数据分析等。

3.3.1 存储管理

大数据存储通常采用分布式异构存储策略,但传统的分布式存储策略通常采用基于副本的方式。引入了多样化的新型存储介质后,需要设计新的数据分配算法,使数据分布在合适的新型存储介质上,从而加快数据的访问性能。
异构存储系统的特点在于采用了所谓的日志缓存(buffered logging)技术将主数据放置在性能最好的存储系统上,而将副本以及数据更新日志放置在成本较低的存储上,既降低了成本,又保证了性能,如Ramcloud[52]。
持久化策略是指将数据写入持久存储介质的策略,NoSQL数据库系统中引入闪存之后,由于闪存具有的异地更新特性,往往需要设计新的持久化策略。为了有效减少闪存异地更新和垃圾回收对持久化性能的影响,可采用“隐形Trim”机制优化持久化策略,即通过将闪存存储层作为“黑盒”,使用基于性能、块大小等参数的演化推理机制找到最理想的工作负载模式,最终实现系统在闪存上的读写性能优化。例如,RethinkDB是一个针对SSD优化的分布式NoSQL数据库系统。
基于新型存储的大数据存储管理与传统的数据库系统有着较大的差别,最主要的一点在于大数据环境下数据存储通常是分布式、分层的,而传统数据库系统中的数据以集中存储为主。因此,面向新型存储的大数据存储管理面临着存储介质异构性、数据分片、存储分配等问题。虽然NoSQL在Web领域得到了广泛应用,但能否作为大数据管理的统一平台还有待进一步研究。
针对PCM存储策略的优化和混合存储:在DRAM/PCM混合主存的硬件驱动的页面置换策略[53]。该策略依赖一个内存控制器(Memory Controller,MC)来监控内存页面的使用频率和写密集程度。MC在DRAM和PCM之间进行页面迁移,保证性能攸关的页面和频繁写的页面保存在DRAM中,而性能不太敏感以及很少写的页面存储在PCM中。将DRAM设计为CPU和PCM之间的缓冲区。所有的数据页都存储在PCM中,只有当DRAM发生页面置换或者需要访问新的页面时系统才存取PCM。

3.3.2 索引管理

大数据管理中的索引设计主要考虑高扩展性、高性能并能够有效支持非主键查询和多维查询等不同类型查询,主要索引结构有二级索引、双层索引、按照空间目标排序的索引等。
二级索引由局部索引和全局索引构成,局部索引只负责该节点上的数据索引,全局索引则依据局部索引构建。双层索引主要适用于非键值列的快速查询,索引表由原数据表中的键值和索引列的组合构成。
目前二级索引中的局部索引均基于磁盘特性进行设计。闪存等新型存储的特性和磁盘具有明显差异,将基于磁盘的索引实现方法直接移植到新型存储上会严重影响索引性能。以闪存为例,传统的索引更新维护往往导致频繁的小数据量更新,这些更新操作会带来大量的闪存擦除操作,极大地降低了索引的性能和闪存寿命。
目前,在基于新型存储的索引方面,主要的研究集中在面向闪存的索引上。闪存数据库索引设计的目标在于不仅要在闪存介质上实现索引的高查询性能,而且还要根据闪存的物理特性减少索引更新维护带来的性能代价(如频繁擦除等)。目前提出的闪存索引结构大都采用了传统的树形结构,并以减少对闪存的随机写为主要目的,采用的方法往往是延迟更新或者合并更新等。
虽然目前在基于闪存的索引设计方面已经有了不少的工作,但由于在大数据存储中引入了PCM等其他类型的新型存储介质,而且在计算架构上产生了根本性变化(闪存定位在二级存储,而PCM则可以用于直接的内存扩展),因此大数据索引技术还需要在存储结构感知能力方面进行新的研究,对于适合分层混合存储的超大规模数据索引结构也需要进行重新设计。

3.3.3 查询处理

目前针对大数据的查询处理和优化主要集中在基于MapReduce框架的查询处理研究上,查询执行的研究主要集中在基于MapReduce的连接算法[54,55]。连接操作会产生大量的中间结果,需要写到外部存储,这对于闪存、PCM等来说代价非常昂贵,传统的基于MapReduce的连接算法无法发挥闪存、相变存储器的最佳性能,需要避免在新型存储上的大量写操作对查询执行效率的影响。在大规模分布式数据库中,查询优化工作主要集中在MapReduce执行计划选择以及负载均衡等方面。MapReduce执行计划选择的基本思想则是在多个可选MapReduce执行计划中选择代价最小的,研究主要集中于MapReduce作业调度[56]和MapReduce任务调度[57]。MapReduce任务调度算法通常需要考虑任务负载特征、硬件异构性等指标,其中硬件异构性包含了CPU性能、网络带宽、内存、存储系统性能等特征。随着闪存、PCM等新型存储介质在大数据存储系统中的应用,存储系统异构性将日益凸显,将给MapReduce任务调度带来新的挑战。
在查询处理的动态负载均衡方面,目前主要考虑了存储用量推荐、数据的读写频率等因素。在面向新型存储的查询处理算法方面,目前在基于闪存的连接算法上研究较多,其出发点是避免在闪存上执行大量随机写操作,同时尽量发挥闪存的随机读性能。

3.3.4 事务处理

众所周知,关系数据库中事务的正确执行必须满足“ACID”特性,即原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)。对于数据强一致性的严格要求使其在很多大数据场景中无法应用。这种情况下出现了新的“BASE”特性,即只要求满足Basically Available(基本可用)、Soft State(柔性状态)和Eventually Consistent(最终一致)。从分布式领域著名的“CAP”理论角度来看[48],ACID追求一致性“C”,而BASE更加关注可用性“A”。正是在事务处理过程中对于ACID特性的严格要求,使得关系型数据库的可扩展性极其有限。
大数据处理与存储融合的新型架构同样为事务处理与优化带来新的机遇。除了可以采用PCM来提高日志操作速度、采用硬件事务内存(Hardware Transactional Memory,HTM)加速事务处理等方法外,还可以考虑利用存储芯片内部的处理单元来加速并发事务处理中的串行操作。具体而言,通过重新设计事务和日志管理算法,使得锁操作中的临界区能够直接在内存片上处理器或者专用加速器上执行,从而大大提高并发事务处理的效率。

3.3.5 大数据分析

当前主流的大数据分析平台,如Hadoop MapReduce和Spark等,都是面向传统的通用处理器-DRAM架构的计算机系统而设计的。为了发挥处理和存储融合的新型架构优势,需要重新设计相应的大数据平台。以MapReduce为例,Map阶段高带宽需求的特性要求运算尽可能放在内存片上处理器中进行。再如Spark,由于其内存计算特性,对内存带宽有较大需求,可以考虑重新设计架构使其能够更有效地使用内存片上处理器。同时由于Spark具有良好的数据局部性,可以考虑将热数据放在内存芯片的DRAM层上。另外,尽管Spark的基本数据结构(RDD)本身具有容错性,仍然需要有日志机制来支持全面的容错,此时可以考虑将日志放入持久化的PCM存储上。

相关文章
|
6月前
|
存储 分布式计算 大数据
大数据计算中,使用OSS作为外部存储
大数据计算中,使用OSS作为外部存储
45 1
|
7月前
|
存储 NoSQL 分布式数据库
Hbase+ES和MongoDB存储大数据的选用
Hbase+ES和MongoDB存储大数据的选用
232 0
|
6月前
|
存储 边缘计算 数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
Docker 存储驱动解析:选择最适合你的存储方案,优化容器化部署性能和数据管理
141 0
|
3月前
|
存储 关系型数据库 MySQL
Mysql 存储大数据量问题
Mysql 存储大数据量问题
92 1
|
4月前
|
存储 分布式计算 大数据
开通大数据计算MaxCompute就能存储外表了吗?
开通大数据计算MaxCompute就能存储外表了吗?
28 0
|
5月前
|
存储 Cloud Native 大数据
在云原生时代,构建高效的大数据存储与分析平台
在云原生时代,构建高效的大数据存储与分析平台
143 0
|
7月前
|
存储 数据管理 对象存储
云存储Clouder认证:存储应用与数据管理—课时10:实验练习与认证考试
云存储Clouder认证:存储应用与数据管理—课时10:实验练习与认证考试
256 0
|
7月前
|
存储 数据管理 文件存储
云存储Clouder认证:存储应用与数据管理—课时9:课程总结与补充
云存储Clouder认证:存储应用与数据管理—课时9:课程总结与补充
83 0
|
7月前
|
存储 弹性计算 数据管理
云存储Clouder认证:存储应用与数据管理—课时8:如何做好网站高可用
云存储Clouder认证:存储应用与数据管理—课时8:如何做好网站高可用
92 0
|
7月前
|
存储 数据管理 对象存储
云存储Clouder认证:存储应用与数据管理—课时7:如何做好网站加速
云存储Clouder认证:存储应用与数据管理—课时7:如何做好网站加速
82 0