数据存储架构与技术

978-7-115-62146-7
作者: 舒继武
译者:
编辑: 邓昱洲
分类: 存储

图书目录:

详情

本书介绍数据存储架构与技术,涵盖了存储盘与存储介质、存储阵列、存储协议、键值存储,文件系统、网络存储体系结构、分布式存储系统、存储可靠性、存储安全、数据保护等基础内容,对存储维护、存储解决方案、存储技术趋势与发展等主题进行了深入讨论,并提供目前新的研究成果作为案例,帮助读者加深对数据存储的理解与运用。 本书内容丰富,适合计算机及相关专业高年级本科生或研究生阅读和学习,同时也可供专业技术人员参考。

图书摘要

DATA STORAGE ARCHITECTURES AND TECHNOLOGIES

数据存储架构与技术

舒继武 编著

人民邮电出版社

北京

图书在版编目(CIP)数据

数据存储架构与技术/舒继武编著.--北京:人民邮电出版社,2023.10

ISBN 978-7-115-62146-7

Ⅰ.①数… Ⅱ.①舒… Ⅲ.①数据存贮—架构—研究 Ⅳ.①TP333

中国国家版本馆CIP数据核字(2023)第137838号

◆编著 舒继武

责任编辑 邓昱洲

责任印制 李东 焦志炜

◆人民邮电出版社出版发行  北京市丰台区成寿寺路11号

邮编 100164  电子邮件 315@ptpress.com.cn

网址 https://www.ptpress.com.cn

涿州市般润文化传播有限公司印刷

◆开本:720×960 1/16

印张:25  2023年10月第1版

字数:462千字  2023年10月河北第1次印刷

定价:139.00元

读者服务热线:(010)81055552 印装质量热线:(010)81055316

反盗版热线:(010)81055315

广告经营许可证:京东市监广登字20170147号

内容提要

本书介绍数据存储架构与技术,涵盖了存储盘与存储介质、存储阵列、存储协议、键值存储、文件系统、网络存储体系结构、分布式存储系统、存储可靠性、存储安全、数据保护等基础内容,对存储维护、存储解决方案、存储技术趋势与发展等主题进行了深入讨论,并提供目前最新的研究成果作为案例,帮助读者加深对数据存储的理解与运用。

本书内容丰富,适合计算机及相关专业高年级本科生或研究生阅读和学习,同时也可供专业技术人员参考。

序一

随着数据量的爆炸式增长,存储技术越来越受到重视。构建高性能存储系统,快速、完整且长久地保存海量数据,关系到国计民生和国家战略安全。

自20世纪90年代起,我们在国内率先开展网络存储系统关键技术研究。当时存储系统的关键技术主要被欧美机构垄断,但通过整个团队的不懈努力,我们逐一攻破存储系统的可扩展性、可靠性、存储性能等一系列难题,构建了一个个原型系统,并应用和转化了相关关键技术。令我欣慰的是,经过20余年的发展,目前中国在存储领域已处于国际领先行列:在存储硬件系统上,华为等中国企业可以提供业界领先、全套、面向不同场景的高性能存储解决方案;在存储软件系统上,依托于大型数据中心和 E级超算中心,清华存储团队构建了若干超大规模的、可扩展的分布式存储软件系统;在科研成果上,中国高校能够持续在存储领域的国际顶级会议发表学术成果。但我一直比较遗憾的是,我们缺少一本全面介绍阐述存储基本原理和最新研究进展的中文书籍。因此,当舒继武老师和我说想写一本关于数据存储技术的书时,我非常支持。

本书有两个特点我觉得非常好。第一,本书兼顾了存储硬件和存储软件,现如今各种存储硬件层出不穷,比如 NVMe SSD、持久性内存等,它们具有迥异的特性,只有充分了解这些硬件特性,我们才能够构建出高性能的存储软件系统,而本书便对存储软硬件之间的协同进行了深度阐释。第二,本书兼顾了学术界和工业界的视角,一方面,编著者舒继武老师在存储领域有二十多年的科研经验,也是率先在国内进行网络存储技术教学的老师,能够准确把握存储领域的发展轨迹和最新趋势;另一方面,这本书也包含了华为公司同仁们在工业界多年的经验与思考,例如如何进行存储维护,如何为不同应用场景提供高效的存储解决方案等。

