^mmmm2021年第05期
(总第221期)分布式系统设计中NewSQL数据库技术的应用
奚军庆\李绍俊%李波2
(1.中华人民共和国司法部信息中心,北京100020; 2.嘉诚信息技术股份有限公司,北京100089)
摘要:数据库是信息化关键支撑技术,伴随着物联网、移动互联网、云计算及数据采集技术的发展,分布式系统成为信息 化主流,对数据的存储和管理在数据量及处理模式上提出了新的挑战。首先分析了基于传统集中式存储与管理模式在 处理和应用大数据方面的局限性,然后在分析数据库发展历程的基础上,结合大数据存储对数据库存储能力的可扩展性 及数据处理和访问的高并发以及一致性要求,厘清分布式数据库的概念、主要特征及发展趋势,剖析NewSQL数据库关 键技术,探讨分布式数据应用的结构体系和策略。
关键词:分布式系统;关系数据库;NewSQ L数据库;弹性扩缩容;分布式一致性
中图分类号:TP311 文献标识码:A文章编号=2096-9759(2021)05-0064-04
Distributed System Design Based on NewSQL Database
Xi Junqing1,Li Shaojun2,Li Bo2
(1.Information Center,Ministry of J ustice of the People*s Republic of China,Beijing 100020, China;
2.Jiacheng Information Technology Co.,Ltd,Beijing 100089, China)
Abstract:Database is the key supporting technology o f inform atization.W ith the development o f Internet o f things,mobile Internet,cloud computing and data acquisition technology,distributed system has become the mainstream o f i nform ation technology,which poses new challenges to data storage and management in terms o f data volume and processing mode.Firstly,the lim i-tations o f the traditional centralized storage and management mode in processing and applying big data are analyzed.Then,based on the analysis o f the development history o f database,the key technologies and Application Strategies o f N ewSQL database are analyzed in combination w ith the scalability o f big data storage for database storage capacity and the high concurrency and consistency requirements o f data processing and access.
Key words:distributed system;relational database;NewSQL database;elastic expansion and contraction;distributed consensus
〇引言
新技术的发展给数据存储与管理提出了新的挑战,物联 网、工业互联网、云计算和移动计算技术及应用的蓬勃发展,使信息化领域的数据量和应用模式发生了巨大的转变,远远 超出传统的单机版数据库的处理能力[1];此外,传感器技术的 快速发展,使得数据的时空分辨率快速提升,数据体量和时效 性上升到新的高度。新形势下,传统关系数据库在规模和数 据安全性方面存在短板,NoSQL数据库解决了分布式问题,但 在分布式一致性方面进行了折衷。N ewSQ L数据库被设计为 兼顾关系数据库强一致性特征及N oS Q L数据库分布式能力 的新一代数据库管理系统,在实际应用中已取得较好的效果。本文将分别阐述上述三类数据库管理系统及技术的进展与发 展趋势,重点对NewSQL数据库在数据模型、计算模型和体系 结构等方面的关键技术思路及应用策略进行探讨。
数据库系统萌芽于上世纪60年代,数据库之前,计算机 操作系统局限于文件操作,数据的管理通过文件系统实现。数 据库系统给数据的管理赋予了整体性、统一性,在结构、编码、表示格式和访问接口等方面做到了标准化、规范化,大幅促进 了数据的流转效率和价值显现。数据库快速越过了单机桌面 式数据库时代,在IB M、O rale和M icrosoft等厂商的推动下,进入了基于Clienl/Server体系架构的关系数据库时代。在这 一时代,基于广泛的应用基础,数据库技术蓬勃发展并发扬光 大,成为信息技术领域核心支撑技术,在标准统一接口、查询处理优化、并发控制和数据完整性约束方面形成完整的技术 体系。
网樓9
SQL
T crad a iu
1聊_邙Sybo«
G F S
BigT ablt VoltDB
O ccanB asc
Gf«oP|_ S M r
H D B/T iK V
19G0S 1970198019902〇j}〇2010*:
SQLServer
PattgfcSQ L1
1
H ana:
MySQL S h a td in g
C c u sa n d ra
MongnDB
NoSQL -
N ewSQ L-
图1数据库技术与产品发展演进
由于事务处理过程对A C ID属性的严格要求,关系数据库 均设计为中心服务器模式,扩展性严重受限,随着大数据时代 的到来,NoSQ L数据库在信息化领域开始占据重要地位,为提 升系统存储和处理海量数据的能力,NoSQL放弃关系模型,也 不保证支持A C ID事务处理。
近年来,以Google提出的Spanner为代表的新型数据库 (NewSQL)的出现,给数据存储和分析带来了
关系数据库和 N oSQ L之外的新思路,N ewSQ L提供与N oSQ L相当的可扩
收稿日期=2021-03-30
作者简介:奚军庆(1977-),男,浙江台州人,硕士,工程师,主要研宄方向:分布式数据库与数据分析;李绍俊(1978-),男,博士,教授级髙级工 程师,主要研宄方向:分布式数据库与数据治理;李波(1979-),男,主要研宄方向:分布式数据库与数据应用。
64
展性和性能,同时支持关系模型,能支持和同时满足原子性 (Atomicity)、一致性(Consistency)、隔离性(Isolation)、持久性 (Durability)特性(下文简称为ACID)的事务,以及能够保障数据的强一致性,是未来大数据存储新的发展方向。
1分布式系统对数据库技术的需求
随着互联网应用的快速发展,数据规模越来越大,用户数 量越来越多,应用系统必须支持高并发访问和海量数据处理 的需求。与集中式架构相比,分布式系统具有水平扩展性,可 以动态扩展计算、存储和服务节点,可以使用廉价的计算机构 建集从而实现高性能的服务,能够更好地支撑互联网业务, 分布式系统技术以及分布式数据库技术已经成为微服务架构、大数据、云计算等领域的基石。
为适应和解决好学术界、政府层、产业间等部门高度关注 的数据需求,实现海量、异构、多语义、时序、多尺度数据的采 集、存储、管理、共享、关联分析和可视化展示能力,从中产生 新知识、创造新价值、提升决策能力,分布式数据库需要实现 并解决好如下方面的需求。
1.1基于数据分片实现弹性扩展及高性能
数据分片可以突破中心化数据库单机的容量限制,从而 将数据分散到多节点,以更灵活、高效的方式来处理数据。分 片方式包括水平分片和垂直分片两种,水平分片按行进行数 据分割,将数据切割为多个数据组,并分散到不同的节点上; 垂直分片按列进行数据切割,从而将一个数据表的模式切割 为多个小的模式并分散到多个节点上。
1.2基于多副本技术提升数据安全
分布式数据库中数据元素保存多个副本,利用物理存储 资源对数据进行冗余备份,以保障不发生由于硬件故障而引 起的数据丢失,可显著提升数据容灾性、可靠性及数据安全。
但与此同时,多副本技术的引入,也为分布式数据库带来 了额外空间占用、副本创建策略、副本定位技术、副本选择策 略及多副本一致性等问题,加剧了分布式数据库技术的复杂 性。
1.3基于分布式协同算法保障数据一致性
交易类的系统往往有数据强一致性和零丢失的需求,更 新操作完成之后,任何多个后续进程或线程的访问都要求返 回最近最新值气
如果系统中没有数据副本,则系统自然满足数据强一致 性的要求,因为独本数据不会出现数据不一致的问题;但分布 式数据库系统的设计需要保存多个副本来提高可用性和容错 性,以避免宕机时数据还没有复制完成,导致提供的数据不准 确。但随着参与节点的增加,通信成本快速提升,如何低成本 地保证数据的强一致性是分布式数据库系统的重要难题。
为了减少同步通信开销和参与节点的数量,一些算法引 入了“领导者”(有时称为协调者),负责协调分布式系统内的 数据同步。分布式数据库一般采用Quorum机制来实现分布 式一致性,其数学思想来源于抽屉原理,即在N个副本中,一
次更新成功的如果有W个,在读取数据时是要从大于N-W个 副本中读取,就能至少读取到一个更新的数据。除此之外,Pa-xos和Raft也是生产系统中常用的分布式一致性协议。
2分布式数据库的分类与发展
国内外分布式数据库的发展,大体可划分为三个类型或 阶段:传统集中式数据库的分布式演进、NoSQL数据库以及NewSQL数据库[4]。
2.1传统集中式数据库的分布式演进
分布式数据发展的初期阶段是基于分布式技术对传统集 中式数据库进行分布式演进,并演化出共享数据存储模式和 无共享数据存储模式两类技术路线,前者以Oracle R A C为典 型代表,后者以M yS Q L集为典型代表。
与传统数据库相比,分布式改造后的数据库具有可伸缩、高可用等优势,但很难低成本保持数据的一致性,每次将数据 写到主节点都要及时同步从属节点,往往牺牲性能来保障强 一致性;另外,如果主节点宕机,会导致业务不可写,影响整个 系统的高可用性。
2_2 N oS Q L数据库
传统关系数据库中A C ID属性的严格要求严重限制了分 布式改造数据库的可扩展性,生产环境中此类数据库的节点 数一般不超过8个,难以满足急剧膨胀的数据增长需求。为 提升系统存储和处理海量数据的能力,N oSQ L放弃规范化的 关系数据模型,放开对数据操作的原子性、一致性、隔离性和 持久性的控制,减少查询数据类型的覆盖面[5],采用列式存储、键值存储或文档存储技术方案,在保障分区容错性的基础上,通过对于数据一致性和数据可用性的权衡和取舍,不严格追 求数据的强一致性或数据的完全高可用,从而获得腾挪空间,大幅提升了分布式数据库的弹性扩展能力及海量数据吞吐能 力。
2.3 N ew S Q L数据库
近年来,以Spanner为代表的N ew SQ L的出现,给分布式 数据库带来了新的模式和思路。NewSQ L兼具传统关系数据 库的强一致性特征,能够满足A C ID特性的事务,又保留了 N oS Q L的高可扩展和高性能,是当前及未来分布式数据库新 的主流发展方向[6]。
3 N ew S Q L数据库及关键技术
NewSQ L数据库的发展起始于Spanner数据库,Spanner 数据库是Google公司开发的兼具可扩展性和强一致性的新一 代分布式数据库,而且支持关系模型和SQL标准,支持通用开 放式互联互访接口,可以更好地低成本兼容已有业务系统[7]。基于NewSQ L技术架构体系,国内也设计研发并发展了多款 NewSQ L数据库,包括阿里巴巴的OcenBase、腾讯的DCDB 以及 PingCAP的 T iD B,其中 TiDB是基于 Google Spanner/Fl 论文实现的开源分布式NewSQL数据库®,是数据库领域国际 顶级开源项目,已成为世界NewSQL开源社区的代表,也意味 着我国在N ew S Q L数据库技术领域跻身前沿队列。下文以 T iD B为例介绍N ewSQ L数据库的关键技术。
3.1分布式存储引擎
NewSQ L数据库通过分布式且支持事务的键值对(Key-Value)存储引擎将主体数据存储在统一存储集
中,分布式节 点之间通过共识算法协议保持数据一致性,每个数据变更会 落地为一条共识算法日志,通过共识算法日志复制功能,将数 据安全可靠地同步到复制组的每一个节点中,并且只需要同 步复制到多数节点,即可安全地认为数据写入成功,此时即使 有一定数量的机器宕机,只要不超过节点数量的半数,也能通 过共识算法协议自动补全副本,保证存储的可靠性和服务的 高可用性。
数据以组域为单位进行存储、计算和复制,存储空间被划
65
分为多个组域,并分布于多个节点上,并且尽量保证每个节点 上服务的组域数量大致相当,并且尽可能均匀地分散在集 中所有节点,实现了存储容量水平扩展的同时也实现负载均 衡。以组域为单位做数据分散和复制,就为数据库增加了容 灾能力,不用考虑磁盘故障而产生的数据丢失的问题。数据 分布式存储示意图见图2。
图2分布式存储
3.2实时分析和查询引擎
N ew S Q L数据库在传统关系数据库的主键索引模式外,引入次级索引机制w,实现面向超巨量数据的快速灵活维度筛 选,并实现跨行、跨表、跨库的一致性事务支持,同时无缝智能 接入Spark生态,
实现区间裁剪、计算下推[1°],提供实时分析和 复杂在线分析查询能力。在查询过程中为了避免大量调用远 程执行函数的增加开销,将S Q L中的谓词条件被下推到存储 节点计算,只需要返回有效的行,避免了无用数据的网络传输, 每个节点只返回当前节点符合条件的数据或统计结果,在解 析层将各个节点返回的数据结果进一步汇聚处理,并得到最 终结果。运行示意图见图3。
图3计算下推、逐层返回数据
3.3HTAP混合负载架构
NewSQ L数据库结合了内存存储、无锁执行等联机交易 类型数据库的新技术,以及列式存储类的在线分析类型数据 库的技术,可以在不需要数据复制的情况下同时执行联机交 易类业务(OLTP)和在线分析类业务(OLAP),可称之为HTAP 混合负载架构,是当前NewSQ L数据库的热点研究方向[11]。
混合负载架构使用列存储方式,可兼顾强一致性与良好 隔离性。列存储借助数据分析库的高效处理层,同时依赖分 布式协同多方共识算法,以组域为单位进行数据复制和分散,提供了与键值存储一样的分布式特性。
3.4分布式事务
NewSQL数据库釆用分布式存储提高扩展性、可靠性,同时在原子一致性事务支持上带来了复杂性。
键值存储领域普 遍采用谷歌在BigTable中使用的Percolator事务模型,而New-SQL数据库还需要以两阶段提交协议的方式支持分布式事务,并保证事务正确执行,在并发事务不是修改同一行数据时,可 以跳过获取行锁的过程而提升性能。
4 NewSQL数据库的优势
NewSQL数据库可以从整体的角度设计和实现统一的数 据平台,引入统一集、统一存储、统一服务和统一安全的架 构思想,并体现出如下方面的优势。
4.1资源共享
通过统一集将分散的可用服务器资源整合并统一对外 提供服务能力,可更加合理地规划和使用整个集的资源,突 破小集的局限,并且能够实现细粒度的资源调度机制,提升 整体资源利用率。
4.2数据共享
通过统一存储架构将组织内部的所有数据集中存储在一 个集内,方便进行各种业务数据的整合使用,有利于结合业 务对数据进行关联分析,充分利用全量数据分析优势。同时 可以实现多样化业务数据统一定义和存储,有效避免数据重 复存储和沟通成本增长问题。
4.3安全保障
数据库面临两大类安全问题,一类由单点故障、网络故障 等自然因素引起,分布式数据库通过多节点部署及适当的冗 余策略,天然具备应对单点故障的能力保障;另一类安全问题 则来自于网络上的无意或有意攻击,包括窃听、重发攻击、假 冒攻击、越权攻击、破译密文等,分布式数据库建立统一安全 架构,从平台层面出发,实现整体安全保证方案,通过统一鉴 权、保密通信、细粒度资源隔离与访问控制以及库文加密等手 段,可更有效地保障数据资产安全。
4.4易于使用
数据库应用系统可聚焦于业务的梳理和实现,不再需要 过多关注集服务的维护和监控等平台底层细节,应用开发 者使用平台服务接口进行应用开发,数据科学家、数据分析 人员亦可直接使用平台提供的工具进行交互式数据查询与 分析。
5结语
综上所述,分布式数据库技术对数据的存储和管理在数 据量和处理模式上提出了新的挑战,推动了传统集中式数据 库的分布式改造,也推动了 N oS Q L数据库和N ew S Q L数据 库的产生、发展与深度应用。传统数据库分布式改造受限于 强一致性约束,难以实现海量规模;N oSQ L数据库以牺牲一 致性或可用性为代价,虽然实现了弹性扩展能力和海量数据 吞吐能力的大幅提升,但同时也影响了在交易类强一致敏感 系统中的应用;N ew SQ L数据库兼具了传统集中式数据库和 N oS Q L数据库的优势,分布式和微服务的关系
代表了当前和未来数据库管理系统 的主流趋势。随着云原生技术体系的发展,以及更廉价而丰 富的计算资源的出现,N ew SQ L数据库的应用范围和前景会 更加广泛。
66
^ mmmm
2021年第05期
(总第221期)
云数据中心异地迁移的设计与实现
朱彤
(西安中兴新软件有限责任公司,陕西西安710000)
摘要:目前,在云计算的浪潮下,云的安全性也显得越来越重要。当某地出现了严重的灾害,导致云服务不能正常运转 时,我们需要将此地的服务数据迁移到另一个地方。为此云上的应用及服务提供一定的安全保障是现在急需解决的问 题。当某服务发生故障,我们便需要把该服务迁移走,避免占用数据中心的资源。如何使用V X L A N 技术在云环境下迁 移虚拟机是技术的核心问题。关键词:V X L A N ;虚拟化;虚拟机迁移中图分类号:TN 929.1
文献标识码:B
文章编号:2096-9759(2021)05-0067-03
Design and implementation of remote migration of cloud data center
Zhu Tong
(X i'an Zhongxing new software Co ., Ltd , xian 710000)
A bsrtact : A t present , in the wave o f cloud computing , cloud security is becoming more and more important . When a serious disaster occurs in a certain place , leading to cloud services can not w ork normally , we need to migrate the service data o f this place to another place . Therefore , it is an urgent problem to provide a certain security guarantee for the applications and services on the cloud . When a service fails , we need to migrate the service to avoid occupying the resources o f the data center . How to use vxlan technology to migrate virtual machine in cloud environment is the core problem o f the technology .Key words : vxlan , virtualization , virtual machine m igration
〇引言
近几年来,计算机技术像是被人们挖掘到了极致,技术像 井喷一般疯狂向外扩展,虽然计算机技术日
新月异但其中-云 计算显然是最引人注目的技术,而它也凭此成为IT 领域最受 欢迎的主题之一,当前大型企业、互联网的IT 建设都将其视为 需要考虑和投资的重要领域。云计算中包含很多便捷的计算 机技术,但其中最核心的技术便是虚拟化技术,其核心思想便 是将物理服务器所拥有的各类物理资源进行抽象重组并将其 转换为虚拟资源,再提供给需要的使用者。被转换的虚拟资 源不再受到物理位置的限制,可以按需提供资源,使用户可以 突破物理资源之间位置的限制,计算机资源不再是像蜗牛一 样缓慢爬行地消耗而浪费时间。
要想实现虚拟化资源动态整合,虚拟机迁移技术是无法被遗忘的。迁移服务器使用户可以在使用一台服务器的情况
下通过网络使用云上的服务器,这样便不再需要用户使用本 地大量服务器来完成自己的任务,用户的存储空间和资源的 浪费也借此大大减少了。目前虚拟化最大的优势就是通过虚 拟机依靠云在不同主机之间发生的迁移,来进行对计算机资 源更有效的分配调度。因此虚拟机迁移技术也逐渐受到国际 的广泛关注,渐渐变成云计算中的热点研究内容。
目前,国内外对虚拟机迁移的研宄主要分两种研宄方式, 那就是对虚拟机在迁移时它自身的变化的研究和虚拟机迁移 在云计算领域的应用研宄。根据虚拟机迁移时自身的变化, 或许可以到在单个数据中心多个数据中心和虚拟化的网络 中提高内存、操作系统和网络迁移效率的方法。对用虚拟机 迁移来迁移应用程序过程的研宄是为了研宄出通过该技术如 何更好地管理和调配计算机资源。
收稿日期:2021-04-21
作者简介:朱彤(1974-),男,河南商丘人,硕士,研宄方向:计算机应用。
参考文献:
[1] 周丽娜,赵跃,孙永泉.计算机网络设计中关系数据库技术
的应用分析[J ].信息通信,2020(10): 144-146.[2]
李绍俊,杨海军,黄耀欢,等.基于NoSQL 数据库的空间大数
据分布式存储策略[J ].武汉大学学报(信息科学版),2017,
42(02): 163-169.
[3] 徐闯.计算机网络设计中关系数据库技术的应用[J ].信息 技术与信息化,2016(03):57-59_
[4] 崔斌,高军,童咏昕,等.新型数据管理系统研宄进展与趋势
[J ].软件学报,2019, 30(01): 164-193.
[5] 刘英博,魏凯.大数据软件产品研发进展及挑战[J ].科技导
报,2020, 38(03): 84-93.
[6] 陈超.Spanner 数据库初探[J ].计算机与现代化,2013(04):
70-72.
[7] 李绍俊,钟耳顺,周芹,等.开放式空间数据库访问接口的开
发应用[J ].地球信息科学学报,2013,15(02):193-199.
[8] Huang Dongxu , L iu Q i , Cui Qiu , et al . TiD B : a Raft-based
HTAP database [J ]. Proceedings o f the V LD B Endowment ,
2020,13(12): 3072-3084.
[9] 兰海,韩珂,申烁,等.T iD B 的多索引访问优化[J ].计算机应
用,2020,40(02): 410-415.
[1〇]杨刚,杨凯.大数据关键处理技术综述m .计算机与数字工
程,2016,44(04): 694-699.
[11]徐述,汪彦,曾海洋,等.大数据应用下的新型分布式数据库
NewSQL [J ].数字技术与应用,2018, 36(08): 51-52.
67
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论