我非常高兴看到CouchBase团队为我们提供了一个出色的NoSQL解决方案所做的出色工作.然而,尽管与可能是ruby,PHP,Java或Python相比,erlang Web开发人员很少,但是获取erlang的开发人员的数量正在增加.
这让我想到了为什么在他们的SDK页面上,他们不断遗漏Erlang.有了雅虎Web服务器,Mochiweb和许多其他Erlang Web库,为什么他们不会在他们的NoSQL领域支持Erlang.发现他们使用它来构建他们的DBMS但他们没有为该语言提供客户端/ SDK是非常令人不安的.
现在,问题是:在某处我读到它是因为Erlang Web Development中没有钱.这是他们给出的唯一理由吗?
还有谁知道为什么Couch Base一直拒绝为他们的NoSQL数据库提供Erlang SDK?
我遇到了连接问题,这在亚马逊环境(AWS)中的私有虚拟vpc中是一个奇怪的问题.我的上下文是这样的,我在这个子网中有子网我有2台机器客户端机器,我使用Couchbase java SDK和Couchbase服务器的机器.两者都是大型实例.当前的java版本1.6.我在安全组上打开了Couchbase的所有必需端口(8091,8092,11210).我正在使用curl命令测试连接,以测试与存储桶的连接,这里没有问题.奇怪的行为是当我尝试使用java客户端访问视图时,因为我收到超时错误,尽管java客户端已成功通过身份验证.
这是我的日志的样子:
(CacheManager.java:102) -B06C9F5CFF85- Cache client checked out [stdout]
INFO com.couchbase.client.CouchbaseConnection: Added {QA sa=/10.0.X.XXX:11210, #Rops=0, #Wops=0, #iq=0, topRop=null, topWop=null, toWrite=0, interested=0} to connect queue
INFO com.couchbase.client.CouchbaseConnection: Connection state changed for sun.nio.ch.SelectionKeyImpl@57a220c2
INFO net.spy.memcached.auth.AuthThread: Authenticated to 10.0.X.XXX/10.0.X.XXX:11210
Added 10.0.X.XXX to connect queue
INFO com.couchbase.client.CouchbaseClient: viewmode property isn't defined. Setting viewmode to production mode
INFO com.couchbase.client.http.AsyncConnectionManager: Opening new Couchbase HTTP connection
INFO com.couchbase.client.http.AsyncConnectionManager$ConnRequestCallback: /10.0.X.XXX:8092 - Session request successful
ERROR com.couchbase.client.ViewNode$EventLogger: Connection timed out: [10.0.X.XXX/10.0.X.XXX:8092]
and then after a while
INFO …
Run Code Online (Sandbox Code Playgroud) 如何在Couchbase中计算查询时间和查询执行计划.是否有任何实用程序,如Oracle解释计划和Couchbase数据库中的tkprof?
编辑:
我试图看看哪个数据库最适合我的数据.所以我想尝试使用mysql,mongodb,couchbase.我尝试了三个不同数量的条目10k,20k,40k条目.
使用mysql,我可以使用"set profiling = 1"查看查询时间.使用此设置我在三种情况下运行查询1)没有索引主键,2)索引主键3)第二次运行相同的查询(以查看查询缓存的效果)
同样,我使用mongodb运行相同的测试,并以表格格式汇总我的结果.我想用couchbase运行相同的测试,看看它的性能如何.我试图搜索网络,但找不到任何我可以遵循以获得类似结果的内容.
下面是我的表(所有时间都是毫秒).带有大括号()的第二行显示第二次运行的查询时间.
Records Count Mysql MongoDB CouchBase ___________________ _______________ ___________ Without | With Without | With With Index Index | Index Index | Index 10K 62.27325 | 8.537 3311 | 33 (33.3135) | (3.27825) (7) | (0) 20K 108.4075 | 23.238 132 | 39 (80.90525)| (4.576) (17) | (0) 40K 155.074 | 26.26725 48 | 10 (110.42) | (10.037) (42) | (0)
对于couchbase,我想知道使用其密钥检索文档时的性能(类似于memcahed的功能).查询时间也使用其视图.
performance execution-time nosql sql-execution-plan couchbase
在Pouch DB中是否支持Couchbase Sync Gateway的"频道"?我希望能够使用看到整体数据的子集,如果他们创建新数据,以便能够与他们共享的人分享.
PouchDB有可能吗?或者我是否必须直接与服务器交互或使用couchbase lite用于移动设备?
背景:我有大量的数据流 - 每小时最多可获得1000000条记录,ttl为3小时......每个"文档"包含大约20个属性,我需要使用"=="同时搜索多达15个属性,"IN"和"BETWEEN"比较.
由于大多数都没有不可搜索的属性,因此没有理由将文档存储两次(在Couchbase和ElasticSearch索引中),所以我认为将它存储在ElasticSearch中是个好主意.我是正确的?
或者有人可以推荐我更好的数据库来完成这样的任务?我将来需要一个简单的水平扩展(MySQL的自定义分片不是一个选项)...这个数据是某种缓存所以最终的一致性和差的耐久性是可以的...
根据CAP定理,我主要需要A和P ......
当仅使用IN运算符时,以下查询正常工作
SELECT META().id FROM bucket_name WHERE description IN ['Item1','Item2']
但是,当我触发此查询时,它会给我一个空白的结果
SELECT META().id FROM bucket_name WHERE id = 123 AND description IN ['Item1','Item2']
我做错了什么或其他人遇到过同样的问题?
我一直在查看couchbase-java-client项目,并想知道是否可以在dropwizard项目中使用它.
它看起来很自然,因为couchbase基本上是一个JSON数据库,但java客户端似乎与Jackson不兼容.据我所知,couchbase客户端库包含它自己的JSON库的内部实现,它与那里的所有其他java JSON库不兼容,这真的很奇怪.
我发现JacksonTransformers课程起初很有前途.但仔细观察后,图书馆正在使用一个带阴影版的杰克逊(带有重写的包com.couchbase.client.deps.com.fasterxml.jackson.core
).
无论如何,由于dropwizard使用Jackson和Jersey通过REST API编组JSON文档,使用couchbase-java-client库的摩擦力最小的方法是什么?在这种情况下甚至可能吗?
我正在使用Couchbase 4.0 beta和java-client 2.1.3.
该Bucket.get(id)
收益JsonDocument
从中我能得到id
并且cas
还有内容.现在我想使用查询二级索引N1QL (select *)
.但是,QueryResult
只返回JsonObject
s的行,它们只是文档内容.无论如何我还能获得元数据(id
和cas
)吗?
试图做一个DISTINCT减少,我从了,当我得到一个错误在这里.我在啤酒样品桶上重现了这个错误,所以这应该很容易重现.我没有看到mapreduce_errors.txt
文件中的任何错误,或任何会导致我在其他任何地方的任何错误.(如果您希望我搜索或发布其他文件的片段,请询问).
在Windows 2008 R2上运行couchbase enterprise 4 beta(这也发生在3.0.1社区版本上).
这是我的地图功能(使用啤酒样品桶,直接与couchbase一起发货).
function(doc, meta) {
switch(doc.type) {
case "brewery":
emit(meta.id);
break;
}
}
Run Code Online (Sandbox Code Playgroud)
这是我的reduce函数:
function(keys, values, rereduce) {
return keys.filter(function (e, i, arr) {
return arr.lastIndexOf(e) === i;
});
}
Run Code Online (Sandbox Code Playgroud)
这是错误:
原因:错误(减速机:)
如果它有帮助,也是视图页面的一部分:http://i.imgur.com/KyLutMc.png
我正在尝试使用AWS Lambda将数据从我的S3存储桶传输到Couchbase服务器,而我正在用Python编写.所以我需要在我的Python脚本中导入couchbase模块.通常如果脚本中使用了外部模块,我需要在本地pip安装这些模块并将模块和脚本压缩在一起,然后上传到Lambda.但这次不行.原因是couchbase的Python客户端与couchbase的c客户端一起工作:libcouchbase.所以我不清楚自己应该做些什么.当我只是在C客户端包添加(虽这么说,我有6个包文件夹在我的部署包,前5个是安装的那些当我运行"PIP安装couchbase":couchbase,acouchbase,gcouchbase,txcouchbase,couchbase- 2.1.0.dist-info;最后一个是我安装的Couchbase的c客户端:libcouchbase),lambda不起作用并说:
"无法导入模块'lambda_function':libcouchbase.so.2:无法打开共享对象文件:没有这样的文件或目录"
关于如何才能完成这项工作的任何想法?非常感谢.
couchbase ×10
nosql ×3
database ×2
java ×2
sql++ ×2
aws-lambda ×1
connectivity ×1
couchdb ×1
dropwizard ×1
erlang ×1
jackson ×1
node.js ×1
performance ×1
pouchdb ×1
python ×1
timeout ×1