Get Advice Icon

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

Hazelcast
Hazelcast

138
117
+ 1
47
Memcached
Memcached

2.9K
1.8K
+ 1
452
Add tool

Hazelcast vs Memcached: What are the differences?

Hazelcast: Clustering and highly scalable data distribution platform for Java. With its various distributed data structures, distributed caching capabilities, elastic nature, memcache support, integration with Spring and Hibernate and more importantly with so many happy users, Hazelcast is feature-rich, enterprise-ready and developer-friendly in-memory data grid solution; Memcached: High-performance, distributed memory object caching system. 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.

Hazelcast and Memcached are primarily classified as "In-Memory Databases" and "Databases" tools respectively.

"High Availibility" is the top reason why over 4 developers like Hazelcast, while over 133 developers mention "Fast object cache" as the leading cause for choosing Memcached.

Hazelcast and Memcached are both open source tools. Memcached with 9K GitHub stars and 2.6K forks on GitHub appears to be more popular than Hazelcast with 3.18K GitHub stars and 1.16K GitHub forks.

According to the StackShare community, Memcached has a broader approval, being mentioned in 756 company stacks & 267 developers stacks; compared to Hazelcast, which is listed in 26 company stacks and 16 developer stacks.

What is Hazelcast?

With its various distributed data structures, distributed caching capabilities, elastic nature, memcache support, integration with Spring and Hibernate and more importantly with so many happy users, Hazelcast is feature-rich, enterprise-ready and developer-friendly in-memory data grid solution.

What is 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.
Get Advice Icon

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

Why do developers choose Hazelcast?
Why do developers choose Memcached?

Sign up to add, upvote and see more prosMake informed product decisions

    Be the first to leave a con
      Be the first to leave a con
      What companies use Hazelcast?
      What companies use Memcached?

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

      What tools integrate with Hazelcast?
      What tools integrate with Memcached?

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

      What are some alternatives to Hazelcast and Memcached?
      Redis
      Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets.
      Apache Spark
      Spark is a fast and general processing engine compatible with Hadoop data. It can run in Hadoop clusters through YARN or Spark's standalone mode, and it can process data in HDFS, HBase, Cassandra, Hive, and any Hadoop InputFormat. It is designed to perform both batch processing (similar to MapReduce) and new workloads like streaming, interactive queries, and machine learning.
      Cassandra
      Partitioning means that Cassandra can distribute your data across multiple machines in an application-transparent matter. Cassandra will automatically repartition as machines are added and removed from the cluster. Row store means that like relational databases, Cassandra organizes data by rows and columns. The Cassandra Query Language (CQL) is a close relative of SQL.
      Apache Ignite
      It is a memory-centric distributed database, caching, and processing platform for transactional, analytical, and streaming workloads delivering in-memory speeds at petabyte scale
      RabbitMQ
      RabbitMQ gives your applications a common platform to send and receive messages, and your messages a safe place to live until received.
      See all alternatives
      Decisions about Hazelcast and Memcached
      Node.js
      Node.js
      Python
      Python
      MySQL
      MySQL
      Memcached
      Memcached
      nginx
      nginx
      RabbitMQ
      RabbitMQ
      Redis
      Redis
      Django
      Django
      Tornado
      Tornado
      Varnish
      Varnish
      HAProxy
      HAProxy

      Around the time of their Series A, Pinterest’s stack included Python and Django, with Tornado and Node.js as web servers. Memcached / Membase and Redis handled caching, with RabbitMQ handling queueing. Nginx, HAproxy and Varnish managed static-delivery and load-balancing, with persistent data storage handled by MySQL.

      See more
      Kir Shatrov
      Kir Shatrov
      Production Engineer at Shopify · | 12 upvotes · 88K views
      atShopifyShopify
      Rails
      Rails
      MySQL
      MySQL
      Memcached
      Memcached
      Redis
      Redis

      As is common in the Rails stack, since the very beginning, we've stayed with MySQL as a relational database, Memcached for key/value storage and Redis for queues and background jobs.

      In 2014, we could no longer store all our data in a single MySQL instance - even by buying better hardware. We decided to use sharding and split all of Shopify into dozens of database partitions.

      Sharding played nicely for us because Shopify merchants are isolated from each other and we were able to put a subset of merchants on a single shard. It would have been harder if our business assumed shared data between customers.

      The sharding project bought us some time regarding database capacity, but as we soon found out, there was a huge single point of failure in our infrastructure. All those shards were still using a single Redis. At one point, the outage of that Redis took down all of Shopify, causing a major disruption we later called “Redismageddon”. This taught us an important lesson to avoid any resources that are shared across all of Shopify.

      Over the years, we moved from shards to the concept of "pods". A pod is a fully isolated instance of Shopify with its own datastores like MySQL, Redis, memcached. A pod can be spawned in any region. This approach has helped us eliminate global outages. As of today, we have more than a hundred pods, and since moving to this architecture we haven't had any major outages that affected all of Shopify. An outage today only affects a single pod or region.

      See more
      Kir Shatrov
      Kir Shatrov
      Production Engineer at Shopify · | 13 upvotes · 208.7K views
      atShopifyShopify
      Docker
      Docker
      Kubernetes
      Kubernetes
      Google Kubernetes Engine
      Google Kubernetes Engine
      MySQL
      MySQL
      Redis
      Redis
      Memcached
      Memcached

      At Shopify, over the years, we moved from shards to the concept of "pods". A pod is a fully isolated instance of Shopify with its own datastores like MySQL, Redis, Memcached. A pod can be spawned in any region. This approach has helped us eliminate global outages. As of today, we have more than a hundred pods, and since moving to this architecture we haven't had any major outages that affected all of Shopify. An outage today only affects a single pod or region.

      As we grew into hundreds of shards and pods, it became clear that we needed a solution to orchestrate those deployments. Today, we use Docker, Kubernetes, and Google Kubernetes Engine to make it easy to bootstrap resources for new Shopify Pods.

      See more
      AWS Elastic Beanstalk
      AWS Elastic Beanstalk
      Heroku
      Heroku
      Ruby
      Ruby
      Rails
      Rails
      Amazon RDS for PostgreSQL
      Amazon RDS for PostgreSQL
      MariaDB
      MariaDB
      Microsoft SQL Server
      Microsoft SQL Server
      Amazon RDS
      Amazon RDS
      AWS Lambda
      AWS Lambda
      Python
      Python
      Redis
      Redis
      Memcached
      Memcached
      AWS Elastic Load Balancing (ELB)
      AWS Elastic Load Balancing (ELB)
      Amazon Elasticsearch Service
      Amazon Elasticsearch Service
      Amazon ElastiCache
      Amazon ElastiCache

      We initially started out with Heroku as our PaaS provider due to a desire to use it by our original developer for our Ruby on Rails application/website at the time. We were finding response times slow, it was painfully slow, sometimes taking 10 seconds to start loading the main page. Moving up to the next "compute" level was going to be very expensive.

      We moved our site over to AWS Elastic Beanstalk , not only did response times on the site practically become instant, our cloud bill for the application was cut in half.

      In database world we are currently using Amazon RDS for PostgreSQL also, we have both MariaDB and Microsoft SQL Server both hosted on Amazon RDS. The plan is to migrate to AWS Aurora Serv