这两天朋友圈中刷屏最多的是达梦数据库产品发布会,众多嘉宾,群星璀璨,

此次一口气推出了达梦数据共享集群(DMDSC)、达梦启云数据库(DMCDB)、梦图数据库(GDM)、达梦新一代分布式数据库等四款产品。

达梦数据共享集群(DMDSC),由达梦公司在国产数据库领域首次推出。支持8个节点共享存储集群,而此前只支持2个节点。适应国际主流产品架构,同时全面支持国产操作系统、芯片、中间件等基础软硬件设备,致力于打造高可用的数据库解决方案,构建IT大生态。达梦数据共享集群先后在电力、电信运营商、金融、公安、电子政务、能源等行业成功应用并获得高度评价。

达梦启云数据库(DMCDB),是达梦拥抱未来云计算和现代化应用的趋势,面向新一代IT架构推出的特色云原生战略产品。产品对标国外私有云数据库产品,以达梦公司自主原创核心产品为基础,兼容国产IT基础软硬件生态,在各种基础设施环境下提供云上的数据库服务能力(DBaaS),实现数据库的“按需申请、开箱即用、秒级发放”,能够极大简化数据库使用、管理和运维流程,提升业务上线速度,同时降低投资成本。

梦图数据库(GDM),是达梦公司下属子公司蜀天梦图推出的具有完全自主知识产权的分布式图数据库管理系统。梦图数据库采用分布式架构并进行了存储优化,在兼顾性能表现与存储占用的同时,实现存储节点的横向扩展,能满足大数据时代对海量数据的存储需求。GDM还提供多种图计算算法,采用多节点并行计算,提高了大图和超大图的分析计算能力,并能同时满足联机分析处理(OLAP)和联机事务处理(OLTP)的需求。

达梦新一代分布式数据库,选择了原生分布式数据库技术路线,在设计之初就针对分布式架构进行设计,基于RAFT协议,来保证数据强一致。新一代分布式数据库可支持两地三中心或三地五中心等部署模式,实现数据中心故障、地区性灾害的容灾能力。不同于市场上一般的分布式数据库产品,该产品通用性好,在满足各种高级别的功能的同时,仍然能够保持集中式数据库的使用体验。

可以说这次的产品涵盖了当前数据库发展中主流的方向,其实不止是达梦,像腾讯云数据库CynosDB、阿里云原生分布式数据库PolarDB-X、阿里云原生数据仓库AnalyticDB、阿里原生分布式数据库OceanBase,都很早就提出了“云原生”、“分布式”这些概念,听起来很玄乎,究竟这些名词,是什么含义?自己都很含糊,通过网络学习,做个普及。

1. 云原生

“云原生”这一概念的提出者Matt Stine于2017年将云原生归纳为模块化、可观察、可部署、可测试、可替换、可处理6特质。而云原生领域影响力最大最有话语权的组织CNCF,他们给出的定义则是这样的:

云原生技术有利于各组织在公有云、私有云和混合云等新型动态环境中,构建和运行可弹性扩展的应用。云原生的代表技术包括容器、服务网格、微服务、不可变基础设施和声明式API。

这些技术能够构建容错性好、易于管理和便于观察的松耦合系统。结合可靠的自动化手段,云原生技术使工程师能够轻松地对系统作出频繁和可预测的重大变更。

云原生中的“云”表示存在于云中,而不是传统的部署于本地。比如云盘中的文件就在云中,而不是存储在用户电脑的硬盘中。“原生”则代表着应用从设计环节便考虑到云环境的因素,为云而设计,在云上运行。

一句话概括,“云原生”就是为“云”而设计,且适合上“云”。更有人形容,云原生是生在云上,长在云上,也应用于云上。

2. 云原生数据库

云原生数据库,是一种通过云平台进行构建、部署和分发的服务。这种云原生属性是他相比于其他类型数据库最大的特点。作为一种云平台,云原生数据库以PaaS(平台即服务, Platform-as-a-Service)的形式进行分发,经常被称作DBaaS(数据库即服务, DataBase-as-a-Service)。用户可以将该平台用于多种目的,例如存储,管理和提取数据。

云原生数据库通常通过在云基础设施之上安装数据库软件来实现,这种方式使得云原生数据库具备了传统数据库所不具备的直接访问性和运行时可伸缩性。

