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