namespaces - 您如何在 Riak 中组织存储桶?

标签 namespaces nosql organization riak

既然 Riak 使用桶作为分离键的一种方式,那么桶中是否可以有桶?如果不是,如何为多个应用组织一个包含多个存储桶的 Riak 设置。

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

编程语言中的命名空间通常具有层次结构。 Riak 存储桶也允许层次结构是有意义的,因为存储桶本质上是命名空间。

最佳答案

你需要考虑Riak至于非常大的 key -> value "table"where buckets are only prefixes for keys .现在,当您知道可以使用存储桶做任何事情时,只要它们仍然是二进制对象。

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

<<"table1">>
<<"table2">>

或者您可以创建层次结构:

<<"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>>

关于namespaces - 您如何在 Riak 中组织存储桶?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6129705/

相关文章:

ruby-on-rails - Ruby on Rails 开发流程/顺序

c++ - 命名空间与两个大型库发生冲突

Python:为什么要禁止 'from <module> import *'?

mongodb - 我在哪里可以下载 64 位 ubuntu/linux 中的 pymongo

sql - 何时选择通过SQL/语义存储解决方案选择Cassandra?

javascript - 如何组织复杂的 jquery 应用程序?

C++ 需要在许多目录中包含头文件

c++ - 命名空间和 undefined reference

laravel - 具有单个 Redis 实例的多个 Laravel 应用程序

hadoop - 在 HBase 中删除一行的单元格