The*_*One 3 namespaces organization nosql riak
由于Riak使用水桶作为分离钥匙的方式,是否可以在水桶内装水桶?如果不是,那将如何为多个应用程序组织带有许多存储桶的Riak设置.
基本问题是如何在Riak中表示"数据库"和"表格".由于存储桶转换为表,转换为数据库的是什么?
编程语言中的命名空间通常具有层次结构.由于存储桶本质上是命名空间,因此Riak存储桶也允许层次结构是有意义的.
hdi*_*ima 10
您需要将Riak视为非常大的key -> value"表",其中桶只是键的前缀.现在当你知道你可以对桶做任何事情,只要它们仍然是二进制对象.
您可以创建线性"表格":
<<"table1">>
<<"table2">>
Run Code Online (Sandbox Code Playgroud)
或者您可以创建层次结构:
<<"db1.table1">>
<<"db1.table2">>
<<"db2.table1">>
<<"db2.table2">>
Run Code Online (Sandbox Code Playgroud)
或者你甚至可以使用元组作为桶:
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>>
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1212 次 |
| 最近记录: |