Amazon ElastiCache vs Amazon Redshift

Need advice about which tool to choose?Ask the StackShare community!

Amazon ElastiCache

1.3K
1K
+ 1
151
Amazon Redshift

1.5K
1.4K
+ 1
108
Add tool

Amazon ElastiCache vs Amazon Redshift: What are the differences?

Introduction

Amazon ElastiCache and Amazon Redshift are two widely used services provided by Amazon Web Services (AWS) for managing data storage and processing. While they both serve different purposes, there are key differences between the two that make them suitable for specific use cases.

  1. Scalability and Performance: Amazon ElastiCache is a fully managed in-memory data store that provides high performance and low-latency access to frequently accessed data. It is designed for caching and real-time data processing, making it ideal for use cases where low latency is crucial, such as real-time application dashboards or session management. On the other hand, Amazon Redshift is a fully managed data warehousing service that allows users to query and analyze large datasets with high performance. It is optimized for online analytical processing (OLAP) and provides the ability to run complex queries across petabytes of data.

  2. Data Persistence: ElastiCache is primarily an in-memory data store and is not suitable for persistent data storage. It uses a cache eviction policy to manage the data in memory, which means that data may be evicted based on predefined rules. On the other hand, Amazon Redshift provides persistent storage for large datasets and can retain data over a longer period. It uses columnar storage and compression techniques to optimize storage and query performance.

  3. Data Structure and Querying: ElastiCache supports key-value-based data structures like Redis and Memcached, making it suitable for applications that require simple data retrieval and caching. It does not provide advanced querying capabilities. On the other hand, Amazon Redshift supports SQL-based querying, allowing users to perform complex queries and aggregations on structured data. It provides a rich set of SQL functions and extensions to optimize analytical workloads.

  4. Data Consistency and Durability: ElastiCache does not provide built-in durability and replication mechanisms. It relies on replication techniques provided by Redis or Memcached to ensure data availability and reliability. In contrast, Amazon Redshift automatically replicates data across multiple nodes within a cluster to ensure high availability and durability. It provides built-in backup and restore mechanisms to support data recovery.

  5. Cost Structure: ElastiCache pricing is based on the size of the cache nodes and the amount of data transferred in and out of the cache. It is typically priced on an hourly basis. On the other hand, Amazon Redshift pricing is based on the compute resources consumed and the amount of data stored. It is typically priced per hour and per terabyte of data stored.

  6. Use Cases: ElastiCache is commonly used for caching frequently accessed data, reducing database load, and improving application performance. It is suitable for use cases such as session management, real-time analytics, and high-traffic websites. Amazon Redshift, on the other hand, is designed for large-scale data warehousing and analytical workloads. It is suitable for data analysis, business intelligence, and data exploration.

In summary, Amazon ElastiCache is a high-performance in-memory caching service suitable for real-time data processing and low-latency access, while Amazon Redshift is a scalable data warehousing service optimized for querying and analyzing large datasets.

Advice on Amazon ElastiCache and Amazon Redshift

We need to perform ETL from several databases into a data warehouse or data lake. We want to

  • keep raw and transformed data available to users to draft their own queries efficiently
  • give users the ability to give custom permissions and SSO
  • move between open-source on-premises development and cloud-based production environments

We want to use inexpensive Amazon EC2 instances only on medium-sized data set 16GB to 32GB feeding into Tableau Server or PowerBI for reporting and data analysis purposes.

See more
Replies (3)
John Nguyen
Recommends
on
AirflowAirflowAWS LambdaAWS Lambda

You could also use AWS Lambda and use Cloudwatch event schedule if you know when the function should be triggered. The benefit is that you could use any language and use the respective database client.

But if you orchestrate ETLs then it makes sense to use Apache Airflow. This requires Python knowledge.

See more
Recommends
on
AirflowAirflow

Though we have always built something custom, Apache airflow (https://airflow.apache.org/) stood out as a key contender/alternative when it comes to open sources. On the commercial offering, Amazon Redshift combined with Amazon Kinesis (for complex manipulations) is great for BI, though Redshift as such is expensive.

See more
Recommends

You may want to look into a Data Virtualization product called Conduit. It connects to disparate data sources in AWS, on prem, Azure, GCP, and exposes them as a single unified Spark SQL view to PowerBI (direct query) or Tableau. Allows auto query and caching policies to enhance query speeds and experience. Has a GPU query engine and optimized Spark for fallback. Can be deployed on your AWS VM or on prem, scales up and out. Sounds like the ideal solution to your needs.

See more
Get Advice from developers at your company using StackShare Enterprise. Sign up for StackShare Enterprise.
Learn More
Pros of Amazon ElastiCache
Pros of Amazon Redshift
  • 58
    Redis
  • 32
    High-performance
  • 26
    Backed by amazon
  • 21
    Memcached
  • 14
    Elastic
  • 41
    Data Warehousing
  • 27
    Scalable
  • 17
    SQL
  • 14
    Backed by Amazon
  • 5
    Encryption
  • 1
    Cheap and reliable
  • 1
    Isolation
  • 1
    Best Cloud DW Performance
  • 1
    Fast columnar storage

Sign up to add or upvote prosMake informed product decisions

What is Amazon ElastiCache?

ElastiCache improves the performance of web applications by allowing you to retrieve information from fast, managed, in-memory caches, instead of relying entirely on slower disk-based databases. ElastiCache supports Memcached and Redis.

What is Amazon Redshift?

It is optimized for data sets ranging from a few hundred gigabytes to a petabyte or more and costs less than $1,000 per terabyte per year, a tenth the cost of most traditional data warehousing solutions.

Need advice about which tool to choose?Ask the StackShare community!

What companies use Amazon ElastiCache?
What companies use Amazon Redshift?
See which teams inside your own company are using Amazon ElastiCache or Amazon Redshift.
Sign up for StackShare EnterpriseLearn More

Sign up to get full access to all the companiesMake informed product decisions

What tools integrate with Amazon ElastiCache?
What tools integrate with Amazon Redshift?

Sign up to get full access to all the tool integrationsMake informed product decisions

Blog Posts

Jul 9 2019 at 7:22PM

Blue Medora

DockerPostgreSQLNew Relic+8
11
2332
GitHubPythonReact+42
49
40690
GitHubGitSlack+30
27
18273
JavaScriptGitHubPython+42
53
21803
What are some alternatives to Amazon ElastiCache and Amazon Redshift?
Redis
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache, and message broker. Redis provides data structures such as strings, hashes, lists, sets, sorted sets with range queries, bitmaps, hyperloglogs, geospatial indexes, and streams.
Elasticsearch
Elasticsearch is a distributed, RESTful search and analytics engine capable of storing data and searching it in near real time. Elasticsearch, Kibana, Beats and Logstash are the Elastic Stack (sometimes called the ELK Stack).
Memcached
Memcached is an in-memory key-value store for small chunks of arbitrary data (strings, objects) from results of database calls, API calls, or page rendering.
Azure Redis Cache
It perfectly complements Azure database services such as Cosmos DB. It provides a cost-effective solution to scale read and write throughput of your data tier. Store and share database query results, session states, static contents, and more using a common cache-aside pattern.
Amazon DynamoDB
With it , you can offload the administrative burden of operating and scaling a highly available distributed database cluster, while paying a low price for only what you use.
See all alternatives