# Dgraphデータベース

Dgraphは、問い合せたデータをデータベース(以前は索引と呼ばれていました)に格納します。

データベースは、$BDD_HOME/BDD_manager/conf/bdd.confファイルの`DGRAPH_INDEX_DIR`プロパティによって定義されるDgraphデータベース・ディレクトリに格納されます。このディレクトリには、システムにより作成される3つの内部データベース(Studioが使用)も含まれています。

- system-bddProjectInventory_indexes
- system-bddDatasetInventory_indexes
- system-bddSemanticEntity_indexes

Dgraphは、StudioまたはDP CLIによって追加された新しい各データ・セットのデータベースを自動的に作成します。デフォルトでは、各データベースには`<dataset>_indexes`という名前が付けられます。ここで、`<dataset>`は元のデータ・セットの名前です。

    edp_cli_edp_256b0c6b-cacf-478c-80bf-b5332f4f37ae_indexes

たとえば、Studioで`Wine`および`Weather`という2つのデータ・セットを作成した場合、Dgraphデータベース・ディレクトリには5つのデータベースが含まれています(2つのデータ・セットにつきそれぞれ1つのデータベースと3つの内部データベース)。変換されたデータ・セットをコミットすることによって作成された他のデータベースがある場合もあります。

## データベース・ディレクトリの場所

Dgraphデータベース・ディレクトリは、すべてのDgraphノードがアクセスできる場所に格納する必要があります。次のファイルシステムがサポートされています。

- HDFS (Hadoop Distributed File System)またはMapR-FS (MapRクラスタ用)。これは最適な高可用性オプションであるため、本番環境にお薦めします。インストール後にデータベースをHDFSに移動する手順の詳細は、HDFSへのDgraphデータベースの移動を参照してください。
- NFS (ネットワーク・ファイルシステム)このオプションでは高可用性が提供されるため、本番環境に適しています。すべてのDgraphノードには、NFSに対する読取り権限および書込み権限が付与されている必要があります。
- ローカル記憶域このオプションでは高可用性は提供されないため、小さいデモ環境または開発環境にのみお薦めします。

DgraphデータベースがHDFSにある場合は、HDFSがダウンしていてもDgraphは起動できますが、リクエストを受け入れることはできません。バックグラウンド・スレッドは、接続が確立されるまで1秒間に1回、HDFSへの接続を試行します。

また、HDFS保存データ暗号化を有効にしている場合は、暗号化ゾーンという特殊なディレクトリにデータベースを保持できます。暗号化ゾーン内のすべてのファイルは、クライアント側で透過的に暗号化および暗号化解除されます。つまり、暗号化解除されたデータがHDFSに格納されることはありません。

データベースの場所の詳細は、インストレーション・ガイドを参照してください。

## データベースのロギング

Dgraphインスタンスによってデータベースがマウントされると、次のようなエントリがDgraph出力ログに書き込まれます。

    DGRAPH  NOTIFICATION  {database} [0]  Mounting database edp_cli_edp_256b0c6b-cacf-478c-80bf

このエントリはDgraph`データベース`・ログ・サブシステムにより作成されます。

データベース名は他のBDDコンポーネント・メッセージにも表示されます。たとえば、YARNログのDPワークフローの名前には次のデータベース名が含まれます。

    EDP: ProvisionDataSetFromHiveConfig{hiveDatabaseName=default, hiveTableName=warrantyclaims,
    newCollectionId=MdexCollectionIdentifier{databaseName=edp_cli_edp_256b0c6b-cacf-478c-80bf-b5332f4f37ae,
    collectionName=edp_cli_edp_256b0c6b-cacf-478c-80bf-b5332f4f37ae}}

データベース名はStudio、Dgraph HDFSエージェント、ワークフロー・マネージャおよび変換サービスのログにも表示されます。

- HDFSへのDgraphデータベースの移動
  Dgraphデータベースが現在、NFSに格納されている場合は、これらをHDFSに移動できます。