OceanBaseデータベースは単一プロセスであり、OceanBaseデータベース内には、OceanBaseデータベースの分散データベースサービスを維持するためのシステムスレッドと、データベースの負荷処理を行うワーカースレッドが存在します。
OceanBaseデータベースのスレッド分類
全体として、OceanBaseデータベースのスレッドは以下のカテゴリに分類できます:
テナントスレッド:テナントのリクエスト処理を担当するスレッドです。例えば、テナントがSQLやトランザクションリクエストを処理するスレッドで、命名規則は
TNT_L<n>_<tenant id>です。システムスレッド:
net io:ネットワークI/Oを処理するスレッドです。
disk io:ディスクI/Oを処理するスレッドです。
dagスレッド:パーティションのダンプ、コンパクション、移行などのタスクを実行するために使用されます。
clog writer:clogを書き込むスレッドです。
election worker:選出スレッドです。
misc timer:複数のバックグラウンドタイマースレッドを含み、主にリソースのクリーンアップを担当します。
その他、Root Server専用のスレッドもありますが、ここでは詳細には触れません。
最後に、特定の用途のバックグラウンドスレッドもありますが、OceanBaseデータベースをさらに深く理解する前に、これらは無視しても構いません。
その中で、テナントスレッドは各テナント固有のものであり、そのテナントのリクエストを実行する役割を担います。一方、システムスレッドはこのノード上のobserverプロセスの正常な動作とリクエスト処理を保証する役割を果たし、複数のテナントで共有されます。
詳細情報
OceanBaseデータベースのスレッドの詳細については、スレッドの概要を参照してください。