写点什么

华为云分布式数据库和高性能数据库技术内幕

  • 2020-04-03
  • 本文字数:1642 字

    阅读完需:约 5 分钟

华为云分布式数据库和高性能数据库技术内幕

伴随着云时代的发展,数据库的故事仍然在继续。无论是商业版 Oracle 还是开源社区版 MySQL,数据库技术从烟囱式发展到联邦式,再演进到分布式,上云方式也从 DIY(Do It Yourself)上云、服务化上云到云原生设计。他们越来越被广泛关注,并以燎原之势影响着现代企业的方方面面。


那么,数据库到底有哪些技术原理及内幕呢?


众所周知,在云计算的背景下,企业 IT 业务正走向跨地区、全球化部署,IT 应用软件逐渐云化、分布式化。数据库作为承载企业业务和应用的关键,其基于云场景架构设计,具备跨地区分布式部署的能力要求也日益凸显。


如前文所述,数据库技术的演进,是从烟囱式、到联邦式、再到分布式的一个过程。

烟囱式数据库

烟囱式数据库普遍采取主备从多副本部署架构,通过 Proxy 统一响应 APP 的读写请求,主要适用于访问流量较稳定,压力不大的单数据库系统,支撑单业务系统。


它的主要挑战在于可用性和扩展性方面。可用性取决于具体方案,一般不具备 Region 容灾能力,扩展性受限于从库扩展节点数和最大实例性能。

联邦式数据库

联邦式数据库将数据分片部署到各个数据节点上,通过数据库中间件统一响应 APP 的读写请求,主要适用于松耦合、异构的多数据库系统,用于集成垂直构建的多个业务系统场景。


其主要挑战是可用性、扩展性和功能方面。可用性受限于数据分片也就是 Sharding 方案,扩展性需要人工操作分库扩容,风险大、需停机,功能方面无跨库事务和联结,不支持复杂 SQL 查询。

分布式数据库

分布式数据库的 SQL 层、执行层、存储层分层解耦、独立扩展,主要适用于面向云分布式场景,要求极致扩展性、高可用性的数据库系统,支撑跨地区的大规模业务系统。


由于部署方面需要有足够的跨地区数据中心机房和计算、存储、网络等资源,管理方面需要有跨地区数据中心的数据库系统的管控能力,所以主要挑战在于部署和管理方面。


值得一提的是,数据库技术的演进,与新时代下的企业应用场景变化有很大关系。当前,全球企业应用上云比例在 50%左右,而两年后将提升到 60%左右。企业应用的加速上云,推动了数据库加速向云迁移。传统数据库管理系统 DBMS 快速向云迁移,转化成为数据库云服务 DBaaS 的形式继续支持企业应用。

企业上云的演变过程

早前:企业上云的模式主要是 DIY,即用户需要自行购买云服务器,自行安装、部署、维护和升级数据库。


优点:部分利用了云化基础设施服务的便利性和可靠性;


缺点:运维开销跟传统云下方式不变,使用商业数据库依然要支付昂贵的 license 授权费用,数据库规格变更和升级困难,备份和容灾恢复复杂,很难实施。


后来:演变为服务化模式,用户只需购买数据库云服务,直接使用,无需购买云服务器,无需安装、部署、维护和升级数据库。


优点:应用无需修改,数据库即开即用,按需付费,弹性扩容,按需升级,具有跨 AZ 和跨 Region 的可靠性保障;


缺点:用户使用习惯需要稍微改变下。


云原生设计模式时代:用户将选择全新的基于云架构设计的分布式数据库服务。


优点:数据库即开即用,按需付费,可以超大规模部署,超强的弹性扩容,按需升级,具有跨 AZ 和跨 Region 的可靠性保障;


缺点:是应用有跨地区重构的代价和学习成本,需要用户有一定的软件设计和实现能力。


不难看出,企业想不通过外力实现数据库上云,有很长的路要走。然而在市场千变万化、机遇稍纵即逝的今天,留给企业的时间又有多少呢?


