> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloud.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Caching

> ***キャッシュ*** を使用すると、ライブデータを取得する代わりに、データベースからキャッシュデータを取得することができます。一部のドライバーではライブデータの取得に時間がかかることがあるため、この機能によりデータ接続のパフォーマンスを向上することができます。

Connect AI のキャッシュ機能では、キャッシュするテーブル、つまりデータベースに保存するテーブルを選択できます。Connect AI は、選択したテーブルのデータをスケジュールに基づいて取得し、必要なときにいつでも迅速かつ確実にデータにアクセスできるようにします。

データのキャッシュを有効にすると、Connect AI はライブデータではなく*キャッシュされた*データに対してデータベースクエリを実行します。

**Jobs** ページには、キャッシュジョブを含む、実行するジョブのリストが表示されます。

<Frame>
  <img src="https://mintcdn.com/cdata/ARmSBi5fZhKvoezW/ja/images/cache_jobs.png?fit=max&auto=format&n=ARmSBi5fZhKvoezW&q=85&s=a767ceb13f96e16f6f731c16471fabe8" alt="Cache jobs" width="1168" height="497" data-path="ja/images/cache_jobs.png" />
</Frame>

**Job Type** で**Cache Jobs** を選択し、**Apply** をクリックすると、キャッシュジョブのみがリストに表示されます。

各ジョブについて、**Jobs** ページには完全な接続とテーブル情報、ジョブの種類、ジョブが最後に実行された時間、ジョブのステータスが表示されます。ジョブを選択してページ上部の**Run** をクリックすることで、複数のジョブをすぐに実行することができます。また、複数のジョブを選択してページ上部の**Delete** をクリックすると、複数のジョブを削除できます。ジョブを削除すると、Connect AI により関連するキャッシュデータが削除されることに注意してください。

また**Jobs** ページでは、スケジュールされたジョブを削除はせずに一時停止したい場合に、特定のキャッシュジョブを無効にすることもできます。**Status** カラムのトグルスイッチを使用して、ジョブを有効化 / 無効化します。ジョブが無効化されている限り、手動でジョブを実行することはできません。キャッシュジョブが無効になっている場合、そのデータのクエリではライブデータソースが使用されます。

<Note>
  * リレーショナルデータベースではキャッシュ機能は利用できません。
  * キャッシュは共有認証でのみ許可されており、ユーザーごとの認証では許可されていません。
</Note>

## 差分更新

Connect AI キャッシュ機能を使用すると、差分更新が可能になり、パフォーマンスが向上します。キャッシュジョブを作成すると、Connect AI はデータベース内でどの行が新しい行か、または前回の実行以降に変更された行かを示す日付または日付+時刻カラムを検索しようと試みます。その後、Connect AI はそれらの行に対してのみキャッシュジョブを実行できます。それ以外の場合は、Connect AI はフル更新を実行します。

## キャッシュを設定

キャッシュ機能を使用するには、事前にキャッシュデータ用にPostgreSQL データベースを設定する必要があります。

キャッシュデータ用にPostgreSQL のコネクションを追加するには：

<Steps>
  <Step>
    **Setup Cache Connection** をクリックします。**Add PostgreSQL Connection** ページが表示されます。
  </Step>

  <Step>
    PostgreSQL コネクションの認証を設定します。詳しい手順については、[PostgreSQL](/ja/Data-Sources/PostgreSQL) を参照してください。
  </Step>

  <Step>
    **Save & Test** をクリックしてコネクションを保存します。これで、PostgreSQL データベースにデータをキャッシュできます。
  </Step>
</Steps>

メインの**Jobs** ページから**Manage Cache Connection** をクリックすることで、いつでもPostgreSQL コネクションを編集できます。コネクションを編集すると、すでにキャッシュにあるデータはクリアされます。

## キャッシュジョブを追加

新しいキャッシュジョブを追加するには、次の手順を実行します：