希望本书能够帮助读者全面且深入地了解数据存储的关键技术,并能吸引一批优秀的人才从事存储行业,为中国的存储事业添砖加瓦!

中国工程院院士、清华大学教授 郑纬民

序二

呼唤存储专业人才,共筑数据基础设施

人类社会经过了从农业时代到工业时代的发展,目前正在大踏步进入数字化时代。数字化已经深入到金融、电信、制造、交通、能源、教育、医疗等社会、经济、生活的方方面面,我们正在迎来一个万物互联的智能世界。

数据是智能世界的基础性资源和战略性资源。华为预测,到2030年,人类将进入 YB(尧字节,尧代表1024)数据时代。数据的采集、传输、保存、计算、使用,离不开强大的数据基础设施。专业存储承载着千行百业的研发、生产、经营的高价值数据,是数据基础设施的核心组成部分。

存储在数字化时代具有举足轻重的作用。存储容量决定了智能世界的数据总量,企业拥有的数据多,企业的数字化转型就具备了良好的基础。存储性能决定了数据存取的效率,存储、网络、计算三者的性能完全匹配,数据才能真正发挥实时的价值。存储可靠性决定了数据的持久性和可用性,一旦数据丢失或无法访问,将给数字社会、数字经济的运行带来无法挽回的损失。存储安全更是数据安全的最后一道防线,识别、保护关键数据,检测、响应不可预计的攻击并恢复关键数据,构成了完整的数据安全体系架构。

从全球第一台专业存储设备诞生,存储产业一直活跃在创新的前沿。从数据库存储到文件存储,从存储阵列到分布式存储,从机械硬盘存储到全闪存存储,存储的应用场景和系统架构日益丰富多样,有力促进了人类社会数字化水平的提升。伴随着大数据、人工智能、分布式数据库等新兴数据应用的蓬勃发展,新计算、新网络、新介质技术不断涌现,数据中心从枢纽、城市到边缘全面布局,绿色低碳共识不断深入,存储产业正在迎来新一轮的创新浪潮。

数十年来,围绕产、学、研、用的全产业链,一批又一批卓越的存储专业人才成长起来。理论、架构、工程技术、行业场景等领域中学者和专家们的完美结合,推动存储产业不断向前发展。未来,数据量呈现爆发式增长,技术创新层出不穷,智能世界正在呼唤越来越多的专业人才,认识存储、发展存储。

本书从组件、系统架构到关键技术,从应用场景到设计实现,结合理论知识和工程实践,系统地讲解了存储的专业知识和技术展望,非常适合有志于投身存储产业浪潮的学生、科研人员、企业研发人员、企业 IT团队以及其他从业人员学习参考。

华为是全球领先的 ICT基础设施供应商。今天和未来,我们致力于把数字世界,带入每个人、每个家庭、每个组织,构建万物互联的智能世界。华为数据存储始终坚持技术创新,坚持服务全球市场客户。感谢国际权威分析机构高德纳(Gartner)对华为存储市场、产品、销售、客户体验战略和执行的认可,2016年至今,华为一直是高德纳主存储魔力四象限领导者。华为愿意为学生提供学习、实践、工作的机会,和科研人员、用户联合创新,共同探索未来的存储应用场景和技术,和广大的存储产业从业者营造健康的合作生态,为构建可靠的数据基础设施尽自己最大的努力。

专业存储,海纳数据,释放平凡数据的不凡潜力。让我们携手努力,共创美好数据时代的未来。

华为常务董事、ICT基础设施业务管理委员会主任 汪涛

前言

