Geode和redis两个分布式内存数据库的对比,优缺点?
一、Geode和redis两个分布式内存数据库的对比
两者的定位不一样。Geode是分布式内存数据库,提供了可配置的一致性保证,能够保证数据不丢失,更符合数据库的定位。而Redis的定位本身就是缓存,采用的最终一致性和周期性持久化策略,在单服务进程模型下,提供了高性能缓存服务。Geode是java生态圈,有多种运行模式,可以lib方式运行在client端,其支持的客户端语言有限。Redis引擎是C编写,运行更高效,性能损耗低,由于交互协议简单,支持的客户端语言众多,基本上常用的语言都能够支持。
其实这两者的比较不在一个维度上,一个是应用场景定位,前者更看重数据安全性、后者作为缓存更看重性能;一个是上手难度,前者上手比较困难,运维起来也会复杂很多,后者上手简单,集群化方案也比前者简单;从社区活跃度方面来看,前者社区不怎么活跃,DB-ENGINES在kv存储中排名23, 后者社区活跃,应用广泛,在kv存储中排名第1。
1)集群内存总容量,现在Geode可以实现单个节点200-300GB内存,总集群包含300个节点的大型集群,因此总容量可以达到90TB左右的级别,而Redis即使使用集群,也很难超过1个TB的总内存。
2)Geode集群功能非常强大,实现了内存中数据Shard分布,自动管理,集群故障自动恢复,自动平均分布等一系列企业级的功能,而且有自带的集群间数据同步功能,这里Redis都在努力追赶,但是还没有很成熟的实现。
3)在CAP原理下(不了解的话可以百度一下CAP不可能三角),Geode可以保证集群内数据的强一致性,注意是真正的强一致性而不是最终一致性,再加上分区可用性,因此是一个CP型的产品,可以提供统一的数据视图,支持高并发下的acid事务。而Redis是不保证一致性的,因此即使Redis集群,也只能是AP型产品。
延伸阅读:
二、什么是 Geode
Apache Geode 是一个数据管理平台,可在广泛分布的云架构中提供对数据密集型应用程序的实时、一致的访问。Geode 跨多个进程汇集内存、CPU、网络资源和可选的本地磁盘,以管理应用程序对象和行为。它使用动态复制和数据分区技术来实现高可用性、改进的性能、可伸缩性和容错性。除了作为分布式数据容器之外,Geode 还是一个内存数据管理系统,可提供可靠的异步事件通知和有保证的消息传递。

猜你喜欢LIKE
相关推荐HOT
更多>>
dbvisualizer怎么导出整个数据库?
一、dbvisualizer导出整个数据库的步骤1、连接要导出的数据库打开DBVisualizer,连接要导出的数据库,通过导航器选择要导出的数据库对象,如表...详情>>
2023-10-15 19:00:46
不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行?
一、不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行,这是...详情>>
2023-10-15 18:20:59
微博feed系统的推模式和拉模式的架构是怎样的?
一、微博feed系统的推模式架构1、发布服务负责生成用户的消息,将消息推送到数据发布中心。2、推送服务在接收到新消息后,根据消息的类型和内容...详情>>
2023-10-15 16:40:01
Mycat分表分库的原理是什么?
一、Mycat分表分库的原理1、数据分片(Sharding)Mycat将数据按照某种规则(如基于哈希、范围、一致性哈希等)进行分片。每个分片包含数据的一...详情>>
2023-10-15 14:30:54热门推荐
PSC文件是什么文件,要用什么软件打开?
沸定制开发app有哪些优势?
热怎么向VFP数据表中一次加入多条记录?
热怎么分析判断一个网站的后台数据库管理系统是什么?
新access数据库中的round函数是什么意思?
交易所基于内存的撮合一般使用什么数据库?
PostgreSQL为什么删除了数据库以后里面的表还在?
删除SQL server2012出现重新启动计算机――失败,是什么原因?
既然MySQL有事物隔离性,那为什么还会产生脏读?
dbvisualizer怎么导出整个数据库?
不能在具有少数索引“CNO”的对象“dbo.STUDENT”中插入重复键的行?
redis和mongoDB相比分别有什么优缺点?
怎样建立一个数据库,然后利用C语言调用数据库的数据来进行运算得到运算结果?
微博feed系统的推模式和拉模式的架构是怎样的?
技术干货






