CouchBase Lite移动架构设计

时间:2015-02-10 19:09:11

标签: couchbase-lite

我不确定我是否为CouchBase移动数据库创建了正确的架构。以下是1个用户移动应用的架构示例:

{
    "users": [
        {
            "firstname": "Jim",
            "lastname": "terry",
            "addresses": [
                {
                    "address": "123 Way",
                    "zipcode": "65432"
                },
                ...
            ],
            "activities": [
                {
                    "steps": 500
                },
                {
                    "sleep_hours": 2
                },
                ...
            ],
            "posts": [
                {
                    "subject": "Hello",
                    "body": "World"
                },
                ...
            ]
        },
       ...
    ]
}

移动应用可以在设备上拥有1到多个用户。服务器数据库可以容纳应用程序只能访问的许多用户。我正在努力解决这个问题,这是否是一个适用于couchbase应用程序的良好数据模型。我已经在用户模式下对与用户关联的所有数据进行了非规范化。我的问题如下:

  1. 如果用户的活动变得非常大并且帖子变得非常大,会发生什么?当您对活动进行更新时,它是否必须保存整个文档,当只有一个用户数据得到更新时,该文档可以创建一个性能选项?数据库是否将这些数组作为单独的文档与用户分开?
  2. 最佳做法是以这种方式将数据存储在活动中吗?在该示例中,两个对象都是活动,但它们包含完全独立的数据。
  3. 这是最有效的型号吗?改变的一个例子可能是,而不是通用":[]创建" step_activities"和" sleep_activities"?

0 个答案:

没有答案