时值第九届中国数据库技术大会开启在即,华为云数据库首席架构师将出席本次大会,并带来《华为 Cloud Native 分布式数据库技术》和《 MySQL 云数据库的性能优化和发展趋势》两场主题演讲。


在这次讲座中,将介绍华为 Cloud Native 分布式数据库高可靠、高性能、易扩展等金融级的关键特性,并重点剖析其技术原理,深入揭开其背后的技术内幕。此外还将带领大家回顾 MySQL 关键性能特征,介绍 MySQL 云服务的现状,以及华为云为提高云上 MySQL 的性能所做的工作,讨论进一步改进 MySQL 在云上性能的挑战和机遇。


本文转载自华为云产品与解决方案公众号。


原文链接:https://mp.weixin.qq.com/s/nEn3arHL7KvBVFjd7DteRg


2020-04-03 13:301069

评论

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

手撕HashMap源码

程序员阿杜

Java 源码

带你彻底认识Paxos算法、Zab协议和Raft协议的原理和本质

Java 架构 面试 分布式 计算机

Premo测试框架详解

趣链科技

区块链 测试工具 测试发开

面面俱到!阿里巴巴2021最新Java面试参考权威指南泰山版震撼来袭

Java 架构 面试 后端 计算机

GameFi游戏金融系统软件开发介绍

做百度AI工程师,还要会“相牛”?

百度开发者中心

AI 最佳实践 方法论

关于takin-data,你想知道的都在这里(二)trace日志篇

TakinTalks稳定性社区

TLS协议分析 (二) 架构总览

OpenIM

game+defi系统软件开发内容

mac idea配置类和方法的注释

孙强

方法 Mac IDEA 添加注释

后疫情时代新机遇,运营商如何把握智能家居市场?

鲸品堂

智能家居 运营商 智能家居商业模式

学生管理系统详细架构设计

Nullrable

RVB2601应用开发实战系列三: GUI图形显示

Roy夹馍

物联网 risc-v 嵌入式开发

没项目经历,面试有点怂....

Java架构师迁哥

tomcat启动失败常见错误

hasWhere

做百度AI工程师,还要会“相牛”?

百度大脑

人工智能

NeonIO 云原生存储简介与应用

QingStor分布式存储

云原生 分布式存储

浅谈实时语音质量监控系统

声网

音视频

TLS协议分析 (一) 设计目标及历史

OpenIM

RVB2601 应用开发实战系列一: Helloworld 最小系统

Roy夹馍

物联网 risc-v 嵌入式开发

Tapdata 肖贝贝:实时数据引擎系列(四)-关于 Oracle 与 Oracle CDC

tapdata

oracle

Redis与Memcache对比

Linux服务器开发

数据库 redis 网络编程 Linux服务器开发 Memcache

你了解自己的业务IO么?

焱融科技

云计算 技术 分布式 高性能 存储

执行update语句,用没用到索引,区别大吗?

Simon

MySQL 索引

关于takin-data,你想知道的都在这里(一)启动命令篇

TakinTalks稳定性社区

逐梦航天—数字孪生技术仿真火箭发射!

ThingJS数字孪生引擎

大前端 物联网 可视化 航天 数字孪生

LeetCode刷题283-简单-移动零

ベ布小禅

9月日更

RVB2601应用开发实战系列四:FOTA镜像升级

Roy夹馍

物联网 risc-v 嵌入式开发

iOS 屏幕实时共享功能实践(内附详细代码)

融云 RongCloud

ios 音视频

RVB2601应用开发实战系列二: 跑马灯

Roy夹馍

物联网 risc-v 嵌入式开发

21年字节+美团+腾讯,大厂必问面试真题总结(Java岗)

Java架构师迁哥

华为云分布式数据库和高性能数据库技术内幕_语言 & 开发_华为云产品与解决方案_InfoQ精选文章