春争日,夏争时,扫码抽取夏日礼包!!! 了解详情
写点什么

5G 风起,未来数据库有哪些关键词?(下)

  • 2019 年 10 月 31 日
  • 本文字数:3687 字

    阅读完需:约 12 分钟

5G风起,未来数据库有哪些关键词?(下)

在自己工作的领域中,发现快乐是我坚持做技术的动力。而技术域其实就是一个画圆的过程,当你发现你的圈圈画得越大,需要求知的东西也就越多。每天必须保持一种持续学习,和与技术死磕的精神才能促使我们不断前行。我们不断前行,时代也在不断变化和发展。本文由变化看发展,从移动通讯发展的历程同步透视数据库能力的变迁,进而预测 5G 时代将会给数据库带来的重大变革。


4G 时代下的数据库 分布式+关系型的 NewSQL


时间一晃到了 2013 年 12 月,工信部在其官网上宣布向中国移动、中国电信、中国联通颁发“LTE/第四代数字蜂窝移动通信业务(TD-LTE)”经营许可,也就是 4G 牌照。至此,移动互联网进入了一个新的时代,即 4G 视频时代。如今 4G 已经像 “水电”一样成为我们生活中不可缺少的基本资源。而且 4G 信号的覆盖范围也非常广泛,并且成为大多数人的标配,微信、微博、小视频等手机应用成为生活中的必须,经常看到很多人刷着抖音,快手。越来越多的人参与到拍小视频,当主播这个行业当中来。有句话“南抖音北快手,智障界的两泰斗”,流传比较广的,可见 4G 不仅开启了一个全民娱乐的时代,也引来了视频自媒体发展的红利时代。我们现在根本无法想象离开手机的生活会是什么样。


对于数据库的发展来说,我们之前也谈了关系型数据库的代表 MySQL,非关系型数据库的代表 MongoDB,接下来聊聊在 4G 时代的这个时间节点,NewSQL 这个名词出现在了我们的视野里面。如果说 NoSQL 是一种变革,那么 NewSQL 就是进击的巨人。记得三国演义开篇说到“论天下大势,分久必合合久必分”。我们本文聊聊“分久必合”。



NewSQL 应是 RDBMS 中的数据模型(关系型、符合 ACID)和 NoSQL 中的计算框架、分布式存储、开源特定的结合产物。


2012 年底到 2013 年初,Google 相继发表了 Spanner 和 F1 两套系统的论文,让业界第一次看到了关系模型和 NoSQL 的扩展性在一个大规模生产系统上融合的可能性。


Google 的 Spanner + F1,是第一个生产环境中大规模验证的 NewSQL 系统;Spanner 通过使用硬件设备(GPS 时钟+原子钟)巧妙地解决时钟同步的问题——在分布式系统里,时钟正是最让人头痛的问题。Spanner 的强大之处在于即使两个数据中心隔得非常远,也能保证通过 TrueTime API 获取的时间误差在一个很小的范围内(10ms),并且不需要通讯。Spanner 的底层仍然基于分布式文件系统,不过论文里也说是可以未来优化的点。Google 的内部的数据库存储业务,大多是 3~5 副本,重要的数据需要 7 副本,且这些副本遍布全球各大洲的数据中心,由于普遍使用了 Paxos,延迟是可以缩短到一个可以接受的范围(写入延迟 100ms 以上),另外由 Paxos 带来的 Auto-Failover 能力,更是让整个集群即使数据中心瘫痪,业务层都是透明无感知的。F1 是构建在 Spanner 之上,对外提供了 SQL 接口,F1 是一个分布式 MPP SQL 层,其本身并不存储数据,而是将客户端的 SQL 翻译成对 KV 的操作,调用 Spanner 来完成请求。


NewSQL 中的典型代表就是 Google Spanner 和国内的 TiDB,巨杉等。


结合 NewSQL 数据库的特点,主要可以总结为新老技术的搭配。新技术中最基本的是扩展能力,包括存储和计算扩展;除了扩展能力,当然还有 HTAP 这种混合事务和分析场景,适应更多应用数据需求。老技术中主要就是高可用性,在一个比较大的分布式集群中,少量节点失效下,数据库依然能够提供服务,依然能够自我恢复,依然可用;事务 ACID 的支持,处理 OLTP 的能力;最后就是 SQL 完整支持,业务采用 SQL 来对存储进行交互。其特性如下图所示。



