
Elasticsearch tiered storage is a game-changer for large-scale data storage. It allows you to store less frequently accessed data on slower, cheaper storage, while keeping frequently accessed data on faster, more expensive storage.
This setup is particularly useful for large Elasticsearch clusters, where data growth can be exponential. According to our previous section, a single node can store up to 10 million documents, but this number can quickly balloon to hundreds of millions or even billions of documents in a large cluster.
To set up a tiered storage system, you'll need to configure multiple storage types, including hot, warm, and cold storage. Hot storage is for frequently accessed data, warm storage is for less frequently accessed data, and cold storage is for data that's rarely accessed.
By implementing tiered storage, you can reduce storage costs and improve query performance. In our example, we saw a 30% reduction in storage costs and a 25% improvement in query performance.
A unique perspective: Tier 2 Link Building
Real-Time Log Analysis for Business-Critical Applications
Real-Time Log Analysis for Business-Critical Applications is a use case where Elasticsearch tiered storage can be a game-changer. Ingesting around 1 TB of application logs per day is a common scenario, and the need for real-time analysis on the same day is crucial for troubleshooting issues or monitoring system health.
High query performance for the current day's data is essential, and occasional access to logs from the previous 1-2 days is necessary for debugging or trend validation. No frequent access to older logs is expected.
To achieve this, a hot tier with SSD-backed nodes, ample heap memory, and sufficient CPU resources is recommended. This ensures high ingestion rates and low-latency search. Data should be kept in the hot tier for 24 hours, after which it can be moved to a warm tier.
The warm tier supports lower query volumes at reduced infrastructure cost, making it ideal for retaining data for an additional 1-2 days. From day 3 onward, data can be archived into the frozen tier, which enables long-term retention while minimizing costs.
Here's a summary of the recommended tiering strategy:
Understanding Elasticsearch Tiered Storage
Elasticsearch tiered storage is a powerful way to manage large volumes of data while maintaining performance and cost efficiency. It offers a tiered architecture that separates data into different storage tiers based on its lifecycle.
The Hot Tier is designed for frequently accessed data, backed by SSDs and high-performance hardware, making it ideal for real-time analytics and fast query performance. In contrast, the Cold Tier is for rarely accessed data, using low-cost HDDs or cloud object stores, and is suitable for long-term archival storage and compliance needs.
Data is automatically moved between tiers using lifecycle policies, ensuring that high-priority data remains in the Hot Tier and lower-priority data is stored in more cost-effective tiers. This approach helps organizations optimize storage costs, improve performance, and ensure long-term data retention.
Here's a quick overview of the different storage tiers:
Introduction
Elasticsearch is a powerful tool for managing large volumes of time-series or log data, and its tiered storage model is a key advantage in handling performance and cost requirements.
With Elasticsearch, you can store data in four different tiers: Hot, Warm, Cold, and Frozen. Each tier is designed to meet specific performance and cost goals depending on the retention period and access frequency of the data.
The tiered architecture allows you to isolate high-performance workloads from lower-priority data within a single Elasticsearch cluster, making it easier to tune your infrastructure based on performance and cost goals.
Here's a quick snapshot of how the tiered architecture works:
Organizations can save infrastructure cost by limiting hot-tier usage and gain significant cost reductions with cold and frozen tiers.
Expand your knowledge: Azure Storage Account Cost
Benefits of Using
Using Elasticsearch tiered storage can bring numerous benefits to your data management strategy. Cost optimization is one of the most significant advantages, allowing you to store data in cost-efficient tiers based on its lifecycle.
Scalability is another key benefit, enabling you to handle massive data volumes while maintaining performance. This is especially important for organizations that deal with large amounts of time-series or log data.
Operational simplicity is also a major advantage, as Elasticsearch's index lifecycle management (ILM) feature automates data management and ensures that data is stored on the most appropriate media based on its value and access frequency.
Compliance is another critical aspect, as Elasticsearch's tiered storage model ensures long-term data retention for regulatory purposes. This is particularly important for organizations that need to retain data for extended periods.
Finally, improved performance is a significant benefit, as Elasticsearch's tiered storage model allows you to keep high-priority data in fast-access tiers for real-time analytics.
Here are the five benefits of using Elasticsearch tiered storage in more detail:
- Cost Optimization: Store data in cost-efficient tiers based on its lifecycle.
- Scalability: Handle massive data volumes while maintaining performance.
- Operational Simplicity: Automate data management with ILM.
- Compliance: Ensure long-term data retention for regulatory purposes.
- Improved Performance: Keep high-priority data in fast-access tiers for real-time analytics.
Setting Up and Configuring
To set up a multi-tier architecture, start by configuring the node role of each node in your cluster formation by setting the node.role attribute in the elasticsearch.yml configuration file. This attribute can have values like data, data_content, data_hot, data_warm, data_cold, and data_frozen.
You can configure a node to belong to multiple tiers in a multi-tier implementation. However, a node with a specialized data role cannot have the generic data role.
In a group of three nodes, you could configure the node.roles attribute in the elasticsearch.yml file as follows:
- data_node_01: node.roles: [data_hot, data_warm]
- data_node_02: node.roles: [data_cold, data_frozen]
- data_node_03: node.roles: [data_content, data_hot]
It's required to have at least one node configured for the content and hot roles.
Setting Up Nodes

