写点什么

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

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

    阅读完需:约 10 分钟

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

前言

公有云服务本质上是用户和传统 IT 基础设施的连接器,通过将传统 IT 繁重的流程、低效的工作方式、不透明的价格以及糟糕的用户体验打碎,重构出诸如云主机、云对象存储/CDN 、云数据库等产品,让用户方便地获取计算和存储能力,同时保持使用习惯不变。


经过近十年的发展,一个越来越明显的趋势是公有云服务正逐渐从基于传统 IT 基础设施的包装和组合式创新,演进为围绕公有云场景、计算和存储能力的重新进化和升级。诸如容器云和 Serverless 架构、AWS Aurora 云数据库、UCloud 安全屋等,便是这一趋势的典型代表。


由此,我们可以对公有云的发展进程做一个两阶段的概括。云计算 1.0 的关键词是连接,通过互联网和公有云来连接用户和计算存储能力;而云计算 2.0 的关键词是进化,围绕公有云场景,重新看待全社会使用计算和存储资源的问题,对现有 IT 基础设施、模式做进一步的升级和进化。


站在云计算 1.0 向 2.0 进化和升级的档口, UCloud 云数据库团队将用一系列文章来梳理过去、剖析当下、想象未来, 以此来全面展现 UCloud 云数据库服务( UCloud DataBase Service,简称 UDB )能力,分享我们过去的经验和对未来的思考。

基因

考察一个云计算服务的发展犹如观察一颗种子落地后的生长。传统 IT 设施向云端变迁的趋势是云服务生长所需的阳光和雨露,但一颗种子能否长成参天大树,除了足够的阳光雨露, 还要考察这颗种子的基因和成色。


在 UCloud 公司的四大价值观里,“客户为先”是放在首位的价值观。 这体现了 UClouders 一以贯之的理念:只有为客户创造出真正的价值,企业才能够生存和发展。创造真正的用户价值是 UCloud 所有产品的基因,也是 UDB 产品和云数据库团队的基因。


对于 UDB 产品而言,创造真正的用户价值体现在两个方面:

1.需求驱动的产品研发和运营

需求驱动产品设计,技术评估实现可行性,必要时非标快速定制,定制逐渐沉淀为标准产品,整个过程循序渐进。小步快走,是互联网研发和运营的要领,也是公有云服务的要领。


以 UDB 跨地域跨可用区容灾为例,从单机版 UDB 开始,不断有用户因跨可用区容灾场景提出建跨机房从库的需求,中大型互联网客户尤为强烈。起初,以一种非标形式来提供能力的支持。后期因 VPC 2.0 上线,技术也愈加成熟,现已将这种非标能力转化为标准能力,即多可用区高可用 UDB 产品,同时也将 UDB 由可用区级提升为地域级,产品形态得到一次质的提升,传统模式下需要付出极高成本才能构建的异地容灾方案,通过 UDB 产品可以轻松获得,用户价值进一步被创造。

2.一切以客户价值为归依,舍小我成就大我

云计算产品是 IT 基础设施类产品,技术人员在云服务的研发中起主导作用。但技术并不直接等同于用户价值。即使再先进的技术,离真正的用户价值还是会有一段距离。这段距离则需要用做产品的匠心来来弥补。


所谓的产品匠心,非常重要的两点是对需求的洞察和对技术的取舍。技术人员常见的一个毛病是先入为主,将自己觉得酷的牛的技术点等同于用户价值。但事实往往证明不一定。真正的用户价值创造,要打破技术人员思维的藩篱,洞察到用户需求的本质,从需求角度出发做技术选型,必要时敢于放下自己的喜好甚至利益,成就真正的用户价值。


UDB 产品在硬件架构上选择了物理机+ Docker 的方案,而不是业务普遍的云主机方案,是这方面的经典案例。


云数据库是云主机之后出现的产品。如果基于云主机来构建云数据库产品,能够充分复用云主机成熟的能力,云数据库团队只需要关心硬件层面之上的问题。另外,选择云主机来构建,能够降低研发成本,快速推出云数据库产品。


但细究下来,云主机的方案存在不少问题。最大的问题是 IO 性能。云主机基于虚拟化技术,拥有完整的 OS 内核,这就导致 IO 协议栈太长, IO 有额外开销;而 Docker 利用 Linux 的机制做隔离,本身处于用户态, Docker 内进程的 IO 操作,由物理机 OS 内核统一管理,性能接近于原生物理机,远胜于云主机方案。在 IO 的稳定性上,云主机的 IO 管理涉及三个层次( Guest OS 、 Hypervisor 、宿主机 OS ),而 Docker 的 IO 由物理机内核直接管理,因此在 IO 稳定性上的表现,云主机亦不如物理机+ Docker 的架构。


因此,为了更好的 IO 性能和稳定性, UDB 从一开始就选择了物理机+ Docker (前期是 CGroup ,2014 年全面转向 Docker )的架构。事实证明,这是一个明智的选择。横向对比各大公有云厂商的云数据库产品,在性能上 UDB 每次都是完胜。

三重境界

王国维在《人间词话》二六节写到:古今之成大事业、大学问者,必经过三种之境界。“昨夜西风凋碧树,独上高楼,望尽天涯路”,此第一境也。“衣带渐宽终不悔,为伊消得人憔悴”,此第二境也。“众里寻他千百度,回头蓦见,那人正在灯火阑珊处”,此第三境也。此等语皆非大词人不能道。然遽以此意解释诸词,恐晏、欧诸公所不许也。


