资讯专栏INFORMATION COLUMN

可怕!数据库竟然打破安迪-比尔定律

andong777 / 3348人阅读

摘要:通过技术手段解决这些问题正是自研新一代云数据库的出发点。通过对数据持续的保护,充分保障业务的稳定和数据的持久性,可靠性达。综上所述云数据库是腾讯云继续提升丰富,开放云计算能力的重要里程碑,也推动了社区生态的进一步完善。

欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

CynosDB是腾讯云自研的新一代高性能高可用的企业级分布式云数据库。融合了传统数据库、云计算与新硬件的优势,100%兼容开源数据库,百万级QPS的高吞吐,不限存储,价格仅为商用数据库的1/10。

Cynos源于拉丁语中的Cynosura,古希腊神话中北极星的名字,意为焦点,引人注目的人或物。
云数据库的演变之路:

云计算时代,越来越多的企业通过“接入云” 完成数字化转型和升级, 同时也对云服务提供商提出了更高的要求。以传统的方式,将Oracle 和 Microsoft SQL Server等长期以来主导企业解决方案的数据库以“Lift and Shift”的方式直接搬到云上提供托管服务并不能满足用户在扩展性,可靠性等方面的需求,授权许可费用也使得订阅计费的方式不能从根本上降低数据库的使用成本。通过技术手段解决这些问题正是自研新一代云数据库CynosDB的出发点。

公有云的核心技术是资源池化和弹性调度。资源池化是实现扩展性和规模化的基础,而弹性调度的目标则是保证系统可用性的前提下尽量提升资源利用率。现阶段,资源整体上分为计算和存储,计算资源的调度相对容易, 而存储调度就意味着数据的搬迁,不仅增加耗时,还会引起计算资源的大量消耗。不幸的是,数据库本质上就是一个存储和处理数据的系统,如何在公有云上实现数据库服务的弹性调度,是近年来数据库领域的一大难题。

NoSQL数据库的出现,通过简化数据模型,减少数据之前的交互,极大的降低了系统横向扩展的难度。但这是以牺牲关系数据库的核心能力:关系对象模型为代价的。对于Google这类大型互联网公司,由于其业务逻辑相对简单,研发能力强,将相关逻辑从数据库转移到计算层不是难事,但在金融、政府、企业等传统领域,基于关系型数据库构建的系统无处不在,出于安全、可靠和成本等因素,这些系统都无法做类似的改造。

以Google Spanner和Amazon Aurora为代表的NewSQL现代关系型数据库则提供了新的思路:即既能够提供与NoSQL数据库相同的扩展性能,又可以保持传统数据库支持ACID和SQL的特性。其中以Amazon Aurora为代表的DBaaS通过对开源数据库MySQL和PostgreSQL的计算与存储解耦来实现数据库在云端的扩展和弹性调度,并将业务迁移成本和总拥有成本降到最低,得到了市场的普遍认可。

云数据库的设计理念:

Oracle 现任CEO Mark Hurd在回答Forbes的采访中提到了“节约成本和敏捷创新已成为企业上云的核心驱动力”,这也是贯穿于云原生数据库CynosDB的核心设计理念

全面兼容新版的开源数据库 “Comprehensive”

极致的内核级优化与新硬件技术相结合“Cohesive”

实现全托管智能运维“Creative”

无服务器架构的按需按量计费“Cost Effective”

让用户专注于业务端应用的研发,为用户提供灵活的、敏捷的、可持续的,兼具新特性、高性能和低成本的新一代云原生数据库服务。

CynosDB系列之PostgreSQL:

云数据库CynosDB for PostgreSQL是腾讯云和TEG数据平台部联合,基于最先进的开源数据库PostgreSQL10 倾力打造的新一代企业级分布式云数据库,重新定义了云上分布式数据库的架构:

计算层:

SQL Engine(master/slave):基于PostgreSQL 10.0版本,适配分布式对象存储接口,同时master负责同步增量日志到slave,以更新cache中的内容

Distributed Object Storage:分布式对象存储接口,屏蔽底层块存储接口的细节,负责对象的生命周期管理、数据块分配管理等工作

Distributed Block Storage:分布式块存储接口,负责将多个Storage Node上的Segment Group抽象为Logic Segment

存储层:

Segment :数据管理的最小单元,默认为10G,包含数据和增量日志

Segment Group :多个Segment通过一致性协议Raft组成一个Group,负责数据的备份和HA

Storage Node:管理多个Segment的服务,通常就是一个服务进程,负责网络通信、线程池调度等工作

Cold Backup Storage:基于增量日志的备份存储

调度层:

SQL Instance Manager:负责SQL Engine的HA

Storage Cluster Manager:负责存储层的HA,包括:故障转移、自动扩缩容、负载均衡等

计算与存储分离:

CynosDB for PostgreSQL的架构中,我们将计算与存储分离,同时实现了计算节点的无状态。这样做的好处是可以将计算节点与存储节点的故障隔离,同时以秒级的速度调度计算资源。当计算节点失效时,可以快速恢复而不需要恢复存储节点。当存储节点失效时,计算节点也可以以秒级重连新的主存储节点,使得对业务的影响降到最低。

海量智能存储:

由腾讯TEG数据平台部经过十几年的业务沉淀和技术积累打造的新一代的海量分布式智能存储,对计算和存储的资源池化提升了资源的利用率,降低了使用成本,也使得存储突破了单机的空间限制。不仅如此,CynosDB for PostgreSQL 的实现了智能存储:无最大存储量限制,按使用量计费,自动扩缩容,轻松应对突发的业务变化;自动负载均衡,利用数据存储的多副本,通过主副本切换自动从热点存储设备到空闲存储设备以转移IO压力;自动数据纠错,通过内置的校验发现存储数据的跳变,并利用其他副本数据实现页级的自动恢复。通过对数据持续的保护,充分保障业务的稳定和数据的持久性,可靠性达99.9999999%。

