注目★★★★★Lobsters
VictoriaLogs、ログをカラムナーレイアウトで圧縮・高速クエリを実現する仕組み
30秒で把握
- 1VictoriaLogs、CPU シャード単位でログをメモリバッファに蓄積し秒単位で検索可能なパートに変換
- 2日付単位パーティション構造で保持期間削除とタイムレンジクエリが低コスト・小パートの順次マージで GiB/秒取り込みを HDD で実現
- 3stream_fields を低カーディナリティに設定・vl_storage_parts メトリクス監視・-inmemoryDataFlushInterval 設定でディスク I/O と信頼性を制御
要約
VictoriaLogs はログの到着から保存までを 3 段階で処理し、高速クエリと効率的な圧縮を実現する。受け取ったログは内部形式に正規化され、CPU コア単位でシャード化されたバッファに蓄積され、約 1 秒ごとにメモリ内パート (in-memory part) にフラッシュされる。ログは日付単位のパーティションに分割され、保持期間による削除とクエリの高速化が容易になる。
あなたへの影響
VictoriaLogs を運用する場合、stream_fields を低カーディナリティに設定し、trace_id や user_id は通常フィールドに回すことで圧縮効率が大きく向上します。
推奨:また vl_storage_parts メトリクスでメモリ・ディスク上のパート数を監視し、-inmemoryDataFlushInterval (デフォルト 5 秒) でクラッシュ時のログ損失リスクを制御できます。