暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

列式向量化

原创 薛晓刚 2022-11-07
565

     SACC上提到腾讯讲HTAP,其中提到了列式向量化。背景是腾讯是利用GPU配合上列式向量化来实现HTAP的。列式存储我是理解的HTAP,就是要实现行列混存(无论是垂直方向的Oracle还是 水平方向的PG、MySQL、TiDB和OB)。但是向量化这个。。。。。。原谅我把高中和大学学习的都还给老师了。只是老师还没把学费还给我。初中还没换主要是因为太简单了。

为此专门和公司的几个博士请教一下,在商量过后实现了一下。以下这段Python其实是抄的。解释一下,就是a有5个元素,b也有5个元素。 2X6+3X7+4X8+5X9+6X10=170(红框)


这是一个用到了向量计算来求和。这个和腾讯讲的有什么关系(向量化和GPU)?GPU是并行计算的,我开始没想通是把a数组中的23456,一个个拿取变成一次性拿取吗?这样ab两个数组同时拿能加快。还是2X6和3X7一起计算这样加快了速度?

最后我们讨论分析(全是我们自己想想的),应该是ab同时拿,且2X6和3X7等等一起。就是谁水平方向拿数据和垂直方向相乘都是并行同步的,所以理论上快了。但是由于我们没有GPU,还是用CPU完成的。这点量也看不出什么提速。而且用这样的模型数据根本就是杀鸡用牛刀。

这个能有什么作用?

可能是有的,遇到复杂的情况,比如ab是两个复杂的矩阵,那么就有用武之地了。用来求特征值(我其实又忘了这个是怎么做的,仅仅知道这个概念学习过)。不过这些场景用到的话是数据库底层内核才可能涉及到的。

数据库是复杂的,它是通过充分发挥硬件能力以满足应用高性能、低成本地数据存储与查询需求的技术集合。

数据库是基础的,它一直默默耕耘于各行各业,是当今软件工业的基石,其向上承接各种变化的需求而不断改进、向下则依据硬件的演进而演进。

数据库是高难度的,它属于资本密集、技术密集兼备的成熟行业。数据库市场前后几十年而历久弥新,而云行业的发展给这个古老又全新的行业带来不一样的冲击。

以上的Python抄一抄容易,但是理解就不见得了。数据库底层就是物理学和数学。能看到和理解这层的并不是很多,比如向量化就是。再往上面的应用就是逻辑,甚至涉及到哲学。到这层的就更少了。



「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论