【ArchSummit架构师峰会】探讨数据与人工智能相互驱动的关系>>> 了解详情
写点什么

云数据库 UDB 的三重境界(三)

  • 2019-11-13
  • 本文字数:2584 字

    阅读完需:约 8 分钟

云数据库UDB的三重境界(三)

构建功能网:全方位覆盖用户需求题

云数据库发展第一阶段的目标是把“取代自建数据库”这个价值点做透,创造出区别于传统方式的全新价值。在第二阶段则需紧扣用户使用数据库的痛点,有针对性地推出公有云解决方案,构成一张功能网,全方位覆盖用户需求。


我们把第二阶段用户的需求归结为三类:


  • 高可用和容灾


数据库的高可用,即数据库节点容灾机制。它通过节点冗余和主备切换,在部分节点出现异常的情况下保证数据库仍可正常提供服务。数据库的高可用是大型 IT 系统的必备机制,但不少系统在建设时,受限于自身基础设施和能力,无法实现优质可靠、高等级的数据库高可用。


而这一点恰好是公有云的优势。首先是基础设施完善。公有云厂商拥有大量的数据中心,数据中心之间通过跨可用区,乃至跨地域的光纤专线进行连通,构成一张覆盖全国乃至全球的高性能网络;第二,公有云的规模效应将带来成本优势,能够显著降低基础设施的建设成本;最后,规模效应也让技术团队被超大力度地锤炼,技术能力和运营水平不断提升。基于以上三点原因,公有云是实施数据库高可用的天然优质土壤。


因此,UCloud 基于自身基础设施来构建高可用数据库产品为用户提供易获取、低成本、高等级的数据库高可用能力,自然也是题中之意,是 UDB 团队必须做透的一个目标。


  • 容量和性能


近些年的一个明显趋势是全社会各行业的数据量在高速增长。原因之一是全社会生产和生活日益互联网化,由此造成用户使用 IT 产品的次数和频率有数量级的增长;原因之二在于企业对数据的价值越来越加以重视,普遍希望能够沉淀数据、分析数据、以及从数据中挖掘出价值。


数据库系统作为 IT 系统的发动机,必然随着大数据时代的到来遭遇新的挑战。用户使用 IT 产品频次的增加,必然在性能上对数据库系统构成挑战;而全社会数据量的大规模增长,必然在存储容量上为数据库系统带来挑战。如何应对这两大挑战,且总体保持 IT 成本可控,是令用户越来越头痛的问题。对于云数据库团队而言,也是创造全新用户价值的大好机会。


  • 运维和安全


运维和安全是云数据库研发和运营永远的课题。需要围绕用户需求构建运维闭环,从数据导入导出、数据库运行期管理/问题排查,到性能分析、数据库优化,让用户不使用任何第三方运维工具,即可将云数据库运维工作全部搞定。在安全上,除了 DBMS 自身的用户访问控制机制之外,还应该围绕审计、加密、防恶意攻击等方面为用户提供优质的产品或功能,构建数据库安全运营闭环。


下面将展开介绍 UDB 产品围绕高可用和容灾、容量和性能、运维和安全这三个方面,构建的众多功能点。这些功能点和功能点的组合构造出一张大网,全方位覆盖用户需求。

高可用和容灾


以上用一个表格概括介绍了 UDB 高可用各功能点。但不能概括的是表格背后 UDB 团队对高可用的潜心专研和精心打磨。总的来说,UDB 团队对高可用这个价值点的打磨包括以下几个方面:

MySQL 数据库内核深度优化

经过 MySQL 官方和社区多年的打磨,MySQL 软件在可靠性和性能上表现优秀,达到了工业级别的数据库管理系统要求,在各个行业都有大规模的应用。


但对于 UDB 团队来说,在线维护几万个 MySQL 实例的稳定运行,迫使我们对 MySQL 的可靠性、容灾能力和性能提出更高要求。为此,UDB 团队对 MySQL 数据库内核做了深度优化来进一步锤炼 MySQL 软件的品质。


这些优化包括:


1.改进半同步复制机制

2.解决复制的临界事务问题

3.提升主从复制的 IO 性能

4.消除复制机制中的文件锁竞争问题


限于篇幅不展开对内核优化的论述,更详细的内容请看详细介绍

全面的容灾能力


高可用 UDB 的总体架构图如上,在容灾能力的建设上需要考虑到两个层面。


a.MySQL 节点的容灾


利用成熟的代理软件 HAProxy 作为代理网关来转发 SQL 请求,主数据库节点出现异常时,由 HAProxy 将 SQL 请求切换到从节点。HAProxy 成熟的节点健康检查和切换机制能够及时有效地检查数据库节点异常,并进行切换。


b.HAProxy 节点的容灾


所谓高可用必须是系统内全部模块去单点,为此也需要考虑 HAProxy 的容灾。普通的做法是利用 KeepAlived 等节点健康监测和故障处理软件,来实现多 HAProxy 节点的部署和容灾。但在长期的工业生产环境中,人们发现 KeepAlived 存在误检测和脑裂等问题,这存在一定的稳定性隐患,不满足云平台容灾的需求。


为此,UDB 团队自研了针对 HAProxy 节点的健康检查和容灾系统,来充分保证高可用 UDB 的稳定性和容灾能力。HAProxy 健康检查和容灾系统采用多节点、跨可用区部署,节点之间通过分布式一致性算法进行选主,结合 UCloud SDN 的 VIP 漂移能力,能够在单可用区完全不可用的情况下实现 HAProxy VIP 的及时准确漂移确保 UDB 实例的高可用。

容量和性能


