Orchestration
=============

オーケストレーションはパイプラインの実行を管理し、データがいつどのように処理されるかを決定します。オーケストレーションのコアコンポーネントは次のとおりです。

- **自動処理**
  パイプラインはバックグラウンドで実行するか、データとの同期を保つことができます。バッチサイズ、トリガーを構成し、同期または非同期処理モードを選択できます。

- **変更検出**
  新しい、更新、または削除されたレコードを識別するため、ダーティデータのみが処理されます。

- **同期対非同期**
  ライブ即時、トランザクション更新またはバックグラウンド定期的、ノンブロッキング更新のいずれかを選択します。

- **バックグラウンドワーカー**
  バックグラウンドワーカーは、メインデータベースのパフォーマンスに影響を与えることなく、OCR、ドキュメント解析、API呼び出しの埋め込みなどのAIタスクを非同期に実行する専用のPostgresプロセスです。

- **リソースの分離**
  これらはユーザーセッションとは無関係に実行され、大量のデータの取り込み中もアプリの高速性を保証します。

- **バッチと再試行**
  データを効率的なバッチにグループ化してAPIコストを節約し、外部サービスOpenAIなどのサービスが制限されている場合に自動的に再試行します。一時的にダウン。

- **可観測性**
  自動化されたワークフローの詳細なステータスを提供します。これらのプロセスはバックグラウンドで実行されているため、可観測性により、状態、速度、および精度を追跡できます。

- **ステータス追跡** ``aidb.pipeline_metrics``
  のようなビューを使用して、バックログにある行数とレコードの合計数を確認します。
  destination.

- **監査とエラーログ**
  特定のファイルが破損したPDFまたはタイムアウトなどの解析に失敗した理由を正確にキャプチャし、迅速なトラブルシューティングを可能にします。

完全なパイプラインワークフローに適用されたオーケストレーションを確認するには、
:ref:`Examples <Examples>` を参照してください。

.. toctree::
  :maxdepth: 3

  data-pipelines--orchestration--auto-processing
  data-pipelines--orchestration--background-workers
  data-pipelines--orchestration--observability
  data-pipelines--orchestration--error-log
