BT

最新技術を追い求めるデベロッパのための情報コミュニティ

寄稿

Topics

地域を選ぶ

InfoQ ホームページ ニュース 時系列データベースQuestDB 8.0はSQLのパフォーマンスを改善し、ZFS圧縮を追加

時系列データベースQuestDB 8.0はSQLのパフォーマンスを改善し、ZFS圧縮を追加

原文リンク(2024-07-05)

時系列データを高性能かつ効率的に扱うために設計されたオープンソースの時系列データベースQuestDBのバージョン8がリリースされた。このリリースには、より良い圧縮とパフォーマンスの提供を目的とした新しいVARCHARデータ型(STRINGを超える)がデフォルトとして含まれ、SQLクエリのパフォーマンスが50%向上し、以前は「エンタープライズ専用」であったシステムレベルのZFSによるデータ圧縮が実現する。

SQLコンパイラが更新され、パフォーマンスが向上した。また、データ取り込みレートが最適化され、スループットが向上し、待ち時間が短縮された。新しいSQL関数と既存関数の改良により、データベースの時系列分析能力が強化することを目指している。

また、ストレージ・エンジンは、ZFS圧縮を使用してより大きなデータセットを処理可能に最適化されており、QuestDBチームは、ストレージ効率とパフォーマンスが大幅に向上すると主張している。

高度なファイルシステム機能で知られるZFSは、QuestDBに堅牢な圧縮アルゴリズムをもたらす。これにより、ユーザーは大量の時系列データをよりコンパクトに保存可能になり、ストレージ利用率が6倍向上し、コスト削減と効率的なディスク利用につながる。さらにZFS圧縮は、ディスクからのデータ読み込み量を減らすことでクエリ性能を向上させ、データ検索と分析を高速化する。

STRINGデータ型からVARCHARデータ型がデフォルトとして採用されたことは、データ効率とパフォーマンスの強化に向けたもう一つの大きな転換を意味する。可変長機能を持つVARCHARは、固定サイズではなく、実際の文字列長に対してのみスペースを割り当てることで、ストレージを最適化する。この変更は、メモリフットプリントの削減に貢献し、また、処理する必要があるデータを最小限にすることで、クエリの実行時間を短縮する。さらに、デフォルトでVARCHARを使用することで、QuestDBを標準SQLのプラクティスに合わせられ、従来のリレーショナルデータベースに慣れ親しんだユーザにとって、より良い互換性と使いやすさが向上する。

このリリースでは、GLIBCのアップグレード、ILPとTextImportの変更、デフォルトのメモリアロケータの変更(jemalloc)などが行われている。後のアップデートでは、デフォルトのメモリアロケータとしてjemallocを無効にし、no-jreビルドからjemallocを削除する予定である。

QuestDBはSQLと時系列拡張を組み合わせており、タイムスタンプ付きデータに対して複雑なクエリを実行できる。QuestDBは、行単位ではなく列単位でデータを整理するカラム型ストレージモデルを採用している。このモデルは、データ圧縮の向上と読み取りアクセスの高速化を可能にするため、時系列データに特に適している。データが列単位で格納されている場合、関連する列のみをディスクから読み取る必要があるため、大量のデータをスキャンするクエリーをより効率的に実行できる。これは従来の行ベースのストレージとは対照的で、数列しか必要ない場合でも行全体を読み込まなければならない。QuestDBのカラム型モデルは、特に時系列でデータを集約したりフィルタリングしたりする分析クエリのパフォーマンスを向上させる。

興味のある読者は、GitHubのQuestDBブログポストバージョン8.0リリースノートで詳細を知ることが可能。

作者について

この記事に星をつける

おすすめ度
スタイル

BT