Skip to content

ログ分析のための ClickHouse クイズ ​

最終更新: September 13, 2026

  1. カラムナー形式のストレージが分析的なログクエリに役立つのはなぜですか?

    • A) 常にすべてのフィールドをスキャンするため
    • B) 選択したカラムを読み取り、繰り返される値を圧縮できるため
    • C) 固定の圧縮率を保証するため
    • D) スキーマ設計が不要になるため
回答を表示

回答: B) 選択したカラムを読み取り、繰り返される値を圧縮できるため

利点はデータ、ソートキー、クエリに依存します。このガイドは 10:1 の圧縮率や固定のスループットを保証していません。


  1. この設計における Keeper/ZooKeeper の役割は何ですか?

    • A) すべての分散 SELECT を実行する
    • B) すべてのログ行を保存する
    • C) レプリケートされたテーブルと分散 DDL を調整する
    • D) コレクターを置き換える
回答を表示

回答: C) レプリケートされたテーブルと分散 DDL を調整する

ClickHouse のクエリイニシエーターと Distributed テーブルは分散クエリを実行します。Keeper はそれらのクエリルーターではありません。


  1. MergeTree ストレージにレプリケーションを追加するエンジンはどれですか?

    • A) ReplicatedMergeTree
    • B) Memory
    • C) Buffer
    • D) Distributed 単体
回答を表示

回答: A) ReplicatedMergeTree

レプリカには引き続き調整、独立した永続ストレージ、適切な障害ドメイン設計が必要です。レプリケーションだけでは無条件の HA 保証にはなりません。


  1. 繰り返される namespace や severity の値に対して評価する価値がある型はどれですか?

    • A) 常に FixedString(255)
    • B) LowCardinality(String)
    • C) ログメッセージごとに一意の整数
    • D) 圧縮されない String のみ
回答を表示

回答: B) LowCardinality(String)

辞書エンコーディングは繰り返される値に役立つ場合があります。普遍的な個別値数のしきい値を前提とするのではなく、辞書サイズとクエリの挙動をベンチマークしてください。


  1. ログテーブルの ORDER BY はどのように選択すべきですか?

    • A) アルファベット順にする
    • B) フィールドの作成時刻で決める
    • C) 選択性の高いフィルター、局所性、代表的なクエリから決める
    • D) クエリに関係なく常に timestamp を最後に置く
回答を表示

回答: C) 選択性の高いフィルター、局所性、代表的なクエリから決める

キーは順序とインデックスプルーニングに影響します。頻繁にクエリされるカラムだけでは、最適な順序は決まりません。


  1. SAMPLE 0.1 を使用する前に、何が真でなければなりませんか?

    • A) どのテーブルでも自動的にサポートされる
    • B) テーブルには正確に 10 行が含まれていなければならない
    • C) 常に正確に行の 10% を返す
    • D) 互換性のある MergeTree サンプリング式が定義され、主キーに含まれている
回答を表示

回答: D) 互換性のある MergeTree サンプリング式が定義され、主キーに含まれている

メインのログテーブルには SAMPLE BY がありません。別の sample_demo が必要な設計を示しています。決定的なサンプリングキーの範囲が、有限の行セットの正確に 10% を含む必要はありません。


  1. 設定に応じて、Kafka は何を追加しますか?

    • A) メモリ上の Buffer による、保証された exactly-once 配信
    • B) 保持期間内でのバーストバッファリングとリプレイ
    • C) すべてのパーサーエラーの自動的な除去
    • D) 障害発生中の無制限のストレージ
回答を表示

回答: B) 保持期間内でのバーストバッファリングとリプレイ

保持期間、確認応答、レプリケーション、容量、オフセットコミット、下流の挿入動作をテストする必要があります。メモリ上の Buffer はクラッシュ時に確認応答済みのデータを失う可能性があります。


  1. オプションの response_time_ms に nullable JSON 抽出を使用するのはなぜですか?

    • A) 欠落した測定値をレイテンシーゼロのリクエストにしてはならないため
    • B) すべてのログが HTTP リクエストであるため
    • C) JSON 検証が不要になるため
    • D) サーバーのクロックを変更するため
回答を表示

回答: A) 欠落した測定値をレイテンシーゼロのリクエストにしてはならないため

最初に JSONType を確認してブール値と数値文字列を除外し、その後 nullable な数値を抽出します。nullable 抽出だけでは、これらの値が強制変換される可能性があります。カウントおよびパーセンタイルのクエリでは、測定されたイベントを使用する必要があります。


  1. TTL TO VOLUME 句が必要とするもの、および保証するものは何ですか?

    • A) S3 バケットと IAM ロールを作成する
    • B) 正確なウォールクロックの期限ですべての行を削除する
    • C) 既存の選択済みストレージポリシーと、非同期のバックグラウンド処理
    • D) コールドパートを独立した Parquet バックアップにする
回答を表示

回答: C) 既存の選択済みストレージポリシーと、非同期のバックグラウンド処理

TTL ではポリシーやクラウド権限を作成できません。コールドテーブルストレージと別途検証された Parquet アーカイブでは、所有権とリカバリーのセマンティクスが異なります。


  1. ClickHouse をバックエンドとする Grafana アラートはどのように構築すべきですか?
  • A) clickhouse_custom_query という Prometheus メトリクスをでっち上げる
  • B) 数値の SQL 結果および Grafana Alerting とともに grafana-clickhouse-datasource を使用する
  • C) すべてのダッシュボードに管理者アカウントを付与する
  • D) 受信ログがないことを正常性の証拠とみなす
回答を表示

回答: B) 数値の SQL 結果および Grafana Alerting とともに grafana-clickhouse-datasource を使用する

制限された読み取り専用アカウント、検証済みの TLS、必要なタイムアウト設定の権限を使用してください。インジェストは別途監視してください。入力がなくても集計結果がゼロを返す場合があります。


ガイドに戻る

ドキュメントに質問する

Enter で送信、Shift+Enter で改行します。