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

【译】注意 VectorWise

原创 李华 2022-06-09
1395

原文链接:http://dbmsmusings.blogspot.com/2009/07/watch-out-for-vectorwise.html
作者:Daniel Abadi

在过去的几年里,有很多新的分析型 DBMS 初创公司正在揭开面纱。就在我的脑海中,我会将 Aster Data、DATAllegro、Dataupia、Exasol、Greenplum、Infobright、Kickfire、ParAccel、Vertica 和 XtremeData 放在该类别中,一旦您添加了来自老牌供应商(Oracle Exadata 和 HP Neoview)的新分析 DBMS 产品,我们就有十几个新的分析 DBMS 选项与旧的分析 DBMS 产品(如 Teradata(行业领导者)、Netezza 和 Sybase IQ)一起使用。最后,借助免费和开源的 HadoopDB,我们现在(至少)有 16 个分析 DBMS 解决方案可供选择。

鉴于目前有大量的分析DBMS解决方案,我怀疑VectorWise本周的抢先预览不会得到应有的关注。VectorWise并没有像Aster Data对MySpace所做的那样,也没有像TPC-H基准测试的胜利(像Kickfire和ParAccel所做的那样),也没有像DBMS传奇人物的认可(如Vertica所做的那样)而引起轰动。他们甚至不会用自己的解决方案进入市场;相反,他们正在与Ingres合作开发一个组合解决方案(尽管整个Ingres存储层和执行引擎已被剥离并替换为VectorWise)。但我告诉你:VectorWise是一家值得关注的公司。

以下是我喜欢它们的原因:
1、它们是一个列存储商店。我坚信,专栏商店是分析DBMS市场空间的正确解决方案。它们可以通过轻量级压缩算法获得出色的压缩比,并且具有很高的I / O效率。在我看来,上面列表中有些公司不是列存储的唯一原因是他们希望通过扩展以前存在的DBMS代码来加快上市时间,而当时最容易获得的DBMS代码是行存储。为(关系,结构化数据)分析DBMS市场从头开始构建的任何DBMS都应该是一个列存储。

2、列存储的 I/O 效率如此之高,以至于 CPU 和/或内存通常很快就会成为瓶颈。大多数列存储都进行了非常仔细的优化以消除这些瓶颈。但对我来说,VectorWise 已经走得更远了。查询运算符通过一组用低级代码编写的查询执行原语运行,允许编译器生成极其高效的处理指令。列中包含 100-1000 个值的向量通过对该列的一组查询操作进行流水线化处理,其中许多值通常由现代 CPU 芯片的 SIMD(单指令、多数据)功能并行处理。大多数数据库系统无法利用 SIMD CPU 功能——大多数数据库系统的一次元组(迭代器)处理模型对于编译器来说太难转换为 SIMD 指令。 VectorWise 竭尽全力确保他们的代码能够实现矢量化 CPU 处理。它们的执行原语也被编写为允许 CPU 通过循环流水线执行有效的乱序指令执行(尽管编译器应该自己发现循环流水线的机会,如果没有仔细编写代码,这不会发生在尽可能多地练习)。因此,借助高度优化的 CPU 效率代码,以及 (1) 将活动数据集保留在缓存中的运算符流水线和 (2) 面向列的执行,减少了必须从内存传送到 CPU 的数据量,VectorWise 减少了CPU和内存瓶颈的主要方式。底线是 VectorWise 具有磁盘效率、内存效率和 CPU 效率。这将为您提供整体性能包。

3、他们的创始人包括来自 CWI 的 Peter Boncz 和 Marcin Zukowski。我通常对 CWI 的 DBMS 研究小组有着较高的评价,看起来他们的解决方案很可能会开源。但请不要引用我的话。

4、我无法以某种方式从 Boncz 或 Zukowski 那里得到明确的承诺,但我得到的一般感觉是开源版本是可能的。

5、如果 VectorWise/Ingres 解决方案确实开源,我相信它们将成为 HadoopDB 的优秀列存储存储引擎。我已经申请了他们软件的学术预览版来玩。

为了公开讨论,这里是 VectorWise 的一些限制:

  • 它不是一个无共享的 MPP DBMS。它在单台机器上运行。这将其可扩展性限制为低 TB。然而,VectorWise 的目标是与 Kickfire 相同的“大众市场”,其中绝大多数数据仓库都小于 10TB。此外,如上所述,通过 HadoopDB 技术将其转变为无共享的并行 DBMS 是一个很好的候选,我期待进一步研究这个机会。

  • 以我的经验,随着时间的推移,拥有大量 CPU 优化的低级代码很难维护,并且可能会限制 VectorWise 灵活利用新机会的能力。可移植性也可能成为一个问题(从某种意义上说,并非所有优化都可以在所有 CPU 上同样有效地工作)。但是,我不会放过这样一支高素质的技术团队。

最后的两个注意事项:

  • 我喜欢他们的上市策略。与 Infobright 和 Kickfire 一样,它们追求的是低价、大容量的分析型 DBMS 大众市场。但大众市场的问题在于,您需要一个庞大的全球销售和支持团队来处理众多机会和客户。以高端为目标的初创公司要容易得多,因为他们可以通过少数高价客户度过公司的早期阶段,并且不需要在销售和支持方面投入太多。通过与 Ingres 合作,VectorWise 可以立即利用 Ingres 的全球影响力,如果他们想瞄准低端市场,这是一项关键资产。

  • CWI 也是开源 MonetDB 列存储的创建者。 VectoreWise 是一个完全独立的代码行,与 MonetDB 有几处哲学上的不同。根据 VectorWise 的说法,MonetDB 对大量中间数据的具体化(例如,从运行运算符到完成)使其比 VectorWise 的可扩展性更差(更适合内存数据集)。 VectorWise 具有出色的流水线并行性和矢量化执行。我没有与 MonetDB 小组核实他们是否对这些说法提出异议,但我阅读 MonetDB 研究论文的知识与这些陈述基本一致,我的理解是 MonetDB

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

评论