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