您现在的位置是:首页 > 文章详情

QuestDB 9.0 正式发布,高性能开源时序数据库

日期:2025-07-17点击:261

QuestDB 是一款开源的时序数据库,提供了超低延迟、高吞吐量和多层存储引擎,支持多种协议(如 InfluxDB 行协议、PostgreSQL 协议、REST API),并与许多工具和语言集成,非常适合金融市场数据、实时分析等场景。

QuestDB 近日发布重大版本 9.0,增加了 N 维数组、日历感知的物化视图 (materialized views)、提高了数据去重效率、实现了更智能的 JOIN,并重构了 Web 控制台的 UX。

下面介绍 QuestDB 9.0 值得关注的新特性。

  • 支持 N 维数组

引入真正的 N 维数组(类似 NumPy 的数组),支持零拷贝切片、转置、累积操作和聚合,适用于市场数据订单簿深度或机器学习权重快照,目前支持 DOUBLE[] 类型,更多数据类型即将推出。

  • 二进制行协议

支持二进制 DOUBLE[] / DOUBLE 协议,提升高吞吐量摄取效率,降低带宽使用,加快服务器端处理速度。

 import pandas as pd from questdb.ingress import Sender df = pd.DataFrame({ 'symbol': pd.Categorical(['ETH-USD', 'BTC-USD']), 'side': pd.Categorical(['sell', 'sell']), 'price': [2615.54, 39269.98], 'amount': [0.00044, 0.001], 'ord_book_bids': [ np.array([2615.54, 2618.63]), np.array([39269.98, 39270.00]) ], 'timestamp': pd.to_datetime(['2021-01-01', '2021-01-02'])}) conf = f'http::addr=localhost:9000;' with Sender.from_conf(conf) as sender: sender.dataframe(df, table_name='trades', at='timestamp')
  • 升级物化视图

新增高效的 replace commit 机制、支持自 UNION 查询、延迟或推迟刷新,并引入三种新的视图刷新模式(TIMERMANUALPERIOD),后者支持时区感知、日历调度的刷新。

  • 优化数据去重

提高数据去重效率,新增优化以跳过未更改的数据,减少 I/O 开销。

 import pandas as pd from questdb.ingress import Sender df = pd.DataFrame({ 'symbol': pd.Categorical(['ETH-USD', 'BTC-USD']), 'side': pd.Categorical(['sell', 'sell']), 'price': [2615.54, 39269.98], 'amount': [0.00044, 0.001], 'ord_book_bids': [ np.array([2615.54, 2618.63]), np.array([39269.98, 39270.00]) ], 'timestamp': pd.to_datetime(['2021-01-01', '2021-01-02'])}) conf = f'http::addr=localhost:9000;' with Sender.from_conf(conf) as sender: sender.dataframe(df, table_name='trades', at='timestamp')
  • 改进 Web 控制台

界面焕然一新,支持多行查询同时执行、查询日志记录,以及通过右键点击运行箭头获取查询计划,便于调试。

  • ASOF JOIN with TOLERANCE

新增 TOLERANCE 参数,允许为匹配设置合理的时间范围,便于处理特定时间后“过期”的数据。

 DECLARE @level := insertion_point(bids[2], bid_volume), @price := bids[1][@level] SELECT md.timestamp market_time, @level level, @price market_price, cp.timestamp core_time, cp.bid_price core_price FROM ( core_price WHERE timestamp IN today() AND symbol = 'GBPUSD' LIMIT -6 ) cp -- Match the bid to its nearest price within one second. ASOF JOIN market_data md ON symbol TOLERANCE 1s;

详情查看发布公告

原文链接:https://www.oschina.net/news/360851/questdb-9-released
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章