我对 cosmosdb(documentdb) 非常陌生,在浏览文档时,我不断地重复阅读一件事,即 documentdb 是无模式的,但我觉得集合类似于模式,并且两者都是逻辑 View 。
Wikipedia将模式定义为“术语“模式”是指将数据组织为数据库构建方式的蓝图”。我相信集合也是一样的,它是文档、存储过程、触发器和UDF的组织。
所以我的问题是,架构与集合有何不同?
最佳答案
集合实际上与模式无关。它们只是文档的组织结构。在 Cosmos DB 中,它们充当:
- 事务边界。在集合中,您可以利用存储过程在事务中执行多个查询/更新。这些更新仅限于单个集合(更具体地说,仅限于集合中的单个分区)。
- 计费/性能边界。 Cosmos DB 允许您指定每秒分配给集合的请求单元 (RU) 数。每个集合可以有不同的 RU 设置。无论您消耗多少存储空间,每个集合都有一个最低成本(由于必须分配的最小 RU 量)。
- 服务器端代码边界。存储过程、触发器等上传到特定集合。
您是选择为每个对象类型创建单个集合,还是在单个集合中存储多个对象类型,完全取决于您。并且与数据的形状无关。
关于azure - 集合与模式有何不同,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44236588/