The Oracle Endeca Server is the core search-analytical database. It organizes complex and varied data from disparate source systems into a faceted data model that is extremely flexible and reduces the need for up-front data modeling. This highly-scalable server enables users to explore data in an unconstrained and impromptu manner and to rapidly address new questions that inevitably follow every new insight.
It is useful to recognize that the term "Endeca Server" may refer to the Endeca Server software package, and to the Endeca Server Java application hosted in the WebLogic Server. Whenever this distinction is needed, the documentation refers to the software package as "the Oracle Endeca Server", and to the Java application as the "Endeca Server Java application".
The Oracle Endeca Server is designed to host multiple Endeca data domains. The Oracle Endeca Server maintains the index of records for the data domain in memory, receives queries, executes them against the stored index, and returns the results.
Once the Endeca Server package is installed in the WebLogic Server, the WebLogic Server starts the Endeca Server Java application. The Endeca Server software exposes almost all of its APIs as SOAP Web services.
A data domain is a logical collection of data and metadata managed by the Endeca Server. Through its interfaces, the Endeca Server allows for the data loading, configuration, and querying of a data domain. A data domain may impose order on subsets of its data through entities (known in Studio as views). A data domain is the largest unit of data over which the Endeca Server allows queries to be expressed. It represents a discrete set of data and includes indexed data records and system records. (Applications wishing to correlate, join, or display data from multiple data domains must do so themselves.)
The Dgraph is the name of the process created in the Oracle Endeca Server, for each data domain. Each Dgraph process handles requests made to the data domain. The Dgraph process of the Oracle Endeca Server uses proprietary data structures and algorithms that allow it to provide real-time responses to client requests. The Dgraph process stores the index created after your source data is ingested. After the index is stored, it receives client requests via the application tier, queries the data files, and returns the results through the Oracle Endeca Server. The communication between the Endeca Server and the Dgraph process is secure by default.
Once a data domain is created, you only need to use the name of the data domain to manage it. You don't need to know which port the Dgraph processes for the data domain are running on, as the Endeca Server keeps track of that information. This name-only reference to the data domains makes it much easier to enable and disable them and perform other data domain management operations.
The Endeca Server includes a set of commands, available through endeca-cmd, with which you create and control data domains. Optionally, you can use the Web services of the Endeca Server for this purpose.
The Oracle Endeca Server is designed to be stateless. This design requires that a complete query be sent to it for each request, for each Endeca data domain hosted in the Endeca Server. The stateless design facilitates the addition of multiple Oracle Endeca Server instances for load balancing and redundancy — any instance of an Oracle Endeca Server cluster hosting a data domain can reply to queries independently of other instances, utilizing a shared data domain index.
Consequently, for each Endeca data domain, configuring additional Dgraph processes as nodes in a data domain cluster increases availability of request processing for the data domain. If a node in the data domain cluster goes down, at least one of the Dgraphs running in the cluster continues to reply to queries.