<Steps>
  <Step>
    **Jobs** ページで**Add Job** > **Cache Job** をクリックします。これにより**Add Jobs** ダイアログが表示されます。ジョブの追加には**コネクションの選択**、**テーブルの追加**、および**ジョブのスケジュール**の3つのステップがあります。ヘッダーのステップをクリックするか、**back** をクリックすることで、前のステップに戻ることができます。

    <Frame>
      <img src="https://mintcdn.com/cdata/TfqVmUuBCnNRmW2K/ja/images/caching_add_jobs.png?fit=max&auto=format&n=TfqVmUuBCnNRmW2K&q=85&s=89866be1ca6070b8ff832f13c32fbca6" alt="Caching add jobs" width="749" height="731" data-path="ja/images/caching_add_jobs.png" />
    </Frame>
  </Step>

  <Step>
    ダイアログでコネクション一覧からコネクションを1つ選択し（ステップ1）、**Next** をクリックします。
  </Step>

  <Step>
    ジョブに追加するテーブルをコネクションから選択します（ステップ2）。

    <Frame>
      <img src="https://mintcdn.com/cdata/TfqVmUuBCnNRmW2K/ja/images/caching_add_tables.png?fit=max&auto=format&n=TfqVmUuBCnNRmW2K&q=85&s=ae750b7236f6efe42f921a6312bdf8df" alt="Caching add tables" width="660" height="777" data-path="ja/images/caching_add_tables.png" />
    </Frame>

    Connect AI に、選択されたデータセットの総数が表示されます。次に、**Next** をクリックします。
  </Step>

  <Step>
    データの更新頻度を、時間、日、週、または月単位で選択します（ステップ3）。

    <Frame>
      <img src="https://mintcdn.com/cdata/TfqVmUuBCnNRmW2K/ja/images/caching_schedule_jobs.png?fit=max&auto=format&n=TfqVmUuBCnNRmW2K&q=85&s=ec647e440095c0d8418fce8b8db91aa8" alt="Caching schedule jobs" width="1128" height="914" data-path="ja/images/caching_schedule_jobs.png" />
    </Frame>
  </Step>

  <Step>
    **Cache Scheme** (full or incremental) および**Time Check** を選択します。
    **Time Check Column** は差分更新専用です。Connect AI が新しい行または前回の実行以降に変更された行を判断するために使用できるカラムをテーブル内から選択します。これは通常、日付または日付+時刻のカラムです。
    <Note>データにタイムチェックカラムが含まれていない場合、Connect AI はフル更新のみを実行します。</Note>
  </Step>

  <Step>
    追加したジョブに問題がなければ、**Confirm** をクリックしてジョブを保存します。問題がある場合は、**Back** をクリックするか、ヘッダーで前のいずれかのステップをクリックして変更を加えます。
    キャッシュジョブが**ジョブ** キューに表示されます。特定のデータコネクションに対して選択した各テーブルは、個別のジョブとしてキューに保存されます。
  </Step>
</Steps>

## キャッシュジョブを編集

一覧の編集または削除用アイコンをクリックすることで、いつでもジョブを編集または削除することができます。また、**Run Now** をクリックすると、いつでも手動でジョブを実行できます。

<Frame>
  <img src="https://mintcdn.com/cdata/bW2_IPnFDk_aW2FG/ja/images/edit_job.png?fit=max&auto=format&n=bW2_IPnFDk_aW2FG&q=85&s=cf6a91f6a739a6881838f8aee6eee910" alt="Edit job" width="1176" height="640" data-path="ja/images/edit_job.png" />
</Frame>

**Edit Job** ページでは、以下の操作が可能です：

* キャッシュスキームを変更する。例えば、フル更新を差分更新に変更するなど。
* 実行履歴やステータスを表示する。ジョブが成功したかどうかを確認できます。
* ログの詳細レベルを変更する。
* 単一ジョブを手動で実行する。複数ジョブの実行は、メインの**Jobs** 画面で行えます。
* キャッシュ機能をOFF にする。キャッシュをOFF にすると、再度ON にするまでクエリはライブデータソースに送られることに注意してください。
* キャッシュをリフレッシュする。キャッシュをリフレッシュすると、以前に保存されたデータがすべて削除されるため、完了までに時間がかかる場合があります。
* ジョブを削除する。これにより、データベース内のすべてのキャッシュデータが削除されます。複数ジョブの削除は、メインの**Jobs** 画面で行えます。