数据是当前信息技术发展的核心资产,需要被高效并可靠地存储起来,以服务众多现实生活中的应用,如互联网、大数据、人工智能及高性能计算等。鉴于数据存储的重要性,从2003年开始,我们在清华大学开设了面向计算机专业研究生的“网络存储技术”课程,介绍数据存储领域的基础知识及最新的学术动态。在这么多年的教学过程中,我们发现没有合适的图书可以作为课程参考书:一方面,大部分计算机系统类图书仅将数据存储作为其中的子章节,对数据存储介绍得不够全面系统;另一方面,专门介绍数据存储的图书内容相对陈旧,无法反映当前存储领域在硬件和软件方面的最新进展。因此,我们萌生了编写一本数据存储技术图书的想法。就在这个想法产生不久后,华为数据存储产品线的同事找到了我们,他们也有相似的需求:编写一本数据存储技术的图书,向员工和客户普及数据存储的基本概念和技术。在此契机下,我们与华为的同事一起,编写了这本《数据存储架构与技术》,本书既包含了我们团队在数据存储领域多年的教学和科研经验,也包含了以华为为代表的存储产业界力量在存储维护、存储解决方案等方面的先进思考。

本书共14章,内容概述如下。

第1章 数据存储的背景

这一章讲述数据存储的背景,包括数据存储在当今信息时代的重要性及一些主要的性能指标。

第2章 存储盘与存储介质

在计算机中,数据被存储在不同的存储设备中,这一章主要介绍存储盘与存储介质,包括磁盘、SSD(Solid State Disk,固态硬盘)及主存。针对每类存储盘与存储介质,这一章简述其发展历史、组成结构及性能特征。为了充分发挥硬件的性能,存储盘一般包含复杂的固件设计,比如地址映射、磁盘缓存及磁盘调度等。此外,这一章还简要介绍光存储、磁带等其他存储介质。

第3章 存储阵列

单独的存储设备无法满足应用的容量和可靠性诉求,因此需要将多块存储设备进行集中池化管理,即构成存储阵列。这一章首先介绍存储阵列的硬件架构,包括控制器模块、接口模块等。然后介绍其软件架构并着重介绍 RAID(Redundant Arrays of Independent Disks,独立磁盘冗余阵列)算法。最后,我们介绍如何设计存储阵列,以达到高性能和高可靠的目标。

第4章 存储协议

存储协议负责主机与存储设备之间的通信及数据交互。这一章介绍典型的存储协议,包括面向磁盘的 SCSI(Small Computer System Interface,小型计算机系统接口)协议,以及面向 SSD的 NVMe(Non-Volatile Memory express,非易失性快速存储器)协议。此外,还介绍新型的内存互连协议——CXL(Compute Express Link,缓存一致性互连)协议。

第5章 键值存储

现实中的大量数据都可以通过键值对的映射方式来表达,因此键值存储系统应用广泛。这一章介绍键值存储系统常用的索引结构,如散列表、B+树及 LSM树等,并介绍键值存储系统如何进行数据的布局。此外,这一章还探讨崩溃一致性机制,这类机制使得键值存储系统在崩溃后能恢复到一致的状态。

第6章 文件系统

除了键值存储系统,另一种常见的存储软件系统是文件系统。这一章讲述文件系统的基本操作,包括文件操作和目录操作。这一章通过案例逐步剖析文件系统的关键设计模块,如命名空间管理、缓存与一致性等,从而使读者深刻理解文件系统的运作原理。

第7章 网络存储体系结构

相比于存储阵列,网络存储系统在扩展性、稳定性及共享访问等方面具有优势。这一章介绍网络存储系统体系结构的发展历程:从最初的直连式存储到集中式网络存储(例如网络附属存储和存储区域网络),再到并行存储、P2P存储及云存储。此外还介绍存储虚拟化、软件定义存储、超融合架构等前沿技术。

第8章 分布式存储系统

分布式存储系统将数据分散存储在多台服务器中,以应对持续增长的数据量。这一章首先介绍分布式存储系统典型架构及其关键衡量指标,然后分别介绍分布式键值存储系统、分布式对象存储系统、分布式块存储系统及分布式文件系统。对于每一类分布式存储系统,我们通过介绍系统实例使读者熟悉其中的关键技术。

