About the Dgraph

The Dgraph uses proprietary data structures and algorithms that allow it to provide real-time responses to queries.

The Dgraph stores the ingested data in the index with which the Dgraph was started. After the data is stored in the index, the Dgraph receives client requests from Studio, queries the index, and returns the results.

The Dgraph is stateless. This design requires that a complete query is sent to it for each request. The stateless design facilitates the addition of Dgraphs for load balancing and redundancy — any replica of a Dgraph can reply to queries independently of other replicas.

An Oracle Big Data Discovery cluster has one or more Dgraph processes that handle end-user query requests accessing the index on shared storage. One of the Dgraphs in a Big Data Discovery cluster is the leader and therefore responsible for handling all write operations (updates, configuration changes), while the remaining Dgraphs serve as read-only followers.

Dgraph Tracing Utility

The Dgraph has an internal diagnostic program, called the Dgraph Tracing Utility, that constantly keeps track of all Dgraph operations. The Tracing Utility is started automatically when the Dgraph starts and it is shut down automatically when the Dgraph stops. That is, the Tracing Utility cannot be started or shut down manually.

The Tracing Utility stores the Dgraph target trace data it collects in *.ebb files, which are useful in analyzing Dgraph crashes. The files are intended for use by Oracle Support. The files are saved in the $DGRAPH_HOME/bin directory.

The trace data files are saved to disk automatically after these events:
  • On normal program exit, such as stopping the Dgraph with the bdd-admin.sh script.
  • When a crash is caught in a top-level exception handler.

You can also manually save the trace data, as described in Saving trace data for the Dgraph.

Additionally, you can download the *.ebb files, as described in Downloading Dgraph trace files.