Updated on 2025-09-05 GMT+08:00

Different Ways to Ingest Data into an Elasticsearch Cluster

Introduction

Elasticsearch clusters support multiple data ingestion methods, as listed in Table 1. Select one that fits your needs the best. Before starting to ingest data, determine whether to enhance the data ingestion performance of Elasticsearch clusters first. For details, see Enhancing the Data Ingestion Performance of Elasticsearch Clusters.

Table 1 Different ways to ingest data into an Elasticsearch cluster

Data Ingestion Method

Scenario

Supported Data Formats/Sources

Details

CSS Logstash

Use CSS Logstash to ingest data from multiple sources, such as relational databases, a Kafka service, and OBS, into Elasticsearch clusters.

  • RDS MySQL
  • Kafka data
  • OBS data

Using Logstash to Synchronize Data to Elasticsearch

Open-source Logstash

Open-source Logstash offers a server-side, real-time data processing pipeline, which supports data ingestion from multiple sources. It can be used to ingest various types of data, such as logs, monitoring data, and metrics.

JSON, CSV, and text

Using In-house Built Logstash to Import Data to Elasticsearch

Open-source Elasticsearch API

Open-source Elasticsearch APIs can be used to ingest data. This method is flexible, as you can write your own application code.

JSON

Using Open Source Elasticsearch APIs to Import Data to Elasticsearch

Cloud Data Migration (CDM)

You can use CDM for batch data migration. For example, if data is stored in OBS or an Oracle database, CDM is recommended.

JSON

Using CDM to Import Data to Elasticsearch

Data Replication Service (DRS)

DRS can be used for online database migration and real-time data synchronization.

Relational Database Service (RDS)

Using DRS to Ingest Data from a Database into Elasticsearch

Using DRS to Ingest Data from a Database into Elasticsearch

DRS is an easy-to-use, stable, and efficient cloud service for online database migration and real-time database synchronization. Real-time data synchronization refers to the real-time replication of data from one source to another while ensuring data consistency.

DRS can be used to ingest data from multiple types of relational databases to Elasticsearch clusters. For details about the supported software versions for source databases and destination clusters, see Table 2.

Table 2 Supported versions for using DRS to ingest data from a database to Elasticsearch

Scenario

Source DB

Destination Elasticsearch Cluster

Details

Ingesting data from an RDS for MySQL database to a CSS Elasticsearch cluster

RDS for MySQL 5.5, 5.6, 5.7, or 8.0

Elasticsearch 5.5, 6.2, 6.5, 7.1, 7.6, 7.9, or 7.10

(Real-Time Synchronization) From MySQL to CSS/ES

Ingesting data from a TaurusDB database to a CSS Elasticsearch cluster

Primary/standby TaurusDB instances

Elasticsearch 5.5, 6.2, 6.5, 7.1, 7.6, 7.9, or 7.10

(Real-Time Synchronization) From TaurusDB to CSS/Elasticsearch

Ingesting data from an in-house built MySQL database to a CSS Elasticsearch cluster

MySQL database 5.5, 5.6, 5.7, or 8.0 created on a local server or ECS

Elasticsearch 5.5, 6.2, 6.5, 7.1, 7.6, 7.9, or 7.10

(Real-Time Synchronization) From MySQL to CSS/ES