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