限时领|《AI 百问百答》专栏课+实体书(包邮)! 了解详情
写点什么

云数据库 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:52901

评论

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

LeetCode-66. 加一(java)

bug菌

Leet Code 每日一题 9月月更

软件测试 | 测试开发 | 持续交付-Blue Ocean 应用

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

转:工业软件上云很难吗?可以微创呀!

小江

工业软件云化

为什么我要迁移SpringBoot到函数计算

Serverless Devs

聆心智能入选OPPO“微笑提案”TOP10,让有温度的AI技术守护数亿人心理健康

硬科技星球

软件测试 | 测试开发 | 这些常用测试平台,你们公司在用的是哪些呢?

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

测试

「工作小记」不同内容相似结构?按个开关试试

叶一一

JavaScript 前端 React Hooks 9月月更

主流定时任务解决方案全横评

Serverless Devs

spring Linux

千锋锋友学盟分享会:程序员百万年薪进阶指

千锋IT教育

技术分享| 基于RTM 实现的呼叫邀请如何添加推送功能?

anyRTC开发者

音视频 IM 实时消息 呼叫邀请 推送

计算机网络体概念

StackOverflow

编程 计算机网络 9月月更

《TiDB跨版本升级》 --流程概述

TiDB 社区干货传送门

迁移 实践案例 版本升级 管理与运维 安装 & 部署

PCTP考试学习笔记之二:TiDB 数据库 schema 设计

TiDB 社区干货传送门

集群管理 管理与运维 数据库架构设计

20个既简单又实用的JavaScript小技巧

千锋IT教育

设计模式的艺术 第十七章命令设计模式练习(开发一个基于Windows平台的公告板系统。该系统提供了一个主菜单(Menu),主菜单包含一些菜单项,Menu类可以增加菜单项。菜单项主要方法是click(),每个菜单项包含一个抽象命令类)

代廉洁

设计模式的艺术

基于函数计算自定义运行时快速部署一个 springboot 项目

Serverless Devs

AOSWAP去中心化交易所系统开发功能介绍

开发微hkkf5566

软件测试 | 测试开发 | 跨平台API对接(Java)

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

jenkins、

51单片机定时器原理及相关器件

孤衫

C语言 单片机 9月月更

LeetCode-58. 最后一个单词的长度(java)

bug菌

Leet Code 每日一题 9月月更

「龙蜥开发者说」征稿啦!

OpenAnolis小助手

开源 征文 获奖 龙蜥开发者说 龙蜥技术

购买小间距LED显示屏前需要了解什么?

Dylan

LED显示屏 led显示屏厂家

dbt-tidb 1.2.0 尝鲜

TiDB 社区干货传送门

新版本/特性解读

参加了个算法比赛,真是一言难尽啊

捉虫大师

Go 算法 map 比赛 9月月更

MASA Framework 获取配置信息的方法

MASA技术团队

.net MASA Framewrok MASA

中国移动NZONE 50 Pro 5G手机正式开售

极客天地

软件测试 | 测试开发 | 一文带你了解K8S 容器编排(下)

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

测试

软件测试 | 测试开发 | 黑盒测试方法论—边界值

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

边界测试

软件测试 | 测试开发 | 测试左移之Sonarqube scanner使用

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

SonarQube

iptables与firewalld防火墙是怎么样工作的呢?

阿柠xn

防火墙 Linux Kenel 运维‘ 9月月更

传统单节点网站的Serverless上云

Serverless Devs

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