Replicate Elasticsearch Data to Multiple Databases

Ready to get started?

Learn more or sign up for a free trial:

CData Sync



Replicate Elasticsearch data to disparate databases with a point-and-click configuration.

Always-on applications rely on automatic failover capabilities and real-time access to data. CData Sync integrates live Elasticsearch data into your mirrored databases, always-on cloud databases, and other databases such as your reporting server: Automatically synchronize with remote Elasticsearch data from Windows.

Configure Replication Destinations

Using CData Sync, you can replicate Elasticsearch data to any number of databases, both cloud-based and on-premises. To add a replication destination, navigate to the Connections tab.

For each destination database:

  1. Click Add Connection.
  2. Select a destination. In this article, we use SQLite.
  3. Enter the necessary connection properties. To replicate Elasticsearch to a SQLite database, enter a file path in the Data Source box.
  4. Click Test Connection to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure the Elasticsearch Connection

You can configure a connection to Elasticsearch from the Connections tab. To add a connection to your Elasticsearch account, navigate to the Connections tab.

  1. Click Add Connection.
  2. Select a source (Elasticsearch).
  3. Configure the connection properties.

    Set the Server and Port connection properties to connect. To authenticate, set the User and Password properties, PKI (public key infrastructure) properties, or both. To use PKI, set the SSLClientCert, SSLClientCertType, SSLClientCertSubject, and SSLClientCertPassword properties.

    The data provider uses X-Pack Security for TLS/SSL and authentication. To connect over TLS/SSL, prefix the Server value with 'https://'. Note: TLS/SSL and client authentication must be enabled on X-Pack to use PKI.

    Once the data provider is connected, X-Pack will then perform user authentication and grant role permissions based on the realms you have configured.

  4. Click Connect to ensure that the connection is configured properly.
  5. Click Save Changes.

Configure Replication Queries

CData Sync enables you to control replication with a point-and-click interface and with SQL queries. For each replication you wish to configure, navigate to the Jobs tab and click Add Job. Select the Source and Destination for your replication.

Replicate Entire Tables

To replicate an entire table, click Add Tables in the Tables section, choose the table(s) you wish to replicate, and click Add Selected Tables.

Customize Your Replication

You can use a SQL query to customize your replication. The REPLICATE statement is a high-level command that caches and maintains a table in your database. You can define any SELECT query supported by the Elasticsearch API. To customize your replication, click Add Custom Query in the Tables section and define the Query Statement.

The statement below caches and incrementally updates a table of Elasticsearch data:

REPLICATE Orders;

You can specify a file containing the replication queries you want to use to update a particular database. Separate replication statements with semicolons. The following options are useful if you are replicating multiple Elasticsearch accounts into the same database:

  • Use a different table prefix in the REPLICATE SELECT statement:

    REPLICATE PROD_Orders SELECT * FROM Orders;
  • Alternatively, use a different schema:

    REPLICATE PROD.Orders SELECT * FROM Orders;

Schedule Your Replication

In the Schedule section, you can schedule a job to run automatically, configuring the job to run after specified intervals ranging from once every 15 minutes to once every month.

Once you have configured the replication job, click Save Changes. You can configure any number of jobs to manage the replication of your Elasticsearch data to disparate on-premises, cloud-based, and other databases.