我们如何使使用 chDB 对 Pandas DataFrames 的查询速度提高 87 倍

主要观点:

  • 介绍通过 ClickHouse Cloud 开始使用并获得 300 美元信用额度,还可了解基于用量的折扣等信息。
  • 分享 chDB 这一嵌入式 ClickHouse 版本在过去几个月的性能改进,包括从最初版本到 v2 版本在处理数据和运行 SQL 方面的优化。
  • 讲述为使 chDB 成为世界上最快的 DataFrame 上的 SQL 引擎所采取的措施,如避免调用 CPython API 函数、批量数据复制、重写 Python 字符串编码解码逻辑等。
  • 展示 chDB 与 DuckDB 在处理包含 1000 万行 ClickBench 数据的 DataFrame 时的性能对比。
  • 介绍 chDB v2.0.2 及之后版本中的 chdb.PyReader 功能,可让用户用 Python 定义自己的表返回逻辑,还给出了查询 Google Calendar 的示例。

关键信息和重要细节:

  • ClickHouse Cloud 相关链接:Get startedcontact uspricing page
  • chDB 发展历程:始于近两年前,六个月前加入 ClickHouse,现分享性能改进。
  • chDB v1 最初处理内存中 DataFrame 的方式:序列化到 Parquet 再进行一系列操作,存在大量序列化、反序列化和内存复制耗时问题。
  • chDB v2 的新功能:引入 SQL on DataFrame,可对 DataFrame 变量等运行 SQL,如多种数据类型可像表一样被查询。
  • 优化 chDB 性能的步骤:减少开销直接读取 Python 对象、减少 CPython API 函数调用、批量数据复制、重写 Python 字符串编码解码逻辑等,使 Q23 查询时间大幅减少。
  • chDB 与 DuckDB 的性能对比图表及相关测试硬件等信息。
  • chdb.PyReader 功能及使用示例,可自定义数据返回逻辑,如查询 Google Calendar 示例。
  • 可通过运行pip install "chdb>=2.0.2"安装 chDB v2.0.2 及之后版本,感兴趣可加入 Discord 等。
阅读 16
0 条评论