写点什么

使用 Google Supersonic 查询列存储数据库

  • 2012-10-22
  • 本文字数:1021 字

    阅读完需:约 3 分钟

Supersonic 是一个面向列存储数据库的查询引擎库,它提供了一组数据变换原语。而且 Google 宣称,因为“大量使用了高速缓存感知算法、SIMD 指令和矢量化执行,使之能够开发出现代超级流水线处理器的能力与资源”,这些数据变换原语“超级快速”。Supersonic 有以下主要特性:

  • 高速缓存感知
  • 指令流水线
  • 使用 SIMD (Single Instruction Multiple Data,单指令多数据)
  • 定制数据结构
  • 失效处理
  • 支持标准的列存储操作
  • 专门化的表达式

Supersonic 支持大量的操作(operation),这些操作既可以用于整个表,也能组合为操作树:

  • 聚合:SUM、MIN、MAX、COUNT、CONCAT、FIRST、LAST
  • 计算:将表达式(下面有更多关于表达式的信息)转换为操作
  • 过滤:过滤列存储表的行
  • 生成:创建一定数量的没有列的行
  • 限制:限制从前一操作所得结果的行数
  • 排序:将前一操作的结果排序

与操作不同的是,表达式(expression)应用于行级,负责在单个的列值上执行真正的计算。表达式也可以组合成表达式树。下面列出一些表达式:

  • 末端:叶节点,其中包含的是基本类型,如 ConstInt32、ConstBool、ConstDataType、RandInt32 等
  • 算数运算:Plus、Minus、Multiply 等
  • 比较运算:Equal、Less、Greater、IsOdd 等
  • 日期 / 时间运算:Now、Day、Month、Year、Hour、Minute、Second、AddDays 等
  • 逻辑运算:And、Or、AndNot、Xor、Not
  • 控制流:If、IsNull、IfNull、Case
  • 数学运算:Exp、Sin、Cos、Abs、Round、Floor、Trunk、Sqrt、Power 等
  • 字符串:ToString、Concat、Length、Trim 等

Supersonic 使用 C++ 编写,而且没有内置的数据存储格式,但是现在有“很强的意图”来创建一个。数据当前保存在内存中。

Supersonic 查询引擎基于 Apache License 2.0 许可发布,可以从它的 Google Code 网站下载。为了说明针对列存储表如何使用操作与表达式,源代码中提供了大量的例子

附图是Supersonic 团队给出的,表示按如下方式处理一个行数为1M 的表所得到的带有基准测试结果的操作树: 一个视图的获取要花费60 微秒(速度为16.7G rows/s),随后过滤用掉1.03 毫秒(速度为1M rows/s),后面是一个耗时25 微秒的计算(速度为41.2M rows/s),然后结果与另一个过滤结合,整个测试耗时22.1 毫秒。

查看英文原文 Querying Columnar Databases with Google Supersonic


感谢崔康对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ )或者腾讯微博( @InfoQ )关注我们,并与我们的编辑和其他读者朋友交流。

2012-10-22 06:263179
用户头像
臧秀涛 略懂技术的运营同学。

发布了 300 篇内容, 共 148.5 次阅读, 收获喜欢 35 次。

关注

评论

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

AI大模型本地化的技术难点

北京木奇移动技术有限公司

AI开发 AI算力 软件外包公司

AI本地化的大模型及特点

北京木奇移动技术有限公司

AI大模型 AI开发 软件外包公司

AI大模型的本地化测试

北京木奇移动技术有限公司

AI大模型 AI开发 软件外包公司

AI本地化大模型的维护

北京木奇移动技术有限公司

AI大模型 AI开发 软件外包公司

【MaaS应用系列】MaaS X Cursor:基于DeepSeek API快速构建代码编辑器

YG科技

Chatbox中配置MaaS模型服务使用全流程

YG科技

MaaS X Cherry Studio:基于DeepSeek API快速构建个人AI智能助手

YG科技

IBM 完成对 HashiCorp 的收购,打造全面的端到端混合云平台

财见

淘宝商品评论API接口全攻略

tbapi

淘宝API 淘宝评论API 淘宝评论数据采集

(前端二次开发CAD)在线CAD APP调用内部弹框的教程

WEB CAD SDK

网页CAD 在线CAD WEB CAD CAD SDK

AI大模型本地化部署的流程

北京木奇移动技术有限公司

AI开发 软件外包公司 AI私有化部署

AI大模型本地化部署

北京木奇移动技术有限公司

AI开发 AI算力 软件外包公司

深度解读「汇丰银行」人形机器人最新研报:技术瓶颈和核心供应链企业梳理及投资分析

机器人头条

特斯拉 大模型 人形机器人 具身智能 宇树科技

VMware ESXi 8.0U2d macOS Unlocker & OEM BIOS 集成网卡驱动和 NVMe 驱动 (集成驱动版)

sysin

esxi

每一个“她”,一路生花

中烟创新

三八妇女节

VMware ESXi 8.0U2d 发布下载 - 领先的裸机 Hypervisor

sysin

esxi

Nexpose 7.9.0 发布,新增功能概览

sysin

Nexpose

【连载 20】实时信息展示

FunTester

RAGFlow中配置MaaS API使用指导

YG科技

VMware ESXi 6.7 U3v (ESXi670-202503001.zip) 下载

sysin

esxi

VMware ESXi 6.7U3v macOS Unlocker & OEM BIOS 2.7 集成 Realtek 网卡驱动和 NVMe 驱动 (集成驱动版)

sysin

esxi

VMware ESXi 7.0U3s macOS Unlocker & OEM BIOS 2.7 集成网卡驱动和 NVMe 驱动 (集成驱动版)

sysin

esxi

【使用教程】基于MaaS DeepSeek API和Dify快速构建一个网站智能客服

YG科技

使用Google Supersonic查询列存储数据库_开源_Abel Avram_InfoQ精选文章