是否有关于何时使用Cassandra或Membase或Hadoop或普通旧关系数据库的论文/博客文章?是否有一篇论文讨论了每种方法的优缺点,以及应该选择哪种方案?
我正在考虑编写一个新的Web服务,每天将有大约一百万次点击,数据大约几TB.
最近两个合并在同一屋檐下,很难确定Membase和Couchbase之间的主要区别.为什么一个用于另一个?
我安装了几个桶设置的Membase服务器,我正在寻找一个很好的教程或如何使用它作为NHibernate的二级缓存的示例.
我感兴趣的是示例配置的样子,以及我是否需要在代码中执行任何操作,或者是否可以从我的NHibernate映射中处理所有内容.
谢谢你的帮助.
这个错误意味着什么..它在Eclipse中运行良好但在intellij想法中运行不正常
Exception in thread "main" java.lang.VerifyError: Cannot inherit from final class
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)
at java.lang.ClassLoader.defineClass(ClassLoader.java:615)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)
at java.net.URLClassLoader.access$000(URLClassLoader.java:58)
at java.net.URLClassLoader$1.run(URLClassLoader.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at com.couchbase.client.ViewConnection.createConnections(ViewConnection.java:120)
at com.couchbase.client.ViewConnection.<init>(ViewConnection.java:100)
at com.couchbase.client.CouchbaseConnectionFactory.createViewConnection(CouchbaseConnectionFactory.java:179)
at com.couchbase.client.CouchbaseClient.<init>(CouchbaseClient.java:243)
at com.couchbase.client.CouchbaseClient.<init>(CouchbaseClient.java:175)
at com.couchbase.App.putincbase(App.java:122)
at examplesCons.TestCons.run(TestCons.java:89)
at examplesCons.TestCons.main(TestCons.java:121)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at com.intellij.rt.execution.application.AppMain.main(AppMain.java:120)
Run Code Online (Sandbox Code Playgroud)
当我尝试使用来自Intellij IDea的couchbase-client-1.1.6.jar运行couchbase时出现此错误.
自从我开始专注于CouchDB Membase(Couchbase)以来已经是第四天了,由于管理简单,Membase对我来说似乎是非常有趣的技术,它们的界面非常简洁.添加/删除存储桶的方式很有趣.
不幸的是,我没有设法在Mac OS X上启动他们的.NET客户端(在Windows上工作正常),也无法找到执行Map/Reduce查询的方式,所以看起来Membase Server技术比纯粹简单一点CouchDB的.无论如何一切都改变了,直到最近我偶然发现了描述他们技术的图表:

图像在这里解释
似乎"Couchbase服务器(当前Membase服务器)"扮演某种不直接访问的Master数据库的角色,还有"Couchbase Single Server"扮演客户端数据库的角色,具有CouchDB的所有功能(例如Map/Reduce查询)
如果是这样,那么"CouchSync"是如何执行的?是否可以从代码中执行此"CouchSync"?
对于大多数应用程序,哪个是更好的NoSQL数据库?
Cassandra(0.7x)和Membase:
Cassandra具有可选择的每个查询持久性/一致性保证
Cassandra拥有BigTable列支持
Membase具有异步(立即返回)写入
除了一致性保证为什么你会选择一个而不是另一个?
我的目标是创建一个玩家可以设置建筑物的浏览器游戏.
每栋建筑都有几个模块(发动机,办公室,生产线......).每个模块将一直运行一个或多个动作,例如用成分Y,Z创建2OO'项目X'.
游戏服务器将使用erlang进行设置:OTP应用程序作为服务器本身,氮气作为Web前端.我需要持久化数据.我在考虑以下问题:
当某人或某物与建筑物相互作用,或者代表某条生产线的计时器结束时,主管会产生gen_server(如果尚未生成),它会从数据库中加载建筑物的状态,因此gen_server可以回答"添加"等消息这个模块','开始这个动作','将这个生产存储到仓库','死'等等(
但是当建筑物在X秒或分钟内没有收到任何消息时,他将终止(由于gen_server超时功能)并将其当前状态丢弃回数据库.
因此,因为它将是一个(软)实时游戏,所以必须非常快速地设置gen_server.我认为membase是数据库,因为它已知具有非常好的响应时间.
我的问题是:当一个gen服务器正在运行时,他的状态会填充一些内存,并且这个状态也存在于membase处理的内存中,因此状态在内存中使用了两倍.这是一个糟糕的设计吗?
在我的情况下,membase是处理持久性的好方法吗?将mnesia用作更好的选择,还是其他什么?
我担心mnesia 2 Go(或4?)表格大小限制,因为我目前不知道我的gen_servers的平均状态大小(在这个例子中的建筑物,但也包括玩家,生产线,等等)我可能有一天比1名球员:)
谢谢
我尝试在VPS上测试一些东西,并且每秒接近10K请求,这是一个simple 'hello world' servlet,更不用说调用membase了.
我的VPS是2 x Intel Xeon X5570,四核"Nehalem"架构.
注意:我不是java专家,也不是tomcat专家,这是默认设置.
有没有其他人处理过这么高的流量,可以解决一些问题?
我使用了apache bench,我运行了大概4-5次,对服务器做了大约100K的请求.
我正在评估大规模(数十亿条目,数TB数据)存储解决方案的一些数据库可能性,我们将几乎专门进行随机主键查找.
鉴于它的功能,Membase(Couchbase 1.8)看起来几乎完美契合,以前的一些测试让我们相信它对我们的用例非常高效.我们使用它的主要问题是,由于Couchbase 2.0看起来像一个全新的方向1.8,产品的特性可能会改变.我们喜欢Couchbase 1.8因为它完全符合我们的需要.
我们不需要视图或map/reduce功能.虽然这些都是很好的功能,但它们不是我们需要的东西,而不是我们想要的东西,如果它们对性能有害的话.我们排除了CouchDB主要是由于扩展(添加/删除节点)的复杂性,这在Couchbase 中当然要好得多,但也因为我们对它的磁盘使用有一些担忧.
是否有人知道为1.8vs 做出的任何性能测量2.0,无视所有视图和M/R功能?
将1.8叉继续保持下去?或者已经1.8死了,我们应该继续前进?
所以,假设我在一个存储桶下创建了一些记录/文档,并且用户只更新了RDBMS中的一列中的一列,所以我试图只发送那一列数据并在couchbase中更新它.但问题是,couchbase会覆盖整个记录并为其余列添加NULL.
一种方法是在从Cbase获取数据后从现有记录中复制所有数据,然后在复制旧数据时覆盖新列.但这看起来不是一种最佳方法
有什么建议?
我正在寻找一个地方来总结我不断看到的引用的 NoSQL 数据库的主要属性,特别是 MongoDB、Riak、Redis、Memcached、Membase 和 Cassandra。查询类型、酸、扩展的架构/属性等。全部在内存中、溢出到磁盘、在磁盘上备份,还是主要只在内存中索引?
我搜索了Couchbase如何在集群内实现强一致性的解释.所有这些都是使用membase的结果吗?