减少网络IO:

云数据库的分布式架构带来扩展性的同时也增加了网络开销。为了最大限度的减少网络IO,CynosDB for PostgreSQL 采用了“日志即数据库”的方案,计算层不再需要将脏页发送到存储层,而只需发送增量日志,由存储层异步的将日志转换为数据页。同时,存储层数据的多副本直接通过Raft技术来复制数据,这样计算节点只需一次I/O请求到存储层的Leader节点上即可完成写日志操作。在TPC-C基准测试中,与PostgreSQL 10.0相比,写流量减少了60%。

减少系统调用:

CynosDB for PostgreSQL 采用自研的用户态分布式对象存储系统,通过基于SPDK和RDMA的零拷贝技术,减少了操作系统上下文切换以及数据在用户态和内核态之间拷贝引起的性能损耗,进一步优化了关键路径的系统性能,降低请求延迟。

对于单块的SSD Disk,相比传统的Direct IO方式, 采用SPDK的直接数据传输无论在顺序读还是随机读模式都有超过一倍的性能提升,对比depth为1时的写性能,无论是随机写还是顺序写都有30%的性能提升。

此外,在RDMA与TCP的对比测试中,可以明显的看到4K数据的传输平均延迟缩短到6~7us,在4K数据的echo测试中,CPU使用率降低了65%。

PostgreSQL内核优化:

CynosDB for PostgreSQL在完全兼容社区版PostgreSQL10的基础上也对内核进行了深度的优化:PostgreSQL数据页写入是以Page页面为单位,社区版为了解决在写磁盘的时候“刷新数据页面时掉电,而导致磁盘上存在半页”的问题,引入了Full Page Writes,在CynosDB for PostgreSQL系统中,我们移除了这个机制。此外,社区版PostgreSQL除了刷新日志外,还需要将数据脏页刷新到存储系统中,CynosDB for PostgreSQL仅仅将日志写入到存储系统,无须刷新脏数据页,进一步减少了系统IO。

综上所述:

云数据库CynosDB for PostgreSQL是腾讯云继续提升、丰富,开放云计算能力的重要里程碑,也推动了社区生态的进一步完善。在后面的工作中,我们将结合用户需求不断完善产品功能,提供企业级特性,将更多的云计算普惠带给世界。

CynosDB近期会开放公测申请,采用邀测制,进一步的消息,敬请关注腾讯云官网(https://cloud.tencent.com/act...)。

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/62453.html

相关文章

  • 算力改变世界,算力驱动未来,算力就是生产力,算力到底是什么?

    摘要:算力能力的提升为应用软件提供发展空间,应用能力提升需要更强算力,算力能力与应用能力相互促进,驱动云计算进入算力时代。1997年,国际象棋名家卡斯帕罗夫象棋对弈IBM超级电脑深蓝,最后结果是大师输了。2016年,世界顶级围棋高手李世石与AI围棋对决,最后竟以1:4惨败于谷歌阿尔法狗。今年4月,AI电竞团队OpenAI Five与人类战队对决《dota》,2:0 完胜世界冠军OG战队。人工智能凭...

    mengera88 评论0 收藏0
  • 人工智能真的要取代人类了?

    摘要:围棋人机大战引发热议,在今天的比赛中,再一次展现了它可怕的一面。霍金也曾签署过一封公开信,呼吁在人工智能创新方面采取安全措施。除此以外,人工智能的思考是否能为人类所控制也是霍金担忧的主要原因。 围棋人机大战引发热议,在今天的比赛中,AlphsGo 再一次展现了它可怕的一面。然而对于大多数人来说,关心的并不是棋法,而是人工智能的发展竟然如此迅速,未来人工智能究竟是会对人类有威胁?还是帮助...

    kviccn 评论0 收藏0
  • 人工智能革命:人类会永生还是灭亡(中)

    摘要:对年奇点的描述是由生物技术,纳米技术以及最强大的人工智能领域同时发生的三场革命引起的。如果人类是巨大的巨人,头部可以达到国际空间站,它们将比现在大万倍。 为什么未来会是我们最大的希望 当我了解人工智能的世界时,我发现有很多人站在这里: showImg(https://segmentfault.com/img/remote/1460000019330911); 在自信角落里面的人们兴奋地...

    Travis 评论0 收藏0
  • 用计算解决科学难题,用算法让生活变得更好

    摘要:一科技企业做基础科研的意义计算科学基础研究关于计算机的基础理论计算科学用计算解决科学中无法解决的难题。在微软研究院的游学中,研究院产品演示方面更聚焦在生命科学上,可能也是因为疫情,让更多科技行业开始对生命医疗进行探索。 2021-11-24,CSDN组织了《新程序员》的读者福利活动走进名企—...

    不知名网友 评论0 收藏0
  • 一些理论应用到职场中,会给职场人士带来很深刻的启迪。据说这十大经典职场理论能让我们终身受用不尽。

    摘要:彼得原理每个组织都是由各种不同的职位等级或阶层的排列所组成,每个人都隶属于其中的某个等级。对一个组织而言,一旦相当部分人员被推到其不称职的级别,就会造成组织的人浮于事,效率低下,导致平庸者出人头地,发展停滞。   1、蘑菇管理   蘑菇管理是许多组织对待初出茅庐者的一种管理方法,初学者被置于阴暗的角落(不受重视的部门,或打杂跑腿的工作),浇上一头大粪(无端的批评、指责、代人受过),任其...

    BingqiChen 评论0 收藏0

发表评论

0条评论

andong777

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<