Json Azure DocumentDB数据建模、性能和性能;价格

Json Azure DocumentDB数据建模、性能和性能;价格,json,azure,azure-cosmosdb,Json,Azure,Azure Cosmosdb,我对NoSQL类型的数据库相当陌生,包括Azure的DocumentDB。我已经阅读了文档并理解了基本内容 文档给我留下了一些关于数据建模的问题,特别是它与定价的关系 微软按“每个集合”收费,集合是没有特定模式的JSON对象列表,如果我理解正确的话 现在,既然不需要统一的模式,那么是否期望您的“集合”类似于“数据库”,因为集合本身可能包含不同类型的对象?或者是期望每个“集合”类似于一个“表”,因为它只包含相似类型的对象(可能考虑到对象属性的差异) 查询性能在这里决定了一种方式还是另一种方式 谢谢

我对NoSQL类型的数据库相当陌生,包括Azure的DocumentDB。我已经阅读了文档并理解了基本内容

文档给我留下了一些关于数据建模的问题,特别是它与定价的关系

微软按“每个集合”收费,集合是没有特定模式的JSON对象列表,如果我理解正确的话

现在,既然不需要统一的模式,那么是否期望您的“集合”类似于“数据库”,因为集合本身可能包含不同类型的对象?或者是期望每个“集合”类似于一个“表”,因为它只包含相似类型的对象(可能考虑到对象属性的差异)

查询性能在这里决定了一种方式还是另一种方式


谢谢你的洞察力

DocumentDB下的正常模式是在同一个“集合”中存储大量不同类型的对象。您可以通过使用字段
type=“MyType”
或使用
isMyType=true
来区分它们。后者允许子类化和混合行为


至于性能,DocumentDB为您所选择的吞吐量提供了保证的10ms读取/15ms写入延迟。对于您的生产系统,将所有内容放在一个大的“分区集合”中,并根据您的空间需求和负载需求随时间滑动大小和吞吐量杠杆。您将获得本质上无限的可扩展性,DocumentDB将在您增加(或减少)吞吐量和大小杠杆时负责分配(和取消分配)资源(二级存储、分区等)。

DocumentDB下的正常模式是在同一“集合”中存储大量不同类型的对象。您可以通过使用字段
type=“MyType”
或使用
isMyType=true
来区分它们。后者允许子类化和混合行为


至于性能,DocumentDB为您所选择的吞吐量提供了保证的10ms读取/15ms写入延迟。对于您的生产系统,将所有内容放在一个大的“分区集合”中,并根据您的空间需求和负载需求随时间滑动大小和吞吐量杠杆。您将获得本质上无限的可伸缩性,DocumentDB将在您增加(或减少)吞吐量和大小杠杆时负责分配(和取消分配)资源(二级数据库、分区等)。

集合类似于数据库,而不是关系表。通常,您会在文档中存储一个
type
属性来区分类型,如果限制为特定类型,则会将
和type='MyType'
过滤器添加到每个查询中


如果在同一集合中存储不同类型的文档,与在不同集合中存储不同类型的文档,则查询性能不会有显著差异,因为您只是针对索引属性(类型)添加了另一个筛选器。但是,您可能会受益于将吞吐量汇集到单个集合中,而不是为每个类型/集合分散少量吞吐量

集合类似于数据库,而不是关系表。通常,您会在文档中存储一个
type
属性来区分类型,如果限制为特定类型,则会将
和type='MyType'
过滤器添加到每个查询中

如果在同一集合中存储不同类型的文档,与在不同集合中存储不同类型的文档,则查询性能不会有显著差异,因为您只是针对索引属性(类型)添加了另一个筛选器。但是,您可能会受益于将吞吐量汇集到单个集合中,而不是为每个类型/集合分散少量吞吐量