QCon北京「鸿蒙专场」火热来袭!即刻报名,与创新同行~ 了解详情
写点什么

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

  • 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:30997

评论

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

请坚持正确佩戴口罩

IT蜗壳-Tango

6月月更

# 云原生训练营毕业总结

Neil43

云原生训练营

使用‘百家饭’自动生成API调用:JS部分进展(二)

百家饭隐私计算平台创业者

js OpenAPI 代码生成

Nginx学习笔记总结:初次认识 Nginx

百思不得小赵

nginx 6月月更

国内首款开源 MySQL HTAP 数据库即将发布,三大看点提前告知

StoneDB

MySQL #数据库 #开源

Prometheus 2.34.0 新特性

耳东@Erdong

release Prometheus 6月月更

基于开源IM即时通讯框架MobileIMSDK:RainbowChat v8.2版已发布

JackJiang

网络编程 即时通讯 im开发 开源im

深度好文:什么是超网 Supernetting?

wljslmz

网络技术 6月月更 超网

Scala 基础 (二):变量和数据类型

百思不得小赵

scala 大数据 6月月更

利用 Repository 中的方法解决实际问题

Damon

6月月更

微服务之consul初体验

迷彩

微服务 中间件 Consul 微服务治理 6月月更

工作一年闲记

玄兴梦影

总结 工作 自我感悟

给 Angular 服务器端渲染应用设置一个渲染超时时间

汪子熙

typescript 前端开发 angular 前端框架 6月月更

不到40行代码手撸一个BlocProvider

岛上码农

flutter 前端 移动端开发 安卓开发 6月月更

基于STM32+华为云IOT设计的云平台监控系统

DS小龙哥

6月月更

我的第一个Vue项目-Demo

Python研究所

6月月更

leetcode 300. Longest Increasing Subsequence 最长递增子序列 (中等)

okokabcd

动态规划 算法与数据结构 leetcoce

Prometheus 2.33.0 新特性

耳东@Erdong

release Prometheus 6月月更

@Query 疑难杂症

Damon

6月月更

TCP拥塞控制详解 | 1. 概述

俞凡

算法 网络 TCP拥塞控制

快慢指针算法

工程师日月

算法 6月月更

# 补齐短板-开源IM项目OpenIM关于初始化/登录/好友接口文档介绍

Geek_1ef48b

openLooKeng,一款面向海量、跨DC的大数据分析利器

乌龟哥哥

6月月更

Fabric.js 上划线、中划线(删除线)、下划线

德育处主任

JavaScript canvas FabricJS 6月月更

Tiger DAO VC产品正式上线,Seektiger生态的有力补充

股市老人

Java中的字符串之字符串常量池

未见花闻

6月月更

微博评论的高性能高可用计算架构

爱晒太阳的大白

Eureka注册信息配置备忘

程序员欣宸

Java Spring Cloud 6月月更

一文带你学会consul 基本使用和Docker部署

迷彩

架构 Consul 服务注册与发现 微服务治理 6月月更

架构实战营毕业设计

KennyQ

gm

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