第9章 存储可靠性

高可靠性是数据存储的核心诉求之一,这一章首先介绍存储可靠性的基本概念,然后阐述硬盘可靠性和闪存介质可靠性问题,随后分析纠删码技术原理及发展趋势,最后介绍分布式存储系统的可靠性问题。

第10章 存储安全

存储安全事故会导致用户隐私数据泄露甚至彻底丢失。这一章首先介绍存储安全的理念和安全体系,然后介绍存储安全的关键技术,包括系统安全、数据安全及安全管理等。此外,这一章还介绍最新的硬件安全技术,比如 TEE(Trusted Execution Environment,可信执行环境)技术。

第11章 数据保护

这一章介绍如何对数据进行保护,包括镜像、快照及克隆等技术。此外,我们还介绍了数据保护的三大类场景,即备份、归档和容灾,在这些场景中,数据保护具有不同的作用和定位。

第12章 存储维护

存储系统的复杂度日益提高,维护难度也随之增长。这一章介绍存储维护中的预防性维护和纠正性维护,其中前者用于预防存储系统发生故障,而后者用于修复已发生的故障。

第13章 存储解决方案

这一章介绍不同场景的存储解决方案,包括运营商、政务融合场景、金融行业、医疗行业及教育行业等,读者能够通过场景实例了解如何根据不同需求设计高效的数据存储方案。

第14章 存储技术趋势与发展

这一章介绍存储技术趋势与发展,分别介绍了存内计算、持久性内存、在网存储、智能存储、边缘存储、区块链存储、分离式数据中心架构、高密度新型存储等前沿技术。

致谢

很荣幸在此感谢一起完成本书的人:清华大学存储系统团队的陆游游副教授,陈游旻博士后、张余豪博士后,汪庆、程卓、吕文豪、颜彬、林家桢、冯杨洋、李俊儒、高健、李泽祺、范如文等博士研究生,厦门大学沈志荣副教授、李乔副教授、高聪明副教授等;以及华为技术有限公司的周跃峰、庞鑫、张福鹏、张国彬、王振、丁志彬、梁佳妮、杨天文、董伟、顾学虎、张南东、王升、闫鹏、李兆男、李国杰、覃国、杨俊涛、廖志坚、晏大洪、潘浩、王鹏、李楚、章鹏、饶成莉、曹长斌、仇幼成、王伟、黎超、李强、张颖、徐旭东、陈卫屏、曾洋洋、刘健、夏冰心、杜翔、曾红丽、陈克云、周希锋、周晓峰、袁琦钊、唐国辉、卢建刚、何杰、戴维、黄蓉、孙林、祁晨睿等。

第1章 数据存储的背景

数据存储是将信息保存在某种介质上供后续读取的技术。早在远古时代,人类在还没发明文字的时候就通过在绳子上打结来存储数据,即《周易》中所记载的“上古结绳而治”。随着人类社会的进步,数据开始以文字的形式存储在甲骨、竹筒、纸张等介质上。到了当代,信息技术的爆炸式发展催生了各种用于存储数据的硬件设备,如磁带、磁盘等;同时,存储数据的工具也转变为计算机,通过运行在计算机上的存储软件系统对存储硬件设备上的数据进行管理与访问。

如今的人类社会在以前所未有的速度制造数据,预测在2025年其总量将达到181 ZB,需要约2000亿块1 TB的磁盘进行存储。面对如此海量的数据,存储扮演着至关重要的角色。在这一章,我们将介绍数据存储在信息时代的重要性,以及它的一些主要目标。

1.1 数据存储的重要性

对于个人而言,数据存储的重要性是不言而喻的:我们将具有纪念价值的珍贵照片、视频等数据存储在手机、笔记本计算机等便携设备中,并上传至云盘等高可靠存储系统,用于长期保存数据。此外,数据存储作为信息时代的基石,对经济社会及其他领域的发展具有重要作用。

