当前位置:  开发笔记 > 编程语言 > 正文

哪个是从同一台机器访问的最快的NoSql数据库?

如何解决《哪个是从同一台机器访问的最快的NoSql数据库?》经验,为你挑选了1个好方法。

在我的用例中数据相对较小(~1000.000字符串),但我必须尽可能快地访问(每纳秒计数),从多线程环境(在纯Java中实现)目前我正在使用redis(在localhost中) )我基本上对它很满意,但我想知道是否有更好的选择,因为redis拥有所有的网络资源,而且不是为多线程设计的.对于我的用例,持久性也是非常低的优先级.

我想在同一台机器上运行(根本没有网络)

我希望尽可能快

相对论小数据(我目前的Redis实例内存最大约为20MB)

我不想:

使用NoSql数据库以外的其他解决方案.

小智.. 6

有很多很棒的NoSQL数据库可以作为键值存储.每个都有独特的功能.

Redis在单个服务器中非常棒,并且易于安装和使用.但是,当您的数据超出单个服务器时,Redis很难进行分片和管理.

Thumbtack Technologies(纽约市)发表了两篇白皮书,比较了MongoDB,Cassandra和Aerospike的性能和可靠性.这些论文非常客观,使用YCSB基准测试工具完成的基准测试是在相同的硬件上进行的.

使用哪一个取决于您需要什么.MongoDB是一个功能丰富的键值存储,具有许多优秀的程序员功能.它提供对二级索引的查询,是一个非常好的文档存储.它是一个内存数据库,因此所有数据都必须适合RAM.Mongo可以聚集在一起,我听说如果你有一个大型集群,那就很难管理.

CouchBase非常适合存储大量数据,并且部分数据缓存在RAM中.因此,如果你所追求的值在缓存工作集中,它会很快.如果您的用例主要用于热数据并且不经常访问冷数据,那么这非常有用.

Cassandra非常适合"重写"用例.它易于使用,是一个很好的程序员经验.它是用Java编写的,并且在GC执行时会定期暂停,因此您需要调整GC参数.

Aerospike适用于在少量服务器中存储大量数据.它拥有单位数毫秒(或更好)的延迟,高可用性和高可靠性,它可能(恕我直言)最容易维护和扩展.它具有多代码感知功能,可识别NUMA节点并具有自我修复的零触摸群集技术.这对于"实时"用例来说非常棒,因为访问任何记录都需要快速且可预测.Aerospike是我的最爱.

Cassandra,CouchBase,MongoDB和Aerospike都具有"分析"功能,您选择哪一个取决于用例和性能范围.



1> 小智..:

有很多很棒的NoSQL数据库可以作为键值存储.每个都有独特的功能.

Redis在单个服务器中非常棒,并且易于安装和使用.但是,当您的数据超出单个服务器时,Redis很难进行分片和管理.

Thumbtack Technologies(纽约市)发表了两篇白皮书,比较了MongoDB,Cassandra和Aerospike的性能和可靠性.这些论文非常客观,使用YCSB基准测试工具完成的基准测试是在相同的硬件上进行的.

使用哪一个取决于您需要什么.MongoDB是一个功能丰富的键值存储,具有许多优秀的程序员功能.它提供对二级索引的查询,是一个非常好的文档存储.它是一个内存数据库,因此所有数据都必须适合RAM.Mongo可以聚集在一起,我听说如果你有一个大型集群,那就很难管理.

CouchBase非常适合存储大量数据,并且部分数据缓存在RAM中.因此,如果你所追求的值在缓存工作集中,它会很快.如果您的用例主要用于热数据并且不经常访问冷数据,那么这非常有用.

Cassandra非常适合"重写"用例.它易于使用,是一个很好的程序员经验.它是用Java编写的,并且在GC执行时会定期暂停,因此您需要调整GC参数.

Aerospike适用于在少量服务器中存储大量数据.它拥有单位数毫秒(或更好)的延迟,高可用性和高可靠性,它可能(恕我直言)最容易维护和扩展.它具有多代码感知功能,可识别NUMA节点并具有自我修复的零触摸群集技术.这对于"实时"用例来说非常棒,因为访问任何记录都需要快速且可预测.Aerospike是我的最爱.

Cassandra,CouchBase,MongoDB和Aerospike都具有"分析"功能,您选择哪一个取决于用例和性能范围.

推荐阅读
Gbom2402851125
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有