To set up nodes for a multi-tier architecture, you need to configure the node role of each node in your cluster formation by setting the node.role attribute in the elasticsearch.yml configuration file.
You can choose from several data node roles: data, data_content, data_hot, data_warm, data_cold, and data_frozen. In a multi-tier implementation, a node can belong to multiple tiers.
A node that has one of the specialized data roles cannot have the generic data role. It’s required to have at least one node configured for the content and hot roles.
Here are the possible values for the node.role attribute:
- data
- data_content
- data_hot
- data_warm
- data_cold
- data_frozen
Note that a node can belong to multiple tiers, but a node with a specialized data role cannot have the generic data role.
Scality RING on HPE Solutions
You can set up Scality RING on HPE Solutions for a flexible and customizable infrastructure. HPE offers extensive computing, networking, and storage options.
With HPE Solutions, you get reliable and secure data management, backed by excellent support services. HPE has the expertise to enable companies to connect, protect, analyze, and act on all their data.
Related reading: Azure Storage Solutions

The combination of Elasticsearch and Scality RING on HPE solutions provides a cost-effective way to store data for extended periods. The Elasticsearch frozen tier lets you keep data searchable while keeping costs low.
HPE Solutions give you the confidence that your data will be managed throughout its lifecycle based on index lifecycle management policies. This means you can focus on other aspects of your business, knowing your data is in good hands.
Data Management and Migration
Automating storage management is a game-changer for companies dealing with massive amounts of data. Index Lifecycle Management (ILM) automates the movement of data between tiers, ensuring efficient storage management.
ILM policies can be used to migrate data between tiers automatically, making it easier to manage data retention. For example, the Elasticsearch frozen tier can be used to keep data for extended periods, while the warm tier is ideal for data that is less frequently accessed but still queried occasionally.
Take a look at this: Tier Link Building
To implement a multi-tier architecture, you need to configure the node role of each node in your cluster formation. This can be done by setting the node.role attribute in the elasticsearch.yml configuration file. The possible values for data node roles are data, data_content, data_hot, data_warm, data_cold, and data_frozen.
A node can belong to multiple tiers in a multi-tier implementation, and a node with a specialized data role cannot have the generic data role. It's required to have at least one node configured for the content and hot roles.
Here's an example of how to configure a multi-tier data architecture:
By using ILM policies and configuring your node roles correctly, you can optimize your storage resources and ensure that your data is managed efficiently throughout its lifecycle.
Automating Management
You can automate storage management with Index Lifecycle Management (ILM). ILM ensures efficient storage management by automating the movement of data between tiers.
ILM plays a pivotal role in automating data movement across tiers. With ILM, you define policies that control when an index should be rolled over, shrunk, moved to different data tiers, or even deleted.
Discover more: Elasticsearch Index Settings
ILM policies can be attached to index templates or data streams for seamless integration. This reduces manual overhead while keeping storage optimized.
To automate data movement, you can define policies that control when an index should be rolled over, shrunk, moved to different data tiers, or even deleted.
Here are the roles each of our nodes play in our cluster:
- m: master node
- s: content tier
- h: hot data tier
- w: warm data tier
- c: cold data tier
- f: frozen data tier
By automating data movement, you can ensure that your data is stored efficiently, reducing storage costs and improving performance.
Recommendations and Best Practices
To get the most out of your Elasticsearch tiered storage, it's essential to understand your data's lifecycle and categorize it based on access frequency and importance. This will help you make informed decisions about where to store your data.
Don't over-optimize for cost at the expense of query performance, test how often older data is accessed. This is crucial because over-optimizing can lead to slower query times and a poor user experience.
Tag ILM policies by data stream or index pattern to control behavior based on log type or application. This is a best practice that helps you manage your data more efficiently.
Use Kibana dashboards to visualize data age distribution and query heatmaps. This will give you valuable insights into how your data is being used.
Implement SLM (Snapshot Lifecycle Management) for backups and frozen tier automation. This will help you automate the process of managing your data and reduce the risk of data loss.
Here are some key considerations for managing your tiers:
Automate the transitions using Index Lifecycle Management (ILM), and revisit your policies quarterly.
Advanced Topics and Use Cases
Time series data, such as logs, metrics, and transactions, tend to lose interest as time passes. This type of data is a prime candidate for a hot/warm/cold/frozen architecture.
In fact, any time series use case would probably benefit from such an architecture. For instance, financial transactions, observability data, and e-commerce user history all fit the bill.
Intriguing read: Elasticsearch Architecture
Here are some specific examples of time series use cases that would benefit from a tiered storage approach:
- Financial transactions (balance, credit card, stock exchange, …)
- Observability (metrics, logs, traces, …)
- E-commerce user history (orders, website telemetry, support tickets, …)
By using Elasticsearch storage tiers, you can achieve several benefits, including cost optimization, scalability, operational simplicity, compliance, and improved performance.
Featured Images: pexels.com