数据存储促进经济发展。从直接经济效益来看,权威咨询公司高德纳(Gartner)预测2025年全球存储市场规模将达到1500亿美元。而数据存储产生的间接经济效益更是无法估计,几乎所有的行业都离不开数据存储的支撑:对于电商行业,在“双十一”购物节等重要活动期间,需要存储系统能够快速、可靠、稳定地处理与交易相关的数据访问,为用户提供良好的使用体验,保证系统在每秒交易数维持在较高水平情况下的稳定性;对于石油勘探行业,需要高性能的存储系统处理模拟油藏产生的海量数据,缩短勘探周期,提高开采效率。

数据存储提高社会治理水平。国务院在2015年发布的《促进大数据发展行动纲要》中明确指出:“数据已成为国家基础性战略资源,大数据正日益对全球生产、流通、分配、消费活动以及经济运行机制、社会生活方式和国家治理能力产生重要影响。”大数据通过分析数据之间的关系,能有效辅助处理复杂的社会问题,例如根据公共卫生的数据预测瘟疫的传播情况。而大数据的核心就是对数据进行采集、存储和分析,其中存储处于承上启下的关键位置,采集的数据需要及时地保存在存储系统中,并能够高效地服务后续的计算分析。

数据存储助力其他领域的突破。强大的数据存储能力是当今众多学科取得突破的关键,正如李国杰院士指出:“海量数据的出现催生了一种新的科研模式,即面对海量数据,科研人员只需要从数据中直接找到或挖掘所需要的信息、知识和智慧,甚至不需要直接接触研究的对象”。例如天文学界在2019年发布了人类有史以来第一张黑洞照片,这对验证黑洞相关理论具有重要意义,而这张照片的拍摄离不开数据存储的功劳:射电望远镜捕获与黑洞相关的5 PB数据被实时存储在高性能的充氦硬盘上。

1.2 数据存储的目标

正如1.1节所述,数据存储具有极高的重要性,因此一代又一代的人对其进行持续的创新设计,以达到高性能、高易用性、高可靠性等目标。本节将简单介绍这些目标以及数据存储的相关软硬件设计,这些内容也将贯穿整本书的其他章节。

1.2.1 高性能

数据存储的性能指标主要包括吞吐率与延迟,其中吞吐率指单位时间内数据存储系统能完成的操作数目,而延迟是指完成单个操作所需要的时间。高性能数据存储追求更高的吞吐率与更低的延迟,这是由持续增长的上层应用需求所驱动的。例如,“双十一”购物节的成交额逐年提升,这就要求存储系统的吞吐率匹配其上升的趋势;在延迟方面,用户越来越关注服务质量,因此存储系统要尽快地完成每一个数据访问操作,最小化用户所能感知的延迟。

为了达到高性能指标,需要对存储硬件和存储软件共同进行设计。如图1.1所示,现有的存储硬件种类多样,在性能、容量和价格方面各有优劣,例如 HDD (Hard Disk Drive,硬盘驱动器)的延迟为10 ms左右,而 SSD的延迟仅有10~100 μs。因此,提升存储系统性能最自然的方法就是采用更快速的存储硬件。但这面临着两个关键问题:首先,存储硬件的性能越好,通常它的成本会越高,导致整体系统价格昂贵,难以普及使用;其次,存储硬件的吞吐率越大,一般其容量会越小,这将限制整体系统能容纳的数据量,难以满足持续增长的海量数据的需求。因此,高性能目标的达成还需要存储软件的设计。

由于单个存储硬件的性能有限,存储软件经常将大量存储硬件组合起来,以提供更高的吞吐率。最早的技术包括美国加利福尼亚大学伯克利分校提出的RAID(Redundant Array of Independent Disks,独立磁盘冗余阵列)技术[1]。其中RAID 0将数据分散至多块磁盘,同时发挥多块磁盘的性能。除此之外,分布式存储系统也被普遍使用,该存储系统通过网络将多台存储服务器互连,向外部提供极高的聚合吞吐率,例如图1.2展示了我国超级计算机“神威·太湖之光”的分布式文件系统架构,它由80个 I/O 转发节点、144个存储节点,以及72个磁盘阵列构成,每个磁盘阵列包含60块磁盘。

