observerプロセスは単一プロセスです。observerプロセス内では多様なスレッドが起動されますが、大まかにはワーカースレッドとバックグラウンドスレッドに分類できます。
テナントワーカースレッド
sql/transaction workerはSQLおよびトランザクションリクエストを処理するスレッドです。これはテナントごとに分かれており、各テナントには独自のsql/transaction worker、すなわちテナントワーカースレッドが存在します。
バックグラウンドスレッド
テナントを区別するバックグラウンドスレッド
observerプロセスには以下のようなテナントを区別するバックグラウンドスレッドが含まれており、各テナントごとに一式のスレッドが存在します:
disk io: ディスクI/Oを処理するスレッド。
dag thread: パーティションのダンプ、マージ、移行などのタスクを実行するために使用されます。
clog writer: clogを書き込むスレッド。
election worker: 選挙スレッド。
misc timer: 複数のバックグラウンドタイマースレッドを含み、主にリソースのクリーンアップを担当します。
テナントを区別しないバックグラウンドスレッド
observerプロセスには以下のようなテナントを区別しないバックグラウンドスレッドが含まれています:
net io: ネットワークI/Oを処理するスレッド。
Root Server専用のスレッド。