我正在考虑使用couchbase进行下一个Web应用程序,我想知道我的数据应该如何构建,特别是使用存储桶。例如,假设每个用户将拥有大量唯一数据,是否应为每个用户创建一个单独的存储桶(甚至可能针对不同类别的数据)?另外,我想知道使用存储桶分离数据是否有任何真正的优势/劣势(除了显而易见的组织利益),而不是简单地将所有内容存储在一个存储桶中。
答案 0 :(得分:5)
使用更多或更少的存储桶不会获得任何性能提升。 Couchbase拥有桶的原因是它可以是多租户。我可以想到使用多个存储桶的最佳用例是,如果您是托管服务提供商,并且您希望让不同的用户使用相同的数据库服务器。存储桶可以受密码保护,并可防止一个用户访问其他用户数据。
有些人为了组织目的创建了多个存储桶。也许您正在运行两个不同的应用程序,并且您希望数据是独立的,或者您提到的可能要按类别拆分数据。
在管理方面,尽管最好为您的应用程序创建尽可能少的存储桶,因为它可以通过减少您从Web层(客户端)到Couchbase所需的连接数量来简化客户端逻辑。对于您拥有的每个存储桶,您必须创建单独的客户端连接。