首先是普遍可访问和高可用性。因为云原生数据库是完全存在于云上的,所以他可以随时随地的从多前端访问,提供云服务的计算节点。因其集群部署在云上,所以单点失败对服务的影响特别小。而且当需要升级或更换服务的时候,可以对节点进行不中断服务的逐渐升级。

其次是高扩展性与可迁移性。云原生数据库会与底层的云计算基础设施分离,所以能够灵活及时的调动资源进行扩容和缩容,以从容应对流量激增可能带来的压力,以及流量低谷期因资源过剩造成的浪费。也正是因为能够灵活扩缩容,云原生数据库也具备很强的可迁移性,我们甚至可以粗暴的理解为在新的位置扩容100%又在旧的位置缩容全部的50%。

此外,基于高扩展性、高可用性以及可迁移性等特征,云原生数据库还具备可监控性和安全性的特征。

一方面黑箱状态下无法保证及时处理扩容、节点故障等需求和问题;另一方面全盘部署在云上且各服务之间相互独立,可以对应用或服务提供更多层的安全防护和实现许多新的容错服务。

最后是演进式设计与快速迭代。云原生数据库中的各项服务之间是相互独立的,个别服务的更新并不会对其他部分产生不利影响,而不是一旦出了问题就只能全场熄火。此外,云原生的研发测试和运维工具是高度自动化的,这使得应用的更新会更加快速频繁。

将网络资源和云更好的融合在一起,处处独立而又自然联系着,才能更充分的发挥数据库上云的优势,得到更高的效率。

云原生数据库有以下几个优点:

(1) 易处置性简单来讲,易处置性是指数据库在无需事先通知的情况下,即时处理崩溃或启动进程的能力。尽管现在有先进的技术,但是像磁盘故障、网络隔离故障,以及虚拟机异常等,仍然不可避免。

(2) 对于传统数据库,这些故障尤其有害,因为用单个机器运行整个数据库,即便一个很小的问题都可能影响所有功能。而云原生数据库的设计具有显著的易处置性,即允许虚拟机在即时通知下立即重启或重新调度。实际上,易处置性已从单个虚拟机扩展到了整个数据中心。随着我们的环境持续朝着更加稳定的方向发展,云原生数据库将发展到对此类故障无感知的状态。

(3) 增强的安全性DBaaS运行在受高度监控和安全的环境里,受到反恶意软件、反病毒软件和防火墙的保护。除了全天候的监控和定期的软件升级以外,云环境还提供了额外的安全性。相反,传统数据库容易遭受数据丢失和被不受限制的访问。基于服务提供商通过即时快照副本提供的数据能力,用户可以达成“RPO=0,RTO<60秒”的目标。

(4) 可扩展性能够在运行时进行按需扩展的能力是任何企业成长的先决条件。因为这种能力让企业可以专注于追求商业目标,而不用担心存储空间大小的限制。

(5) 传统数据库将所有文件和资源都存储在同一主机中,而云原生数据库则不同,他不仅允许你以不同的方式存储,而且不受存储问题的影响。

(6) 更好的可访问性传统数据库最重要的限制之一,是他只能通过连接数据库系统本身进行访问。而云原生数据库提供对数据库全天候的访问,以便你随时进行任何修改,而你只需要一个可以访问internet的计算机。这样一来,就消除了可能发生的潜在的延迟,同时也为多个开发人员之间的协作开辟了途径。

(7) 显著的成本节约建立一个数据中心是一项独立而完备的工程,需要大量的硬件投资,还需要能可靠管理和维护数据中心的训练有素的运维人员。此外,持续的运维会给你的财务带来相当大的压力。而使用云原生的DBaaS平台,你可以以较低的前期成本,获得一个可扩展的数据库,这可以让你腾出双手,实现更优化的资源分配。

云最开始受益的就是应用端,传统架构下曾经以“天”为单位的扩容,云端能实现“秒级”扩容,降低软硬件成本的同时,提高了系统的快速扩容能力,以应对像“双十一”这种可预见且短时间的请求量高峰。但是有些云端应用还是访问传统的数据库架构,数据库层没得到云端的实惠。现在这种云原生数据库,就解决了这问题,计算和存储分离,让数据库资源能从云端得到灵活扩容、故障快速恢复、更高的可靠性、数据快速迁移等,更快满足业务的各种需求。

3. 云原生分布式数据库

分布式数据库是由多个相互连接的数据库组成的集合,这些数据库组合在一起形成一个面向用户的单个数据库。实际上,他们分布式在各个数据中心,通过中央服务器进行通信。

