Logfire は、1,000x 高速なクエリ を半構造化データに対して提供するために、ダイナミックシュレッディングと呼ばれる技術を使用しています。以前は 30 秒でタイムアウトしていたクエリが、今では 1 秒未満で完了し、お客様からは「基本的に即時」の応答時間だと報告されています。同社はこの機能を 2026 年 2 月にすべてのお客様に提供します。
この最適化は、Logfire が OpenTelemetry データをどのように保存しているかに関係しています。このデータには、固定スキーマ フィールド(タイムスタンプ、スパン名)と半構造化属性(HTTP ステータスコード、ユーザー ID、リージョン)が含まれます。当初、すべての属性は単一の列に JSON ブロブとして保存され、Jiter を使用して効率的にパースされていました。このアプローチでは、半構造化データを検索する際に根本的なクエリの制限がありました。
ダイナミックシュレッディングは、JSON 属性をクエリに最適化されたカラム形式に変換し、ゾーンマップのプルーニングを向上させ、Parquet ファイルのスキャンを可能にします。この技術は、頻繁にクエリされる属性を自動的に特定し、別々の列に抽出します。一方、あまりクエリされない属性は構造化 JSON のまま保持され、分析クエリのパフォーマンスが劇的に向上します。
このブレークスルーにより、Logfire はスケールで複雑なテレメトリー ワークロードを処理できるようになり、分散システムを監視する開発チームにとって、オブザーバビリティ データがより実用的かつ応答性の高いものになります。
主要エンティティ: 会社: Logfire | 場所: us-west-2
よくある質問: ダイナミックシュレッディングはどのようにして Logfire でクエリを 1000 倍高速化するのですか?
ダイナミックシュレッディングは、半構造化 JSON 属性をカラム形式の Parquet に変換し、頻繁にクエリされるフィールドを自動的に別々の列に抽出し、あまりクエリされない属性を構造化 JSON のまま保持します。これにより、ゾーンマップのプルーニングが効率的に行われ、各クエリごとに全体の JSON ブロブをパースする必要がなくなり、パフォーマンスが劇的に向上します。
出典: Hacker News · 要約:HeadlinesBriefing