我不是在谈论社区的规模,只想听听那些实际使用过这两者的人.
特别是我对以下内容感兴趣:
我想在一组机器之间共享一个非常大的对象,例如以兆字节甚至几千兆字节的顺序.该对象将被写入一次,但可能会被多次读取.也许一种天真的方法是使用像redis这样的ceneteralized存储.但是,它可能会成为单点故障,而太多请求可能会对redis造成DOS攻击.然后,分布式解决方案更有前途.但是,主要关注的是将结构复制到所有机器上.如果通过主/从技术完成复制,则复制可能会导致主服务器上的流量负载很大,因为对象很大.因此,更好的解决方案是使用P2P策略来复制对象,以减少主服务器上的网络负载.
有没有人知道这个问题的解决方案?也许有些候选人是:
- Redis
- Memcached
- Voldemort
- Hazelcast
我主要关心的是Java接口,共享大对象,高可用性以及用于复制的低网络流量.
先谢谢.
我正在尝试决定是否使用voldemort或couchdb来进行即将到来的医疗项目.我想要一个具有高可用性,容错能力的存储系统,并且可以针对大量数据进行扩展.
每个人的利弊是什么?
谢谢
我一直试图了解更多有关伏地魔的信息,但它似乎并未在LinkedIn之外使用.有没有人真正将它用于真实系统?
我想了解,Voldermort怎么用?说,我有这种情况:
因为,Voldemort是一对键值对. 我需要在3个参数的基础上获取一个值(比如一些文本).
那么,在这种情况下,关键是什么?我不能将3个键用于1个值,但是该值应该基于这3个参数进行搜索.
我有道理吗?
谢谢
EDIT1
例如:博客系统.用户发布博客:存储用户的数据:姓名,年龄和性别存储博客内容(文本).
现在,我需要在这里使用Voldemort,如果用户从前端搜索Sex:Male的所有博客帖子
然后,我的代码应该查询voldemort并返回所有具有Sex as Male的"博客内容(文本)".
所以,根据我的理解:
Key = Name, Age and Sex
Value = Text
Run Code Online (Sandbox Code Playgroud)
我正在使用Java.
我只是为当前项目评估一些noSQL解决方案.目前引起我注意的不同系统
最后一个在我的评价中更为搁置,因为他们写道
它仍然是一个新系统,它有粗糙的边缘,错误的错误信息,可能还有很多未捕获的错误.如果您找到其中一个,请告诉我们,以便我们解决.
我正在寻找一个稳定的解决方案.另一件事是我需要一个良好的Java支持.对于用Erlang编写的cloudDB,存在一些客户端库,ektorp似乎是最好的选择.这里的问题是,在某种程度上,在我看来,ektorp并没有如此大量使用.如果我查看下载部分是约.400次下载.好吧,大多数人都会通过maven依赖来使用它,但400仍然让我感到惊讶.关于couchDB Java库有一个旧的Stackoverflow问题,但这也推荐了ektorp.现在是更好的解决方案吗?
目前,Cassandra对我来说是最稳定和最成熟的选择,但cloudDB感觉如此简单和整洁,但它缺乏某种Java工具来访问它,或者编写自己的客户端来访问cloudDB是否有意义?
我很好奇是否有人在NoSQL数据库中访问数据的基准测试与Oracle(特别是我在谈论Oracle RAC)?该项目需要使用至少10mil +的记录,在其中搜索(但不一定必须是实时),读取对于速度非常重要,并且保证HA和可靠性(不能丢失记录)也非常重要!!!)我可以自己看看Cassandra/MongoDB如何更适合(因为当你超过10mil记录时,键值存储将提供比SQL更快的读取),但我发现很难很好地表达所有这些.有链接吗?建议?子弹点?谢谢!