这里我们看看 TiDB 分布式数据库的样子,如下图所示。



整体架构介绍:TiKV+PD 形成了 kv 的带事务的存储引擎。


  • TiKV:主要存储数据,把数据一片一片存储在集群中。

  • PD:(集群管理者)存储 Tikv 中的元信息。每片数据所在位置和有哪些副本。PD 还要负责对 TiKV 节点进行负载均衡调度和管理。

  • TiDB:无状态的计算层(随意扩展),支持 MySQL 协议和 SQL 请求和 SQL 优化。发送计算和获取数据的请求,通过 MySQL 协议返回给客户端。TiDB 是存储引擎和业务端的桥梁枢纽。


5G 风起,数据库将会如何发展?

1. 数据库发展总结

盘点数据库的发展历程,我们可以通过下面这幅图来完全体现出来(图片来源:https://db-engines.com/en/ranking)。



从上图中,我们了解到在最开始发展起来的是关系型数据库+SQL(代表数据库产品 Oracle,MySQL),然后发展到了非关系型 NoSQL(代表数据库产品 MongoDB),最后是分布式+关系型的 NewSQL(代表数据库产品 TiDB)。


2. 5G 风起,数据库上云是必然趋势

然后再来说说 5G,即第五代移动通信技术。国际电联将 5G 未来的应用场景划分为移动互联网和物联网两大类。凭借低延时、高可靠、低功耗以及飞一般的网速的特点,5G 的应用范围更广泛远超 4G、将渗透到生产生活的各个领域,不仅能使得超高清视频、浸入式游戏等交互方式实现再升级,还能实现海量的机器通信、支持智能家居、智能设备和智能城市,也将在车联网、移动医疗、工业互联网等垂直行业一展身手。简单来说,5G 更快、更安全、信号更强、覆盖面积更广、发展方向更加多维。如果不出意外,5G 手机明年将纷纷上市。同时,中国联通和中国电信都将于 2020 年实现重点城市的 5G 商用。这些都将带领人类开启一个万物互联、高度便捷化、自动化、智能化的崭新生活方式。


下面聊聊 5G 来了之后,未来数据库的发展是个什么样子呢?根据 Gartner 预测,到 2022 或者 2023 年,将有超过 3/4 的数据库被部署到或者迁移到云平台,不足 5%的数据库会考虑部署到本地,这就意味着云将主导数据库未来的市场。


我们知道云计算是分层次的,即三种服务模式(IaaS,PaaS,SaaS)。数据库是一款服务软件也就是 SaaS 模式,整个数据的生命周期,数据库起到的作用都是至关重要的。而且还有一点,数据与应用必须紧密配合,而 5G 时代,大多数应用也要部署在云上,那云数据库这个趋势也就毋庸置疑了。


不过,在上云这个过程中,传统的数据库与云端数据库不一样的产品架构,给上云带来了很高的门槛。还有商业数据库其高成本,难维护的特点,必将接受国产、开源数据库他们其可弹性扩展,易用、开放等特点的各种冲击与挑战。很应景的一句话是”数据信息科技,国产自主可控,开源大势所趋“。


3. 5G 数据库应该具备能力

我们再来想一想对于 5G 时代的到来,该如何规划好数据库呢?换句话说,5G 数据库应该具备什么样的能力呢?


首先先从高吞吐量和低延迟的角度入手,5G 的 ITU IMT-2020 规范要求速度高达每秒 20 千兆位,目标延迟为 1ms。这种要求才是打开数据流的金钥匙。其次,5G 数据库必须拥有瞬间线性扩展能力,5G 网络不仅会从 5G 启用的应用程序中生成大量的流数据,还会从网络、订阅、企业、网络运营商和呼叫处理中生成大量的流数据。


那么,对于目前传统的 OLTP 数据库来说,是否机器越多,SQL 执行就越快呢?答案肯定是否定的。


对于 OLTP 数据库中的线性扩展,增加机器数,单 SQL 的响应时间基本不会发生太大变化。随着云计算技术不断成熟,云数据库开始逐渐崛起,企业正将新应用向云转移,对数据存储和计算分析的能力要求不断地加强。由云厂商主导的云原生数据库势必是这波改变的推动者,云原生数据库的优势在于它的成本、灵活度、安全、技术进化层面。5G 数据库更需要在云中无缝工作,并且还要在容器化环境中进行操作。而 5G 必将带来数据的洪流,这也将推动企业数字化的转型。届时,传统数据库将肯定跟不上当前企业发展的脚步。5G 将以前所未有的速度生成前所未见的巨大数据。


4.5G+AI 助推数据库发展

科技界有两大领域越来越热:一个是 5G,一个是 AI。两者都是能够改变时代的颠覆性技术。单独看 5G 或 AI 技术,它们的发展都面临重重挑战,但是,当 5G 与 AI 这两大颠覆性技术深度融合的情况下,去看数据库的发展呢?


5G、Al 通讯与人工智能进入工业物联网、金融、空气预测等数据管理时,由需求推动的时序信息会使数据库变成实时,并且能即时生成预测结果。数据库如果实时可以用 Al 算法以后,并可生成实时的预报警系统,让大家把损失防范于未然。就如同下图所示,5G 和 AI 共同助推数据库的发展。



市面上也有一些时序数据库,在未来 5G 时代,比如 RDDTool 和 Graphite 会自动删除高精度的数据,只保留低精度的。而这些“功能”对关系型数据库而言,简直是不可想象的。


5. 未来数据库关键词

小结一下,未来数据库的发展,必然离不开下面这些词汇:


上云,数据洪流,开源,国产可控,低延迟,高吞吐,实时……


而对于我们来说,就要更早地适应未来的变化,提升自己一专多能的技术域,找到做技术那份最简单的快乐足以。


作者介绍:


张甦(sū),网名 sugar,腾讯云 TVP,MongoDB 中文社区核心成员,51CTO 专家博主,著有《MySQL 王者晋级之路》、《MongoDB 运维实战》。专注于各类开源数据库的研究学习,负责开源数据库产品推广、布道、培训等相关工作。2010 年接触的第一个数据库是 MySQL,然后时隔两年之后,首次接触 MongoDB。2019 年开始陆续学习 PostgreSQL 和分布式数据库 TiDB 等。


本文转载自公众号云加社区(ID:QcloudCommunity)。


原文链接:


https://mp.weixin.qq.com/s/ey63BQWPWm1_dYjZ8gVujw


2019 年 10 月 31 日 18:10417

评论 1 条评论

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

架构模块2 作业

柱林

设计消息队列存储消息数据的 MySQL 表格——架构实战营作业八

开拓纪

架构师实战营 作业八

架构实战营 模块二 作业

三叔叔_拖延症晚期

架构实战营

模块二作业

晨晨

模块二作业

king

微信朋友圈的高性能复杂度分析

tjudream

架构 高性能 朋友圈

手写插入排序算法

实力程序员

程序员 算法 排序 实力

架构训练营模块二作业

河马先生

架构实战营

微信朋友圈复杂度分析

卜卜兔

领域驱动设计中的分层模型

escray

学习 极客时间 7月日更 如何落地业务建模

【架构实战营】模块二作业

Abner S.

架构实战营 #架构实战营

架构实战营 - 模块 2 - 作业

Vincent

架构实战营

在线XML转CSV工具

入门小站

工具

大数据训练营一期0711作业

朱磊

架构实战营第一期--模块二作业

clay

架构实战营

模块二作业

秀聪

架构实战营

Rust从0到1-并发-状态共享

rust 并发 Concurrency 状态共享 Shared-State

【Flutter 专题】82 初识 Flutter Stream (二)

阿策小和尚

Flutter 小菜 0 基础学习 Flutter Android 小菜鸟 7月日更

Linux之df命令

入门小站

Linux

分析微信朋友圈的高性能复杂度

feitian

架构实战营模块 2 作业

zlz

架构实战营模块二作业

A-领悟 Lifetruth‖

#架构实战营

Python OpenCV 图像开闭操作,图像处理取经之旅第 39 篇

梦想橡皮擦

7月日更

架构实战营模块二 作业

小金库so

作业2-微信朋友圈高性能分析

Nullrable

架构实战课

模块一作业-架构训练营

零度

「架构师训练营第 1 期」

架构实战营 -- 模块二

小牧ah

架构实战营

Java单例模式一文通

喵叔

7月日更

模块2作业G20210698020270

哆啦A萌

模块二作业 微信朋友圈高性能复杂度分析

君子意如何

「架构师训练营第 1 期」

架构训练营模块二作业

以吻封笺

5G风起,未来数据库有哪些关键词?(下)_文化 & 方法_张甦_InfoQ精选文章