The Oracle Endeca Server software is the query engine for the front-end applications built on top of it. It answers end-user queries and provides business analytics information to the front-application's users.
The term Oracle Endeca Server is used in two related contexts: On the one hand, it is the name of the entire software package for the server. On the other hand, the Oracle Endeca Server is the Java application hosted in the WebLogic Server through which you issue queries on your data and manage your data. The data is loaded into an Endeca data domain. The Endeca 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.
Within the Oracle Endeca Server Java application, you can create one or more data domains, stop and start them, view and monitor their status, and automatically restart them.
The Endeca Server Java application, (often referred to as Endeca Server), delegates most of its actual query processing to its own internal component, the Dgraph process, which receives client requests via the application tier, queries the index, and returns the results. The Dgraph process is the query engine that uses proprietary data structures and algorithms to provide real-time responses to client requests issued to the data domain running on the server. Each data domain can be served by one or more Dgraph processes. When you create a data domain and start it, Endeca Server launches one or more Dgraph processes for it, manages these processes and monitors them.
Endeca Server includes a set of versioned Web services for loading, configuring, and querying data in a data domain. These Web services, together with the Bulk Load Interface, provide the interfaces to the Oracle Endeca Server.
The Endeca Server cluster is a deployment of multiple Endeca Server instances that host and manage multiple clustered data domains. The Endeca Server cluster serves as a building block for building other services on top of the Oracle Endeca Server software. It also supports on-premise deployments of Endeca Information Discovery. It runs in WebLogic on a homogeneous cluster of hardware nodes, all of which have access with write permissions to shared storage.
It allows system administrators to add additional servers to the cluster over time. It encapsulates the details of setting up data domain clusters, by keeping details about the location of the Endeca Server nodes and hosted data domain nodes hidden from the end users. (The end users are users of any front-end application, such as Studio, configured on top of a particular data domain cluster.)
The Endeca Server cluster makes decisions about how to allocate resources to data domains, performs load balancing and routing of requests to the appropriate nodes, and maintains availability of data domains. It provides a unified interface for provisioning and managing data domains while automating the process of data domain cluster setup, allocation of processing resources, and configuration. It lets you create a reusable set of data domain profiles for data domains, where each of the data domain profiles maps to different allotments of the underlying hardware resources on the hardware nodes hosting Endeca Server instances. When you create a data domain cluster, a previously defined profile is used initially; a cluster can be changed after it has been created.
A data domain cluster is composed of a set of nodes (Dgraph processes) all of which can serve query requests. If the data domain cluster is not read-only, one node is identified as the leader node that can process updating requests; all other nodes are follower nodes (and can process read-only query requests). For read-only data domain clusters, all nodes serve as follower nodes. One copy of the index for the data domain is shared and used by all Dgraph nodes. The Cluster Coordinator provides communication between the nodes in the data domain cluster. It also notifies the follower nodes about index updates and updates to the configuration.
If one of the data domain cluster nodes fails, queries continue to be processed by other nodes. A data domain cluster also provides increased throughput by the Oracle Endeca Server. By adding Endeca Server instances to an Endeca Server cluster that is hosting the data domain cluster, you can spread the query load across multiple Oracle Endeca Servers without the need to increase storage requirements at the same rate. Endeca Server instances can be added or removed dynamically, without having to stop the data domain cluster.
In the development environment, you can start with a single Endeca Server hosting one or more data domains. In this case, it is said that all data domains run in a "single-node" Endeca Server cluster (see the cluster description in this topic). When the Endeca Server runs on a single node, it is considered a "cluster of one" that can be expanded to include additional nodes. You can add Endeca Server instances and expand the data domain to utilize those instances. You can also add more data domains. When you move to a production environment, you can duplicate a multi-node data domain cluster that you built in the development environment.
For information on installing and deploying an Endeca Server cluster, see the section in this guide.
For detailed information on the Endeca Server cluster and the data domain cluster, see the Oracle Endeca Server Cluster Guide.
Each Endeca Server installation, regardless of whether it is a single-instance cluster installation or a multi-instance installation, includes the Cluster Coordinator. It monitors the status of Endeca Server instances and implements increased availability.
The Endeca Server software package includes a set of Data Enrichment plugins. A subset of these plugins is used through Studio, in Endeca Information Discovery. For information, see sections about data enrichments in the Oracle Endeca Information Discovery Studio User's Guide.