Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Apache Ignite vs redis cluster(use partition) vs other solution [closed]

Hi I looking for In memory data grid or similar one.

My use case.

  1. Data griding in memory. scale out available.
  2. backup node available.
  3. persistent backup available.
  4. (optional) free or opensource solution

I did googling and I found candidates below
- Apache Ignite
- Redis cluster
- Hazelcast(community)

I prefer Ignite to Hazelcast because, Ignite support use direct buffer.

But I don't know Redis cluster partitioning whether it is stable or not. and, I don't know if apache ignite performance better than redis cluster or not.

Apache Ignite comparable to redis cluster? or impropert comparison? Thanks for your answer

like image 895
moon Avatar asked Jan 30 '17 12:01

moon


People also ask

What is the use of Apache ignite?

Ignite provides a distributed in-memory data store that delivers in-memory speed and unlimited read and write scalability to applications. It is a distributed, in-memory SQL and key-value store that supports any kind of structured, semi-structured and unstructured data.

Which is better Redis or Hazelcast?

Repeatable benchmarks show that Hazelcast is many times faster. Redis is single-threaded, so it does not efficiently scale for larger loads, while Hazelcast performance scales linearly with additional resources. Hazelcast is easy to use, and it can be embedded in apps or deployed in a client-server model.

Is ignite a distributed cache?

Ignite is a distributed database management system designed for high-performance computing but also used to underpin enterprise applications. At its simplest level it is a RAM-first distributed cache.

What is ignite programming?

Use Ignite as a traditional SQL database by leveraging JDBC drivers, ODBC drivers, or the native SQL APIs that are available for Java, C#, C++, Python, and other programming languages. Seamlessly join, group, aggregate, and order your distributed in-memory and on-disk data: SQL.


2 Answers

But I don't know Redis cluster partitioning whether it is stable or not

Redis cluster feature is stable since 3.x version and used in production by many companies.

Apache Ignite comparable to redis cluster? or impropert comparison?

Comparison Apache Ignite vs Redis only is wrong, because these projects have different grade. Redis is positioned as a storage and not as a Data Grid like Apache Ignite. So for proper comparison Apache Ignite should be compared vs Redisson - Redis Java Client with features of In-Memory Data Grid. It offers the same features as Apache Ignite.

Redisson supports fully managed Redis services like AWS Elasticache, Azure Redis Cache. You don't need to manage/deploy/maintain Redis cluster by yourself of hire devops to do this. Apache Ignite doesn't offer such feature and you should manage/deploy/maintain it by yourself.

like image 119
Nikita Koksharov Avatar answered Oct 12 '22 12:10

Nikita Koksharov


I used Redis in production for one of the largest US mobile network operator (IoT department). It is stable from 2.8 (Master/Slave) but cluster stable is from 3.2. Used 2.8 for 3 years and 3.2 cluster for 2 years on production with about 50k TPS load with no restart for years and no issues (except BGSAVE and memory issues but that was due to RAM limitations).

If we compare Redis and Apache Ignite:

  1. Performance. Redis is faster, single thread and 100% in memory.
  2. Data structure. Redis is key-value storage (even that is not a limitation, you can imagine and map almost everything in key-value models). Ingrid is a data grid as it was mentioned above.

If you are looking for a memory data grid and performance is on second priority then Ingrid will be more appropriate for you.

like image 2
Denys Avatar answered Oct 12 '22 14:10

Denys