Namespaces 你如何在里亚克组织水桶?

Namespaces 你如何在里亚克组织水桶?,namespaces,nosql,organization,riak,Namespaces,Nosql,Organization,Riak,由于Riak使用桶作为分隔键的方式,所以桶中是否可以有桶?如果不是的话,你将如何组织一个Riak设置,其中包含多个应用程序的多个存储桶 基本问题是如何在Riak中表示“数据库”和“表”。既然bucket转换为表,那么什么转换为数据库呢 编程语言中的名称空间通常具有层次结构。Riak bucket也允许层次结构,因为bucket本质上是名称空间。您需要考虑非常大的key->value“table”在哪里。现在,当您知道只要桶仍然是二进制对象,就可以用它做任何事情 您可以创建线性“表格”: 也可

由于Riak使用桶作为分隔键的方式,所以桶中是否可以有桶?如果不是的话,你将如何组织一个Riak设置,其中包含多个应用程序的多个存储桶

基本问题是如何在Riak中表示“数据库”和“表”。既然bucket转换为表,那么什么转换为数据库呢

编程语言中的名称空间通常具有层次结构。Riak bucket也允许层次结构,因为bucket本质上是名称空间。

您需要考虑非常大的
key->value
“table”在哪里。现在,当您知道只要桶仍然是二进制对象,就可以用它做任何事情

您可以创建线性“表格”:


也可以创建层次结构:

<<"db1.table1">>
<<"db1.table2">>
<<"db2.table1">>
<<"db2.table2">>

或者您甚至可以使用元组作为存储桶:

1> term_to_binary({"db1", "table1"}).
<<131,104,2,107,0,3,100,98,49,107,0,6,116,97,98,108,101,49>>
2> term_to_binary({"db1", "table2"}).
<<131,104,2,107,0,3,100,98,49,107,0,6,116,97,98,108,101,50>>
3> term_to_binary({"db2", "table1"}).
<<131,104,2,107,0,3,100,98,50,107,0,6,116,97,98,108,101,49>>
4> term_to_binary({"db2", "table2"}).
<<131,104,2,107,0,3,100,98,50,107,0,6,116,97,98,108,101,50>>
1>术语到二进制({“db1”,“table1”})。
2> 术语_到_二进制({“db1”,“table2”})。
3> 术语_到_二进制({“db2”,“table1”})。
4> 术语_到_二进制({“db2”,“table2”})。
1> term_to_binary({"db1", "table1"}).
<<131,104,2,107,0,3,100,98,49,107,0,6,116,97,98,108,101,49>>
2> term_to_binary({"db1", "table2"}).
<<131,104,2,107,0,3,100,98,49,107,0,6,116,97,98,108,101,50>>
3> term_to_binary({"db2", "table1"}).
<<131,104,2,107,0,3,100,98,50,107,0,6,116,97,98,108,101,49>>
4> term_to_binary({"db2", "table2"}).
<<131,104,2,107,0,3,100,98,50,107,0,6,116,97,98,108,101,50>>