提升性能还可以通过充分利用数据局部性原理设计缓存、预取等机制。数据局部性包括时间局部性和空间局部性:时间局部性是指当某份数据被访问后,在不久后将被再次访问,例如在线购物平台上某些热门商品对应的数据会被频繁地读写;空间局部性是指当某份数据被访问后,其相邻的数据也将在不久后被访问,例如当某个文件被访问后,和它处于同一个文件夹中的其余文件也很有可能被访问。利用时间局部性,存储软件在各个层级设计高效的缓存机制,将经常被访问的数据放置在更快速的系统组件中,由此能同时提升吞吐率和降低延迟。例如,在单个存储服务器中,Linux文件系统将文件数据以页缓存(Page Cache)的形式缓存在内存中,并通过 LRU(Least Recently Used,最近最少使用)算法等替换算法提高缓存的命中率;在数据中心中,经常存在由 Memcached等软件构建的分布式缓存集群,用于作为后端基于磁盘的存储系统的读缓存。利用空间局部性,存储软件也在各个层级设计了预取机制,即将未来可能要访问的数据提前从低速组件调换至高速组件。例如 Linux文件系统采用了 readahead预取算法,当文件被顺序访问时,会将后面的内容提前调至页缓存中。

1.2.2 高易用性

数据存储另一大目标就是高易用性,即上层应用应该方便地与存储系统“打交道”,将数据以一种便捷的方式写入存储系统,并支持后续的高效读取。为了提供高易用性,人们设计了不同的数据存储接口,如图1.3所示。其中语义最简单的是块接口,即整个存储空间被抽象成大小相等的数据块,每份数据块具有唯一的数字标识符,应用通过数字标识符读写对应的数据块。块接口难以表达大部分应用的数据语义,因此通常作为其他存储接口的底座,而不直接暴露给上层应用。键值接口的易用性高于块接口:它维护键值对的集合,每份键值对包括键和值两部分,均是长度可变的数据块,应用通过键来定位至对应的键值对,进行插入、更新、查询以及删除等操作。由于语义清晰、用法灵活,键值接口被广泛使用,例如亚马逊将在线购物相关的数据存储在键值系统 Dynamo[3]中。文件接口将数据组织成目录树结构,主要包括目录文件和普通文件,应用可以创建、删除和读写文件。其中普通文件存储着文件数据,目录文件记录着该目录下的普通文件以及其他目录文件的名字,每个文件具有权限等属性,用于访问控制。文件系统这种层次化结构十分适合普通的计算机用户,因此几乎所有的桌面操作系统都自带文件系统,为用户提供管理数据的易用方式。此外,为了进一步方便用户使用,还存在针对键值接口和文件接口的扩展,比如有的键值存储系统支持通过多个键查询同一份数据,即二级索引功能;有的文件系统支持事务语义,即保证多个文件操作的原子性。

除了存储接口方面,支持数据共享也是易用性的关键。存储阵列虽然解决了容量和性能的限制,但无法进行数据共享,即位于不同位置的用户无法访问同一份数据。随着网络技术和存储协议的发展,数据存储开始朝网络化共享的方向迈进。例如 NAS(Network Attached Storage,网络附接存储)支持通过局域网共享文件。此外,更大规模的分布式存储系统也在追求极致的共享能力,例如,Facebook的分布式文件系统 Tectonic[4]能够提供数据中心级别的数据存储功能,同时支持不同应用,达到了极高的资源利用率。

1.2.3 高可靠性

数据存储的高可靠性是指在系统面对异常情况时,数据不丢失且服务不中断。异常情况有很多种,包括磁盘失效、服务器崩溃、网络故障及人为事故等,根据 Facebook 的报告,在一个拥有3000台服务器的生产集群中,一天最多会有110台服务器崩溃。若数据存储的可靠性没得到保证,会造成严重的后果,例如,2017年亚马逊的 S3存储系统发生了持续5小时的故障,影响数十万个网站的正常访问,造成约1亿5000万美元的损失。