如同任何伟大的事业, UDB 的成长之路,也经历三个阶段,细分为三重境界。这三个阶段互相独立,又存在一个内在的逻辑,将它们牢靠地连接在一起。 这个内在逻辑,就是 UDB 的基因:创造真正用户价值。 UDB 在每一个阶段的萌芽、发展、跃迁,无一不是这个基因和理念在发挥作用。

1.做透一个点:取代自建数据库

UDB 产品第一阶段要比拼的是能否比用户自建数据库(基于云主机或者自建 IDC ),具备更大的用户价值。只有创造出更大价值,形成更高的价值势能,才能吸引用户将业务迁移到云数据库。所以 UDB 的第一个目标就是把“取代自建数据库”这一个点给做透。

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

做透“取代自建数据库”这个点,本质上是公有来运营 DBMS 软件,创造出快速交付、运维托管等全新价值点。但仅仅有这一点还不够。事实上,过去几十年来,围绕 DBMS 出现了从容灾、迁移、安全到读写分离、数据拆分等解决方案和软件,对应用户业务的各种需求。这些解决方案和软件同样需要云化,并且需要利用公有云的优势产生比自建更大的价值。如此,才能不断强化云数据库的价值势能,服务好已有用户并吸引更多用户向公有云转化。


因此, UDB 产品第二阶段要做的是构建一张云数据库功能网。在第一阶段的基础上,继续将用户需要的各个功能点做透。众多功能点以及功能点的组合,最终构成一张大网,全方位地覆盖用户的各种需求。

3.三位一体融合平台:云计算 2.0 下的内生进化

不管是第一阶段的做透一个点,还是第二阶段的构建功能网,对新价值的创造都是基于成熟的软件或解决方案,利用公有云来实现功能的随手可得、快速部署和弹性扩展。这种模式清晰明确,但并不意味着云数据库价值创造的终点。


云计算 2.0 时代,公有云开始摆脱传统 IT 基础设施和软件的藩篱。在产品和技术上,围绕自身业务场景开启独立进化。其中,如何解决全社会大规模用云时的成本、效率和智能问题,是这场进化的核心。而 UCloud 云数据库团队也需要进一步去思考,是否能提供更加廉价优质、高效智能的云数据库产品。


带着问题和思考, UCloud 云数据库团队内部做了多次探讨,最终达成这样一个认知:云计算 2.0 下的云数据库服务,必然会是对内架构同一化,对外需求支持多样化以及数据库运维智能化这样三位一体的组合。


在接下来的内容中,将就做透一个点、构建功能网、架构统一的多样化数据处理体系展开详细介绍,用具体的例子来勾勒 UDB 发展的三个层次,三层境界。


2019-11-13 18:52875

评论

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

播客有没有未来?

善宝橘

播客

深入剖析 | 字节码增强

九叔(高翔龙)

JVM 字节码插桩 bytecode JVM虚拟机原理 字节码增强

做好提醒巧防范 守好钱包防诈骗——南京移动防通讯信息诈骗志愿者服务进社区

晦涩难懂的CAP,是否完全正确?

架构师修行之路

亚马逊向世界各地逾1000家慈善组织捐赠数百万件物资

爱极客侠

Flink中CoProcessFunction6-7

小知识点

scala 大数据 flink

为什么迫切需要一套直接可落地的中台开发框架

高鹏

中台 业务中台 DDD 中台架构 业务架构

Storage API简介和存储限制与逐出策略

程序那些事

大前端 浏览器 web tech web storage storage api

十九、深入Python匿名函数

刘润森

Python

vivo 基于原生 RabbitMQ 的高可用架构实践

vivo互联网技术

高可用 RabbitMQ 中间件

央视多方视频连线演播厅系统

dwqcmo

音视频 集成架构 解决方案 智能硬件

简约而不简单的分布式通信基石

架构师修行之路

TCP 分布式 微服务 udp

spring-boot-route(二十一)quartz实现动态定时任务

Java旅途

Java Spring Boot quartz

法定数字货币对银行存在潜在冲击,可能是第六版的人民币

CECBC

数字货币 金融

必须收藏:20个开发技巧教你开发高性能计算代码

华为云开发者联盟

性能 并发

技术实践丨手把手教你使用MQTT方式对接华为IoT平台 华为云开发者社区

华为云开发者联盟

技术 物联网 mqtt

架构师训练营第五周作业

邓昀垚

极客大学架构师训练营

1分钟带你入门React Context

Leo

大前端 React useContext Context

被延伸的“五感”:OPPO联合丹拿发起TWS耳机音质革命

脑极体

开始真正的学习吧 -- 2020-10-20

BlueVitamin

架构师训练营第 1 期第 5 周作业

业哥

LeetCode题解:98. 验证二叉搜索树,使用栈中序遍历,JavaScript,详细注释

Lee Chen

算法 大前端 LeetCode

阿里P8架构师“墙裂”推荐:Java程序员必读的架构进阶热门书籍,值得学习!

Java架构之路

Java 程序员 架构 编程语言 推荐书籍

「2020年字节秋招超万人」那么程序员跳槽时,如何选择公司

Java架构师迁哥

程序员

MapReduce简介及过程详解

犟马骝

hadoop mapreduce

甲方日常 34

句子

工作 随笔杂谈 日常

用Python加载数据的5种不同方式

计算机与AI

Python 数据处理

从资金荒、恒大事件看区块链技术在供应链金融上的应用价值

CECBC

区块链 供应链物流

(转)程序员的写作课

Leo

学习 大前端 技术博客

一个优秀的程序员,不仅要会编写程序,更要会编写高质量的程序

Java架构之路

Java 程序员 架构 性能优化 编程语言

【高并发】学好并发编程,关键是要理解这三个核心问题

冰河

并发编程 同步 分工 互斥 签约计划第二季

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