Couchbase权威指南(十八)

在couchbase里存储数据

couchbase是一个严格的文档型数据库。这就意味着,信息根据文档ID存储在数据库里。没有必要设置数据格式、创建表结构,甚至不需要告诉couchbase关于要存储的信息。你要做的所有工作就是根据指定文档ID存储文档数据。

因为文档的结构原因,在开发应用时有一些不同的考虑点。让我们了解下文档ID和文档值的基本因素。

文档ID

文档ID(或key)非常重要,它用来索引存储的数据。key在一个bucket里必须是唯一的。

key用来标识所存储的信息,可以是任意字串,通常最大长度128位。couchbase没有机制为你自动创建文档ID。假如使用UUID,就必须在你自己的程序里使用对应的UUID库。

通常实践是,使用前缀、类型、分隔符来区分存储在每个bucket里的不同信息。例如,可以使用beer_9834759这个ID来存储关于啤酒的信息。这里的beer前缀标识记录类型,下划线作为分隔符,后面的数字作为唯一的啤酒ID。

couchbase 1.8没有获取文档ID列表的功能,也不能遍历一个bucket里的所有文档。除非指定文档ID,你不能查询信息。然而,这一点会在couchbase 2.0里予以改进和支持。

针对上述问题的一个解决方案是在应用里创建信息链。例如,当一个新的啤酒记录追加到数据库里时,你可以更新一个beer_list的文档,它包含了所有的啤酒记录ID。因为更新是原子性的,所以可以维护这么一份最新的信息列表。实践做法可以参考这篇博客:https://blog.couchbase.com/maintaining-set-memcached

应用程序可以通过使用和读取一个固定的记录来引导自身的数据查询,这个记录要么是本地的配置,要么是在数据库里的配置记录。

此条目发表在Common分类目录,贴了标签。将固定链接加入收藏夹。