在上一篇文章提到去年某技术博客公布了国内三大云数据库产品的评测结果,UDB 性能超出竞品数倍。时隔一年后的一个偶然机会,UCloud 云数据库团队得到一份关于某云服务商数据库的性能测试报告,想要详细获取此份报告请点击这里 。根据这份报告,我们对比测试了 UCloud 分布式数据库 UDDB 的性能,以此来分析一年过后各云厂商在分布式数据库的性能差距。



从这个结果我们看到:以该份测试报告为基准,对比测试 UCloud 分布式数据库 UDDB,我们相对竞品,UDDB 依然保持 2-3 倍的性能优势。这也充分说明了物理机+Docker 架构的在性能上的强大优势,也体现 UDDB 中间件强劲的性能。


UDDB 测试环境如下:


运维和安全

UDB 全景图

经过一、二阶段的发展,UDB 产品已经成长为基础扎实、品类完善、功能全面的一个云数据库产品体系。结合上篇第一阶段的 UDB 产品全景图, 叠加 UDB 团队在第二阶段做的工作, 得到新阶段的全景图如下:



在第一阶段的基础上,UDB 产品围绕用户使用云数据库的痛点需求构建了三个方面的能力:

高可用能力

基于全球数据中心间的高速网络,结合数据库软件自身的数据复制机制,以及自研的容灾检测、处理能力,不同级别的数据库高可用能力得以构建。包括同机房高可用、跨机房高可用、跨地域高可用、两地三中心高可用以及跨机房跨地域从库。

容量和性能问题解决方案

提供读写分离、分布式数据库两大产品,有效解决用户在数据高速增长下遭遇的数据库性能和容量问题。同时 TokuDB 压缩存储引擎提供很好的压缩率,在不损失性能的同时为用户节省数倍成本。

运维和安全

在运维方面提供面向 DBA 的数据迁移工具 DTS,以及面向开发团队定位为开发人员身边的自动化 DBA 专家的 DBAMaster 产品。在安全上提供存储加密和数据库审计功能。


2019-11-13 18:52627

评论

发布
暂无评论
发现更多内容

软件测试/测试开发丨Python常用数据结构-集合Set

测试人

Python 程序员 软件测试 测试开发

软件测试 | 测试工具与技术总结

测吧(北京)科技有限公司

测试

星辰天合公司产品完成阿里云PolarDB数据库产品生态集成认证

阿里云数据库开源

polarDB PolarDB-X PolarDB for PostgreSQL

[BitSail] Connector开发详解系列二:SourceSplitCoordinator

字节跳动数据平台

软件测试/测试开发丨Python常用数据结构-元组Tuple

测试人

Python 程序员 软件测试 元组 tuple

超算环境为什么不推荐使用 NFS

焱融科技

#高性能 #分布式文件存储 #文件存储

Clang-Format用法详解

Linux内核拾遗

vscode Clang 代码风格

浅谈业务级灾备的架构模式

得物技术

运维 稳定生产

华为云代码托管CodeArts Repo:保护企业核心代码资产安全

华为云PaaS服务小智

云计算 华为云 代码托管 华为开发者大会2023

前端开发需要了解的工具集合

树上有只程序猿

对线面试官-Redis(六 如何保证 Redis 高并发 主从复制原理)

派大星

Java 面试题

打工人都在用的AI工具

不在线第一只蜗牛

人工智能 工具 ChatGPT

云原生K8S精选的分布式可靠的键值存储etcd原理和实践

不在线第一只蜗牛

云原生 k8s etcd

Monibuca 中的内存复用

不卡科技

GC go语言 流媒体开发 内存池 Monibuca

软件测试 | 性能测试人力资源规划

测吧(北京)科技有限公司

测试

prometheus Histogram 统计原理

蓝胖子的编程梦

Grafana Prometheus #Grafana #Prometheus #监控

沙漠觅绿洲——华为HMS生态强势赋能伙伴成功掘金中东非

最新动态

软件测试 | 接口自动化测试,如何实现多套环境的自动化测试?

测吧(北京)科技有限公司

测试

云堡垒机比硬件堡垒机便宜吗?为什么呢?

行云管家

网络安全 堡垒机 硬件堡垒机

Rust重写万行C,太有必要了!

高端章鱼哥

rust C语言

用Vue3编写一个简单的组件

互联网工科生

Vue 3 slots

软件测试 | 测试设计技巧—游戏类

测吧(北京)科技有限公司

测试

如何通过云管平台实现降本?降低云成本?

行云管家

云计算 云平台 云资源 云成本

软件测试 |瓶颈分析方法

测吧(北京)科技有限公司

测试

网心科技入选2023年“边缘计算技术创新先锋案例”

网心科技

边缘计算 边缘云 AIGC

AI for Science交流会来了!科学计算前沿邀您共同探讨

飞桨PaddlePaddle

人工智能 百度 paddle 飞桨 百度飞桨

陶建辉在“2023 可信数据库发展大会”发表演讲,TDengine 入选中国数据库产业图谱

爱倒腾的程序员

涛思数据 tdengine 时序数据库

以“信”数智,筑“广”生态:亚信科技CEO高念书受邀出席中国广电数字化赋能大会

亚信AntDB数据库

数据库 AntDB AntDB数据库

极限科技受邀参加 2023 可信数据库发展大会并入选 “中国数据库产业图谱”

极限实验室

中国信通院 数据库· 北京 极限科技 2023可信数据库发展大会

华为Mate X3、P60系列用户隐藏福利:唤醒小艺解决相册搜图难题

最新动态

直播软件开发知识:实现感知网络质量功能

山东布谷科技

源码 软件 软件开发 直播 源码搭建

云数据库UDB的三重境界(三)_服务革新_UCloud技术_InfoQ精选文章