Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/cassandra/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Nosql Aerospike或Couchbase中的联合操作_Nosql_Cassandra_Couchbase_Aerospike - Fatal编程技术网

Nosql Aerospike或Couchbase中的联合操作

Nosql Aerospike或Couchbase中的联合操作,nosql,cassandra,couchbase,aerospike,Nosql,Cassandra,Couchbase,Aerospike,我正在尝试在Aerospike(无Sql数据库)中执行联合操作。但是,它的查询语言没有提供这样的操作 如何在Aerospike这样的无Sql数据库中执行联合操作。我相信这也适用于其他NoSql数据库,比如Couchbase,因为我在它们中找不到支持的构造 例如,假设我有一个集合{key1:value1,key2:value2,key3:value3}。我将有兴趣获得以下集合 SELECT * from namespace.collections where key2 = someValue a

我正在尝试在Aerospike(无Sql数据库)中执行联合操作。但是,它的查询语言没有提供这样的操作

如何在Aerospike这样的无Sql数据库中执行联合操作。我相信这也适用于其他NoSql数据库,比如Couchbase,因为我在它们中找不到支持的构造

例如,假设我有一个集合{key1:value1,key2:value2,key3:value3}。我将有兴趣获得以下集合

SELECT * from  namespace.collections where key2 = someValue and key1=someValue
UNION
SELECT * from namespace.collections where key1 = someValue and key3=someValue

我是在你的问题后第一次了解Aerospike的,但我在Couchbase工作了大约半年。如果我理解正确,这些数据库的操作原理是相同的。我们有一个非常大且不平凡的hashmap,只能执行get和set操作。集合上没有并集、联接和其他关系操作。所以,我们只能通过定制的方式在客户端解决这个问题。我们可以从DB“Bin”或“Json”中获取,并以我们认为正确的方式将它们组合起来。如果您能告诉我们更多关于您的问题,我将很乐意帮助您。

Aerospike不支持工会或本地加入。
我不知道有哪个NoSQL数据库支持这一点。

我正在考虑利用视图/服务器端脚本在服务器上进行map reduce。所以,把东西拉回到客户端并进行联合是行不通的。在客户端部分中,我指的是API,用于与数据库交互。您可以在用户和服务器之间编写层,该层将处理用户请求时数据库的响应。两个不同集合/表的联合?是的,来自查询的一组集合的联合您需要提供有关数据的更多信息,提供一些示例,这样会更容易帮助您。也许我遗漏了一些东西,但是,您不能创建一个根据值发射的视图,然后传递3个关键点来过滤视图吗?如果您包括json和完整的问题,我们可以再试一次。我真的没有在Couchbase上尝试过,但是是的,这看起来很有希望。在Aerospike中,没有这样的视图概念,多个索引上的过滤器实际上不起作用。可以通过客户端的UDF进行联合: