标签: couchbase

Membase可以解释他们的技术背后的想法

自从我开始专注于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"?

couchdb membase couchbase

7
推荐指数
1
解决办法
773
查看次数

我应该将Couchbase存储桶视为表,还是更像是模式

我计划在我的Web应用程序中使用Couchbase作为文档存储.我正在寻找适用于Java的Couchbase客户端,如果我将Couchbase存储桶视为处理通用实体,则需要为每个存储桶创建单独的Couchbase客户端.这对系统来说有点过分(但是,我可以重用执行服务来最小化对象创建和线程管理开销.)

所以

  1. 有没有办法重用现有的CouchbaseClient用于多个存储桶(不仅添加ExecutionService)
  2. 从性能的角度来看,使用单个存储桶并根据键区分对象并依赖视图选择器进行查询不是更好吗?

java performance nosql couchbase

7
推荐指数
1
解决办法
2275
查看次数

使用Couchbase和Rails是个好主意吗?

我将在Rails中开始一个新的Web项目(肯定也有一个phonegap应用程序),我想知道使用Couchbase和Rails是否是一个好主意.

我认为rails最好的东西之一就是activerecord.我相信改变这种行为并不是利用Rails的力量......但也许我错了.

我已经找到一个宝石的红宝石和"丑陋" 的教程.

有人用过这种组合吗?最好使用其他技术而不是使用Couchbase的Rails?

谢谢你的意见.

ruby ruby-on-rails couchbase cordova

7
推荐指数
1
解决办法
2316
查看次数

存储couchbase视图的最佳实践

我的应用程序有couchbase视图(map-reduce).目前,我正在将它们写在一个文本文件中,并从couchbase管理页面为每个新的couchbase服务器加载它们(繁琐且容易出错的过程).

无论如何,当我部署一个新的couchbase服务器或者当我创建一个新的存储桶时,我可以将所有这些视图从文本文件加载到couchbase中吗?

我记得在mysql中,我们曾经将所有插入查询和过程写入文件,并将文件提供给mysql(通过命令提示符)为每个新实例.是否有任何此类策略可用于couchbase?

couchbase couchbase-view

7
推荐指数
1
解决办法
569
查看次数

Docker容器中的Couchbase XDCR

我需要有本地Couchbase集群并将我们的prod集群中的数据复制到它上面,不能直接在OS X上安装它(因为vbuckets不兼容 - prod集群在linux上).

Docker用于救援.我已经设法创建了Dockerfile, 你可以在这里看到它.

现在,集群运行,它可以在LAN内访问,所有必要的端口都转发 - 我使用了这里描述的技巧

我在XDCR选项卡中成功创建了集群引用,但每当我尝试复制存储桶的数据时 - 它会将我的集群的主机名更改为某个非敏感的IP地址并创建一个日志条目:

Updated remote cluster `mycluster` hostname to "172.17.0.5:8091" 
because old one ("mylaptop.company.com:8091") 
is not part of the cluster anymore
Run Code Online (Sandbox Code Playgroud)

我知道Couchbase对ip地址非常敏感,正如你所看到的,我正在使用我的机器的主机名(docker容器的主机).我尝试使用改变容器的主机名docker run -h,这似乎没有帮助.

有人,你们有没有设置XDCR与在docker容器中运行的集群?

linux networking couchbase docker xdcr

7
推荐指数
1
解决办法
302
查看次数

Couchbase并发超时异常:Java SDK

我在maven项目中使用java.我正在使用couchbase 2.3.1,但在尝试解决此问题时,我回滚到2.2.8无济于事.

我得到的问题是,当我确实到达我的couchbase集群时,我看到了很多这样的事情:

java.lang.RuntimeException: java.util.concurrent.TimeoutException
at com.couchbase.client.java.util.Blocking.blockForSingle(Blocking.java:75)
at com.couchbase.client.java.CouchbaseBucket.upsert(CouchbaseBucket.java:359)
at com.couchbase.client.java.CouchbaseBucket.upsert(CouchbaseBucket.java:354)
Run Code Online (Sandbox Code Playgroud)

