(database)= # Incus データベースについて サーバーの設定と状態を保管するために Incus は分散データーベースを使用します。 これにより(たとえば、LXC でそうされているように)設定が各インスタンスのディレクトリー内に保管される場合より高速に問い合わせができます。 利点を理解するため、すべてへのインスタンスに「どのインスタンスが`br0`を使用しているか?」のような問い合わせをすることを考えてみましょう。 データベースが無ければ、この問いに答えるためには、設定を読み込んで解釈し、どのネットワークデバイスが設定上に定義されているかの確認を、ひとつひとつのインスタンスに対して行う必要があります。 データベースがあれば、この情報を得るためにデータベースにシンプルな問い合わせを実行できます。 ## Cowsql Incus クラスタ内では、クラスタのすべてのメンバーが同じデータベースの状態を共有する必要があります。 このため、Incus は SQLIte の分散版である[Cowsql](https://github.com/cowsql/cowsql)を使用しています。 Cowsql はレプリケーション、冗長性、外部のデータベースプロセスを必要としない自動フェールオーバーの機能を提供します。 Incus をクラスタではなく単一マシンとして使用する場合は、Cowsql のデータベースは実質的には通常の SQLite データベースのように振る舞います。 ## ファイルの保管場所 データベースは Incus のデータディレクトリー(`/var/lib/incus/database/`)の`database`サブディレクトリーに保管されます。 Incus を新しいバージョンにアップグレードする際はデータベーススキーマの更新が必要かもしれません。 この場合、Incus は自動的にデータベースのバックアップをしてから更新を実行します。 詳細は{ref}`installing-upgrade`を参照してください。 ## バックアップ Incus データベースの内容をどのようにバックアップするかについての手順は{ref}`backup-database`を参照してください。