Riak的什么是桶?我试图检查文档,但我被提到了桶类型,但无法掌握Riak中桶的概念。
任何解释?它是什么,为什么用它?
答案 0 :(得分:1)
我认为除了“存储区是分配了一些配置的数据的分组机制”之外,还有更多内容。
引用official docs(强调我的):
存储桶用于定义用于存储Riak的虚拟键空间 对象。它们使您能够定义非默认配置 有关复制属性和其他参数的键空间。
在某些方面,可以将桶与关系中的表进行比较 文件系统中的数据库或文件夹。从角度来看 性能方面,具有默认配置的存储桶本质上是 “免费”,而非默认配置,使用桶类型定义, 将使用Riak's围绕[戒指] [词汇表读取代表]闲聊 集群元数据子系统。
来自Bucket Types:
Buckies本质上是Riak中的平面命名空间。他们允许相同 密钥名称存在于多个存储桶中并允许您应用 键上的配置。
答案 1 :(得分:0)
存储桶:在某些方面,存储桶可以与关系数据库中的表或文件系统中的文件夹进行比较
存储桶类型
让我们再潜一点:
“使用存储桶类型”文档详细介绍了存储桶类型的实现,用法和配置。在整个文档中,都有一些代码示例(例如,使用数据类型),包括用于创建与每个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