正如微软的著名工程师布伦丹•伯恩斯(Brendan Burns)在其著作《设计分布式系统》(Designing Distributed Systems)中所说:“这些系统越来越重要,这意味着必须基于冗余、容错和高可用来构建这些在线系统。这些要求的融合导致需要构建的分布式系统数量增加了一个数量级。”

云原生数据库,是通过云平台进行构建、部署和交付的数据库服务,通常以 DBaaS(Database-as-a-Service)的形态,将数据库底层细节隐藏起来,提供给用户一个能够弹性伸缩,高可用、高可靠、可以随时随地访问的数据库服务,他代表了数据库的发展趋势,云原生数据库的优势,加上分布式数据库的效率,代表了未来理想的解决方案。

以下是你可能考虑采用分布式数据库系统的一些原因:

(1) 水平可伸缩性在选择正确的数据存储方式时,可伸缩性是一个重要的考虑因素。这就是云原生分布式数据库是理想解决方案的原因,因为他允许企业轻松扩展。分布式数据库的关键特性之一是跨不同数据源的计算过程彼此独立,这使得按需添加节点和调整功能变得非常容易。选择以如此大规模提高计算能力是一个强大的增长手段,他使现代企业能够以前所未有的方式在全球发展。

(2) 没有单点故障衡量应用程序性能的唯一标准是他为最终用户提供的用户体验水平。对于传统数据库,由于高度的相互依赖,中央服务器的单个问题会损害工作负载的可用性。如果一台(唯一的)服务器出现故障,则可能导致整个应用程序崩溃,而这将导致用户体验指标急剧下降。鉴于数据库系统的复杂性,而服务器崩溃是不可避免的,这进一步破坏了传统数据存储的方法。相反,由于数百台计算机服务器相互配合工作,因此分布式数据库可以确保即使多个节点发生故障,应用程序仍能继续正常运行。即使部分功能受到影响,整体功能却能正常运行。

(3) 增强的性能潜力应用程序每秒都要面对数百个针对数据库的请求,这需要强大的处理能力。对于传统的方式,可能会导致性能问题、用户界面延迟等,从而影响整体的用户体验。比如,异常多的请求甚至可能导致应用程序崩溃。而在云原生的分布式数据库中,工作负载和访问请求被分散到多个服务器和计算机系统上。这意味着每个任务都由特定系统处理,而不是通过单个系统处理。因此,数据库持续无缝地工作,并提高了工作效率。分布式数据库中的每个请求和工作负载都是并行完成的,然后将其执行结果返回给中央服务器,以便在数据库的用户端实时更新。

国产数据库正在云的道路上探索,数据库未来的发展方向,已经渐渐明朗,但是,作为学习者,还是要沉下来,打好基础,根据实际需求,有的放矢地尝试,切忌盲目跟风。

参考文献,

1. https://zhuanlan.zhihu.com/p/256965371

2. https://www.zhihu.com/question/413933600

近期的热文:

《2020数据技术嘉年华》

《MySQL异常访问的熔断机制》

《Oracle时间戳类型内部表示的转换方式》

《Oracle的批量插入操作》

《数据库结构文档的生成利器》

《主键约束索引的奇葩现象》

《如何判断应用系统性能好不好?》

《Oracle Cloud创建19c数据库》

《SQL工具集-格式化结果的SQL》

《如何捕获问题SQL解决过度CPU消耗的问题》

《如何查看JVM运行的堆内存情况》

《Oracle删除字段的方式和风险,你都了解么?》

《登录缓慢的诡异问题》

《公众号600篇文章分类和索引》