实现高可靠性的基本方式是提供数据冗余,主要包括多副本和纠删码两种机制。如图1.4所示,在多副本机制中,每份数据被重复存储在多个不同位置,因此当某个位置的数据由于某种异常事件无法被访问时,其余位置的数据仍然能够提供服务;而在纠删码机制中,系统将多份数据通过某种编码方式计算出若干份校验块,并将这些数据与相关校验块存储在不同位置;当无法访问某份数据时,其内容可通过校验块和其余数据重新计算获得。相比于多副本机制,纠删码机制具有更低的存储空间开销,但计算和恢复开销更高。对于一个成熟的存储系统,在每个层级都具有相应的可靠性保障:在存储设备层,利用 LDPC(Low-Density Parity-check Code,低密度奇偶校验码)等纠错机制检测数据是否出现错误并尝试修复数据;在服务器层,基于 RAID 机制的磁盘阵列机制可以容忍某个存储设备的失效;在集群层,通过分布式多副本机制或分布式纠删码处理服务器的异常事件。此外,数据还有可能被周期性地备份和归档。

尽管上述机制从理论上能保证数据存储的可靠性,但存储软件是由程序员通过代码编写而成的,若代码中存在漏洞,仍然会造成数据内容发生错误。例如存储软件并发访问处理不当会导致数据内容混乱。因此,为了获得高可靠性,存储软件还需要进行大量的正确性测试,甚至采用一些形式化的手段。亚马逊构建新一代对象云存储系统时,运用了轻量级的形式化方法去验证存储软件在接口语义、数据一致性、并发访问正确性等多个方面是否符合预期[5]

1.2.4 其他目标

除了高性能、高易用性和高可靠性,数据存储还需满足如下的目标。

高性价比。数据存储追求极致的性价比,希望在更低的单位价格下提供更高的性能。为了达到高性价比,常用的做法是进行存储分级,即将热数据保存在高速存储设备上(如 SSD),而将冷数据保存在低速存储设备上(如磁带)。

高安全性。数据存储还需要考虑安全性,以防止用户隐私数据被泄露等严重事件的发生。为了获得高安全性,常用的做法包括数据加密、访问控制、隐私计算等。

高可扩展性。正如前文所述,分布式存储系统通过组合多台服务器,实现高性能数据访问。设计分布式存储系统的重要目标之一就是高可扩展性,即当加入新的服务器时,系统整体性能能够按相应比例提升。为了达到高可扩展性,存储软件需避免某些服务器成为性能瓶颈,常用的做法包括配置负载均衡机制、数据动态迁移机制等。

参考文献

[1] PATTERSON D A, GIBSON G, KATZ R H.A case for redundant arrays of inexpensive disks (RAID)[R/OL].(1987-12)[2023-04-05].

[2] LIN H, ZHU X, YU B, et al.Shentu: processing multi-trillion edge graphs on millions of cores in seconds[C]//SC18: International Conference for High Performance Computing, Networking, Storage and Analysis.IEEE, 2018: 706-716.

[3] DECANDIA G, HASTORUN D, JAMPANI M, et al.Dynamo: Amazon's highly available key-value store[J].ACM SIGOPS operating systems review, 2007, 41(6): 205-220.

[4] PAN S, STAVRINOS T, ZHANG Y, et al.Facebook's tectonic filesystem: Efficiency from exascale[C]//19th USENIX Conference on File and Storage Technologies (FAST 21).2021:217-231.

[5] BORNHOLT J, JOSHI R, ASTRAUSKAS V, et al.Using lightweight formal methods to validate a key-value storage node in Amazon S3[C]//Proceedings of the ACM SIGOPS 28th Symposium on Operating Systems Principles.2021: 836-850.

相关图书

分布式对象存储——原理、架构及Go语言实现
分布式对象存储——原理、架构及Go语言实现
信息存储与管理(第二版):数字信息的存储、管理和保护
信息存储与管理(第二版):数字信息的存储、管理和保护

相关文章

相关课程