加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

PingCAP CTO 黄东旭:我眼中的未来数据库技术趋势

发布时间:2019-03-06 12:12:38 所属栏目:编程 来源:黄东旭
导读:在 TiDB DevCon 2019 上,我司连系首创人兼 CTO 黄东旭分享了对数据库行业大趋势以及将来数据库技能的观点。以下是演讲实录,enjoy~ 我司连系首创人兼 CTO 黄东旭 各人本日在这里看到了 TiDB 社区用户实践分享和我们本身的一些技能盼望和瞻望,尚有很是好

说完了存储层,接下来说一说执行器。TiDB 在接下来会做一个很重要的事变,就是全面地 leverage SIMD 的计较。我先简朴科普一下 SIMD 是什么。

PingCAP CTO 黄东旭:我眼中的将来数据库技能趋势

图 15 SIMD 道理举例(1/2)

如图 15,在做一些聚合的时辰,有这样一个函数,我要去做一个求和。正凡人写措施,他就是一个 for 轮回,做累加。可是在一个数据库内里,假若有一百亿条数据做聚合,每一次执行这条操纵的时辰,CPU 的这个指令是一次一次的执行,数据量出格大可能扫描的行数出格多的时辰,就会很明明的感觉到这个不同。

PingCAP CTO 黄东旭:我眼中的将来数据库技能趋势

图 16 SIMD 道理举例(2/2)

当代的 CPU 会支持一些批量的指令,好比像 _mm_add_epi32,可以一次通过一个32 位字长对齐的呼吁,批量的操纵 4 个累加。看上去只是省了几个 CPU 的指令,但假如是在一个大数据量的环境下,根基上能获得 4 倍速率的晋升。

趁便说一句,有一个很大的趋势是 I/O 已经不是瓶颈了,各人必然要记着我这句话。再过几年,假如想去买一块机器磁盘,除了在那种冷备的营业场景以外,我信托各人也许都要去定制一块机器磁盘了。将来必然 I/O 不会是瓶颈,那瓶颈会是什么?CPU。我们怎么去用新的硬件,去尽也许的把计较服从晋升,这个才是将来我认为数据库成长的重点。好比说我怎么在数据库里 leverage GPU 的计较手段,由于假如 GPU 用的好,着实可以很洪流平上镌汰计较的开销。以是,假如在单机 I/O 这些都不是题目的话,下一个最大题目就是怎么做好漫衍式,这也是为什么我们一开始就选择了一条看上去越发坚苦的路:我要去做一个 Share-nothing 的数据库,并不是像 Aurora 底下共享一个存储。

5. Dynamic Data placement

PingCAP CTO 黄东旭:我眼中的将来数据库技能趋势

图 17 Dynamic Data placement (1/2)

分库分表方案与 TiDB 比拟

在本日各人着实看不到将来十年纪据增添是奈何的,追念十年前各人能想到此刻我们的数据量有这么大吗?不行能的。以是新的架构可能新的数据库,必然要去面向我们未知的 Scale 做计划。好比各人想象此刻有营业 100T 的数据,今朝看也许还挺大的,可是有没有步伐计一律套方案去办理 1P、2P 这样数据量的架构?在海量的数据量下,怎么把数据很机动的分片是一个很大的学问。

为什么分库分表在比拟 TiDB 的时辰,我们会认为分库分表是上一代的方案。这个也很好领略,焦点的缘故起因是分库分表的 Router 是静态的。假如呈现分片不平衡,好比营业也许凭证 User ID 分表,可是发明某一处所/某一部门的 User ID 出格多,导致数据不平衡了,这时 TiDB 的架构有什么上风呢?就是 TiDB 彻底把分片这个工作,从数据库里断绝了出来,放到了其它一个模块里。分片应该是按照营业的负载、按照数据的及时运行状态,来抉择这个数据应该放在哪儿。这是传统的静态分片不能对比的,不管传统的用同等性哈希,照旧用最简朴的对呆板数取模的方法去分片(都是不能比的)。

在这个架构下,乃至将来我们还能让 AI 来资助。把分片操纵放到 PD 内里,它就像一个 DBA 一样,乃至猜测 Workload 给出数据漫衍操纵。好比课程报名数据库体系,体系发明也许来日诰日会是报名岑岭,就事先把数据给切分好,放到更好的呆板上。这在传统方案下是都必要人肉操纵,其拭魅这些工作都应该是自动化的。

PingCAP CTO 黄东旭:我眼中的将来数据库技能趋势

图 18 Dynamic Data placement (2/2)

Dynamic Data placement 甜头起首是让工作变得更 flexible ,对营业能及时感知和相应。其它尚有一点,为什么我们有了 Dynamic Placement 的计策,还要去做 Table Partition(本日上午申砾也提到了)?Table Partition 在背后实实际在挺简朴的。相等于营业这边已经汇报我们数据应该怎么分片较量好,我们还可以做更多针对性的优化。这个 Partition 指的是逻辑上的 Partition ,是也许按照你的营业相干的,好比说我这张表,就是存着 2018 年的数据,固然我在底下照旧 TiDB 这边,通过 PD 去调治,可是我知道你 Drop 这个 Table 的时辰,必然是 Drop 这些数据,以是这样会更好,并且越发切实用户的直觉。

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读