什么是云原生分布式数据库?相关推荐

  1. 阿里云开源PolarDB数据库,与社区共建云原生分布式数据库生态

    简介:5月29日,阿里云开发者大会上,阿里巴巴宣布开源云原生数据库能力,对外开放关系型数据库PolarDB for PostgreSQL 源代码,服务百万开发者,与社区开发者一起共建云原生分布式数据库 ...

  2. 李飞飞:云原生分布式数据库面临哪些机遇与挑战?

    简介:12月3日,由阿里云CIO学院主办的[2020中国企业数字创新峰会]在杭州举行.400位企业CEO.CTO.CIO齐聚一堂,共同探讨企业数字化转型经验.阿里巴巴集团副总裁.达摩院数据库首席科学家 ...

  3. 斩获大奖|阿里云PolarDB-X引领云原生分布式数据库新时代

    简介:阿里云原生分布式数据库PolarDB-X荣获"2021年度最佳分布式数据库". 12月15-16日,以"引领分布式云变革 助力湾区数字经济"为主题的全球分 ...

  4. 通过云速搭CADT实现云原生分布式数据库PolarDB-X 2.0的部署

    云速搭 CADT 是一款为上云应用提供自助式云架构管理的产品,显著地降低应用云上管理的难度和时间成本.本产品提供丰富的预制应用架构模板,同时也支持自助拖拽方式定义应用云上架构:支持较多阿里云服务的配置 ...

  5. 深度干货|云原生分布式数据库 PolarDB-X 的技术演进

    简介: 深入解读PolarDB-X的产品架构,以及分布式事务.透明分布式.水平扩展等技术内幕. 一.PolarDB-X是什么 PolarDB-X最早起源于阿里集团2009年提出用分布式架构替代传统商业 ...

  6. 十年磨一剑,云原生分布式数据库PolarDB-X的核心技术演化

    PolarDB-X前身是淘宝内部使用的分库分表中间件TDDL(2007年,Java库的形态),早期以DRDS(2012年开始研发,2014年上线,分库分表中间件+MySQL Proxy的形态)的品牌在 ...

  7. 云原生分布式数据库云平台技术选择

    Part 1 - 云平台简介 开务数据库(原:云溪数据库)云平台是由开务数据库公司开发的针对特定的开务数据库量身定做的数据库运维管理平台,其目的旨在于:提升用户对数据库部署操作的体验,为用户提供数据库 ...

  8. PolarDB-X 云原生分布式数据库 > API参考 > API参考(2017版本) > 数据库管理类 API > 删除 DRDS 数据库

    删除 DRDS 数据库 更新时间:2020-06-19 13:32:47 功能描述 删除 DRDS 数据库.该接口只是提交了删除数据库的任务,接入方需要依据 DescribeDrds 接口(查询数据库 ...

  9. mysql cbo优化器_查询优化器介绍 - PolarDB-X 云原生分布式数据库 - 阿里云

    PolarDB-X接收到一条SQL后的执行过程大致如下: 语法解析器(Parser)将SQL文本解析成抽象语法树(AST). 语法树被转化成基于关系代数的逻辑计划. 优化器(Optimizer)对逻辑 ...

最新文章

  1. was unable to refresh its cache! status = Cannot execute request on any known server
  2. 基于r-Kernel的LiteOS操作系统
  3. python安装成功第三方库但import出问题_为什么会在pyspark在RDD中调用python第三方库失败?...
  4. 自欺欺人的使用 NSTimer 销毁
  5. 数据库编程——JDBC 配置
  6. 雪豹玩家必备网站推荐:
  7. 计算机无法启动windows无线服务,win10无线服务无法启动怎么解决
  8. C++ 知识整理 函数
  9. JAVA 正则表达式4种常用的功能
  10. 里式替换(LSP)跟多态有何区别?
  11. CUDA实现QuickSortr排序算法(一)
  12. 使用 visio 画软件结构图
  13. 一种基于全息投影设备的虚拟形象交互方法及系统
  14. 得到互质数的个数——轻松认识欧拉函数
  15. fanuc机器人负载设定
  16. 计算机分析学生表字段,巧用Excel数据透视表统计分析学生成绩
  17. 地理生物结业考_不到30天,初二学年地理、生物结业考试开考,老师们说……...
  18. 给MFC控件添加提示信息
  19. Linux基础命令必知必会
  20. Android Studio安装并运行初始程序显示‘Hello World‘。

热门文章

  1. phaser3设置重力gravity、检查边界WorldBounds、边界回弹Bounce,碰撞
  2. Mysql 之 插入数据(insert into 、 replace into 解析)
  3. 关于区域网站的发展路径探索(一)
  4. sqlserver 查询时合并相同项
  5. 梯度下降算法以及随机梯度下降算法的原理及python代码
  6. Unicode编码清单的简要说明
  7. Vue、React使用微信开发标签跳转H5和小程序(最详细)
  8. Zynq-PS-SDK(9) 之 VDMA
  9. 大数据时代的智慧投教
  10. php 从放弃到坚持放弃,从坚持努力到放弃,是怎样的一种体验?