Oracle Endeca Server overview

The Oracle Endeca Server is a hybrid search-analytical engine that organizes complex and varied data from disparate sources. At the core of Endeca Information Discovery, the NoSQL-like data model and in-memory architecture of Endeca Server create an extremely agile framework for handling complex data combinations, eliminating the need for complex up-front data modeling and offering extreme performance at scale.

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 unit 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 collections (known in Studio as data sets). 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.