Hazelcast | Ignite | Aerospike | Redis |
---|---|---|---|
In-memory key-value store Primary database model – Key-value store Secondary database models – Document store Java Language For open source Apache License 2.0 | In-memory computing platform Distributed database Java Language, Java, C#, C++, SQL For open source Apache License 2.0 | In-memory NoSQL Database Primary database model – Key-value store Secondary database models – Document store C Language For Open Source Apache v2 | In-memory NoSQL Database Primary database model – Key-value store Secondary database models – Document store C Language BSD license |
Hazelcast IMDG – Distributed In memory Data Store -In-Memory Computing Features -DISTRIBUTED CACHING – Distributed Events – Distributed Computing(Running thread on multiple JVM) – Embedded or Client/Server? – SQL, Distributed SQL -ACID (Transaction) -JSON Support https://docs.hazelcast.com/imdg/4.2/getting-started https://hazelcast.com/product-features/imdg-comparison/ | ACID transactions MULTI-TIER STORAGE Hybrid Memory Architecture RAM <–> SSD (In-Memory, In-Memory + External Database, In-Memory Cache + Native Persistence) Key-value store Support for Cache DISTRIBUTED ANSI SQL WITH JOINS DISTRIBUTED KEY-VALUE STORE NEAR CACHE DISTRIBUTED MESSAGING AND EVENTS Cluster Management Thin Clients Distributed Locks SQL | Aerospike Database 5 -Multi-site Clustering -consistency -WAN Replication Cross Data Center -Ram and/or SSD persistence(Hybrid Memory Architecture) -The change-notification system informs external systems (in this case, connectors) when records are inserted, modified, or deleted in an Aerospike database(Enterprise Edition). -Notifying Directly to Connector on Arespike DB changes(Enterprise Edition) -Security with role management -Aerospike Expressions and Query(Not SQL need to check) https://aerospike.com/products/database-platform/ | Enterpeise Edition come with lcuster management. So we don’t have to manage Cluster. Basically kind of cloud solution |
Hazel Cast Jet – Hazelcast Jet is a distributed batch and stream processing framework based on Hazelcast IMDG. -dataflow programming model – Batch and Stream of event processing -two-phase commit – aggregations – Predicate – Filter -Apache License 2.0 https://github.com/hazelcast/hazelcast-jet https://jet-start.sh/ For example, you can read data from Kafka and write to IMap with just a few lines of code. -https://hazelcast.com/product-features/jet-comparison/ | SUPPORTED DATA STRUCTURES: Concurrent Map (Cache) Distributed Queues and Sets AtomicLong AtomicReference AtomicSequence (ID Generator) CountDownLatch | Aerospike CacheDB – All basic cache features – Cross Data Center Replication -Notifying Directly to Connector on Arespike DB changes(Enterprise Edition) https://aerospike.com/products/cachedb/ | Redis is single-threaded -Redis was initially intended to be used in standalone mode -No automatic discovery of the Redis node. Even add/remove nodes in the cluster we need to do manually. Like dividing namespace index partition to register node into the cluster |
NearCache – Client will have a local cache. – So that it can query locally only instead of going to the HazelCast server | ACID guarantees | My observation with Redis we have everything that we need. But thing is that we need to build solutions out of it for us and our customers if required. And we also need to depend on third-party modules while building solutions. | |
Management Center (Open Source Edition limited to 3-node clusters) | |||
DISTRIBUTED CACHING | Distributed caching capabilities | ||
DISTRIBUTED COMPUTE | Distributed data structures | ||
Distributed Locking | Kafka Connector | ||
DISTRIBUTED QUERY | |||
CLIENTS | |||
CLOUD AND VIRTUALIZATION SUPPORT(Connectors/clustermangement) | |||
CLUSTER MANAGEMENT | |||
STORAGE | |||
SECURITY SUITE(Not In Open Source) | |||
WAN Replication(Not In Open Source) | |||
https://hazelcast.com/use-cases/redis-replacement/ | https://ignite.apache.org/docs/latest/index | https://aerospike.com/products/product-matrix/ | Full Feature List https://redis.io/documentation |
https://hazelcast.org/compare-with-redis/ | For Community Edition very basic support not even Kafka connector, no security, no clustering, Cross Datacenter things |