Riak的Bucket是什么?它用于什么

时间:2016-05-29 09:59:02

标签: riak

Riak的什么是桶?我试图检查文档,但我被提到了桶类型,但无法掌握Riak中桶的概念。

任何解释?它是什么,为什么用它?

2 个答案:

答案 0 :(得分:1)

我认为除了“存储区是分配了一些配置的数据的分组机制”之外,还有更多内容。

引用official docs(强调我的):

  

存储桶用于定义用于存储Riak的虚拟键空间   对象。它们使您能够定义非默认配置   有关复制属性和其他参数的键空间。

     

在某些方面,可以将桶与关系中的表进行比较   文件系统中的数据库或文件夹。从角度来看   性能方面,具有默认配置的存储桶本质上是   “免费”,而非默认配置,使用桶类型定义,   将使用Riak's围绕[戒指] [词汇表读取代表]闲聊   集群元数据子系统。

来自Bucket Types

  

Buckies本质上是Riak中的平面命名空间。他们允许相同   密钥名称存在于多个存储桶中并允许您应用   键上的配置。

答案 1 :(得分:0)

存储桶:在某些方面,存储桶可以与关系数据库中的表或文件系统中的文件夹进行比较

存储桶类型

  1. Riak 2.0中的新功能
  2. 桶类型允许桶组共享配置详细信息。与基于存储桶属性的旧配置系统相比,Riak用户和管理员可以更有效地管理存储桶属性

让我们再潜一点:

“使用存储桶类型”文档详细介绍了存储桶类型的实现,用法和配置。在整个文档中,都有一些代码示例(例如,使用数据类型),包括用于创建与每个Riak数据类型相关联的存储桶类型的代码。

存储桶类型是对旧存储桶配置系统的重大改进。对于整个存储桶组,定义存储桶配置,然后根据需要更改配置的功能是一种考虑数据建模的强大新方法。此外,存储桶类型更可靠,因为具有给定类型(或配置)的存储桶仅在更改类型时才更改其属性。以前,只能通过客户端请求来更改存储桶的属性。

在先前版本的Riak中,存储桶属性是由与Riak交互的客户端更改的……相反,存储桶类型是一种操作概念。 riak-admin存储桶类型的界面使Riak用户能够在操作级别上管理存储桶配置,而无需求助于Riak客户端。

在Riak 2.0之前的版本中,所有查询都针对存储桶/密钥对,如以下示例所示:

curl http://localhost:8098/buckets/my_bucket/keys/my_key

现在在Riak 2.0中,添加了存储桶类型,在存储桶和键之上还有一个额外的命名空间。如果根据不同的存储桶类型使用相同的存储桶名称,则可以将其与完全不同的数据相关联。

curl http://localhost:8098/types/type1/buckets/my_bucket/keys/my_key
curl http://localhost:8098/types/type2/buckets/my_bucket/keys/my_key

如果对未指定存储桶类型的存储桶/密钥对发出请求,则将使用默认代替存储桶类型。以下请求是相同的。

curl http://localhost:8098/buckets/my_bucket/keys/my_key
curl http://localhost:8098/types/default/my_bucket/keys/my_key