# Dgraphの概要

Dgraphは、データ構造とアルゴリズムを使用して、分析処理とデータ・サマリーのクライアント・リクエストにリアルタイムに応答します。

Dgraphが問い合せたデータは、一連のデータベース(以前は索引と呼ばれていました)に格納されます。Studioユーザーが特定のデータ・セットを表示する場合、Dgraphはそれを適切なデータベースから取得して結果を返します。

Dgraphは、Dgraph GatewayおよびDgraph HDFSエージェントの両方と密接に連携します。

- Dgraph Gatewayは、Studioユーザーのリクエストを処理するためにDgraphにルーティングします。セッション・アフィニティを使用して、同じDgraphインスタンスが特定のユーザー・セッションのすべての問合せに応答するようにします。1つのDgraphインスタンスを各データベースのリーダーとして指名する役割もあります。
- Dgraph HDFSエージェントは、DgraphとHDFS間のデータ・トランスポート層として機能します。DgraphのかわりにレコードをHDFSにエクスポートし、データの取込み操作時、HDFSからレコードをインポートします。

次の項では、Dgraphおよびその仕組みについて詳しく説明します。

- Dgraphデータベース
  Dgraphは、問い合せたデータをデータベース(以前は索引と呼ばれていました)に格納します。
- Dgraphクラスタ
  Dgraphノードは、BDDクラスタ内に独自のクラスタを形成します。
- Dgraphのメモリー消費
  デフォルトでは、Dgraphはホスト・マシンで使用可能なRAMの最大80%を使用できます。これにより、メモリー不足によるパフォーマンスの問題になることが回避されます。また、Dgraphではデータの取込みおよび問合せの実行に仮想メモリーが必要となり、かなりの量が使用されます。これは予期された動作であり、システム診断ツールを使用して監視できます。
- Dgraphトレース・ユーティリティ
  Dgraphトレース・ユーティリティは、Dgraphのターゲット・トレース・データを収集するDgraph診断プログラムです。ターゲット・トレース・データは、OracleサポートがDgraphをトラブルシューティングするために使用します。
- Dgraph統計
  Dgraph統計ページは、起動時間、ホスト、ポートおよびプロセス情報、データ、ログ・パスなどの情報を提供します。この情報は、Dgraphをチューニングするために使用したり、問題のトラブルシューティングのためにOracleサポートに送信したりできます。