以下是我的couchbase环境的设置:

CouchbaseEnvironment: {sslEnabled=false, sslKeystoreFile='null', sslKeystorePassword='null', queryEnabled=false, queryPort=8093, bootstrapHttpEnabled=true, bootstrapCarrierEnabled=true, bootstrapHttpDirectPort=8091, bootstrapHttpSslPort=18091, bootstrapCarrierDirectPort=11210, bootstrapCarrierSslPort=11207, ioPoolSize=24, computationPoolSize=24, responseBufferSize=16384, requestBufferSize=16384, kvServiceEndpoints=1, viewServiceEndpoints=1, queryServiceEndpoints=1, searchServiceEndpoints=1, ioPool=NioEventLoopGroup, coreScheduler=CoreScheduler, eventBus=DefaultEventBus, packageNameAndVersion=couchbase-java-client/2.2.8 (git: 2.2.8, core: 1.2.9), dcpEnabled=false, retryStrategy=BestEffort, maxRequestLifetime=75000, retryDelay=ExponentialDelay{growBy 1.0 MICROSECONDS, powers of 2; lower=100, upper=100000}, reconnectDelay=ExponentialDelay{growBy 1.0 MILLISECONDS, powers of 2; lower=32, upper=4096}, observeIntervalDelay=ExponentialDelay{growBy 1.0 MICROSECONDS, powers of 2; lower=10, upper=100000}, keepAliveInterval=30000, autoreleaseAfter=2000, bufferPoolingEnabled=true, tcpNodelayEnabled=true, mutationTokensEnabled=false, socketConnectTimeout=1000, dcpConnectionBufferSize=20971520, dcpConnectionBufferAckThreshold=0.2, dcpConnectionName=dcp/core-io, callbacksOnIoPool=false, queryTimeout=75000, viewTimeout=75000, kvTimeout=2500, …
Run Code Online (Sandbox Code Playgroud)

java couchbase

7
推荐指数
1
解决办法
7208
查看次数

AWS VPC中的Couchbase连接错误(TIMING OUT)

我遇到了连接问题,这在亚马逊环境(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)

java timeout connectivity couchbase

6
推荐指数
1
解决办法
1783
查看次数

在PouchDB中同步网关"通道"

在Pouch DB中是否支持Couchbase Sync Gateway的"频道"?我希望能够使用看到整体数据的子集,如果他们创建新数据,以便能够与他们共享的人分享.

PouchDB有可能吗?或者我是否必须直接与服务器交互或使用couchbase lite用于移动设备?

couchbase pouchdb couchbase-sync-gateway

6
推荐指数
1
解决办法
1918
查看次数

如何创建使用Couchbase Python客户端的AWS Lambda部署包

我正在尝试使用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:无法打开共享对象文件:没有这样的文件或目录"

关于如何才能完成这项工作的任何想法?非常感谢.

python couchbase aws-lambda

6
推荐指数
1
解决办法
221
查看次数

Couchbase N1QL 子查询连接问题

SELECT (SELECT RAW subcomments 
FROM comments.subcomments AS subcomments
JOIN users ON subcomments.userId = users.id 
ORDER BY subcomments.createdDate DESC) as subcomments,
ARRAY_COUNT(comments.subcomments) as subcommentCount 
FROM comments where comments.id = "f4f0f481-f0d6-4edf-8a0c-494651becdf2" and projectId= "1"
Run Code Online (Sandbox Code Playgroud)

当我尝试运行此查询时,收到以下错误:

[
  {
    "code": 5370,
    "msg": "Unable to run subquery - cause: FROM in correlated subquery must have USE KEYS clause: FROM users.",
    "query": "SELECT (SELECT RAW subcomments \nFROM (Select * from comments.subcomments as sbcm\nJOIN users ON sbcm.userId = users.id ) as a\nORDER BY subcomments.createdDate DESC) as subcomments,\nARRAY_COUNT(comments.subcomments) …
Run Code Online (Sandbox Code Playgroud)

couchbase sql++

6
推荐指数
1
解决办法
107
查看次数