您如何在Riak中组织水桶?

问题描述

| 由于Riak使用存储桶作为分隔键的方法,是否有可能在存储桶中包含存储桶?如果不是这样的话,如何为多个应用程序组织一个带有多个存储桶的Riak安装程序。 基本的问题是如何在Riak中表示\“数据库\”和\\“表\\”。由于存储桶转换为表,那么什么转换为数据库? 编程语言中的命名空间通常具有层次结构。 Riak存储桶也允许层次结构是有意义的,因为存储桶本质上是名称空间。     

解决方法

您需要将Riak视为非常大的
key -> value
\“ table \”,其中存储桶只是键的前缀。现在,当您知道可以对存储桶执行任何操作时,只要它们仍然是二进制对象即可。 您可以创建线性\“表格\”:
<<\"table1\">>
<<\"table2\">>
或者,您可以创建层次结构:
<<\"db1.table1\">>
<<\"db1.table2\">>
<<\"db2.table1\">>
<<\"db2.table2\">>
或者甚至可以将元组用作存储桶:
1> term_to_binary({\"db1\",\"table1\"}).
<<131,104,2,107,3,100,98,49,6,116,97,108,101,49>>
2> term_to_binary({\"db1\",\"table2\"}).
<<131,50>>
3> term_to_binary({\"db2\",50,49>>
4> term_to_binary({\"db2\",50>>
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...