Ignite和Redis有什么区别

sapv博客之家,Ignite和Redis有什么区别

Apache Ignite和Redis都提供了分布式缓存的功能,但是每个产品提供的功能特性是非常不同的。Redis主要是一个数据结构存储,但是Ignite提供了很多内存内的分布式组件,包括数据网格、计算网格、流,当然也包括数据结构。 博客之家

Ignite是一个内存数据组织,并且提供了更多的功能,无法进行一个一个对应功能特性的比较,但是我们仍然能对一些数据网格功能进行比较。

序号

对比项目

Apache Ignite

Redis

1

JCache (JSR 107)

Ignite完全兼容JCache(JSR107)缓存规范

不支持

2

ACID事务

Ignite完全支持ACID事务,包括乐观和悲观并发模型以及READ_COMMITTED, REPEATABLE_READ和SERIALIZABLE隔离级别。

Redis提供了客户端乐观事务的有限支持,在并发更新情况下,客户端需要手工重试事务。

3

数据分区

Ignite支持分区缓存,类似于一个分布式哈希,集群中的每个节点都存储数据的一部分,在拓扑发生变化的情况下,Ignite会自动进行数据的平衡。

Redis不支持分区,但是他提供了副本的分片,

4

全复制

Ignite支持缓存的复制,集群中的每个节点的每个键值对都支持。

Redis不提供对全复制的直接支持。

5

原生对象

Ignite允许用户使用自己的领域对象模型并且提供对任何Java/Scala, C++和.NET/C#数据类型(对象)的原生支持,用户可以在Ignite缓存中轻易的存储任何程序和领域对象。

Redis不允许用户使用自定义数据类型,仅支持预定义的基本数据结构集合,比如Set、List、Array以及一些其他的。

6

(近)客户端缓存

Ignite提供客户端缓存最近访问数据的直接支持。

Redis不支持客户端缓存。

7

服务器端并行处理

Ignite支持在服务器端,靠近数据并行地直接执行任何Java, C++和.NET/C#代码。

Redis通常没有任何并行数据处理的能力,服务器端基本只支持LUA脚本语言,服务器端不直接支持Java, .NET,或者C++代码执行。

8

SQL查询

Ignite支持完整SQL(ANSI-99)语法以查询内存中的数据。

Redis不支持任何查询语言,只支持客户端缓存API。

9

持续查询

Ignite提供对客户端和服务器端持续查询的支持,用户可以设置服务器端的过滤器来减少和降低传输到客户端的数据量。

Redis提供客户端基于键值的事件通知的支持,然而,他不提供服务器端的过滤器,因此造成了在客户端和服务器端中更新通知网络流量的显著增加。

10

数据库集成

Ignite可以自动集成外部的数据库-RDBMS, NoSQL,和HDFS

不支持

  • 发表于 2018-05-21 23:06
  • 阅读 ( 686 )
  • 分类:大数据

0 条评论

请先 登录 后评论
不写代码的码农
张鹏

大数据工程师

94 篇文章

作家榜 »

  1. 张鹏 94 文章
  2. 0 文章
  3. 赵科 0 文章
  4. 王孖珺397954227 0 文章