gpt4 book ai didi

database - Azure 表存储 (NoSQL) 中的单独表与一张大表

转载 作者:搜寻专家 更新时间:2023-10-30 20:41:33 24 4
gpt4 key购买 nike

我正在使用 Azure Tables,我正在尝试弄清楚应该如何组织我的数据。

表中的每个实体都有一个 PartitionKey 和 RowKey,我的理解是分区应该用于组织类似的对象以实现可扩展性。在网站的示例中,他们使用电影实体,其中类别( Action 、科幻等)是 PartitionKey,而标题(速度与激情等)是 RowKey。

按照上面的示例,假设我们没有重复的电影,并且您还想跟踪每个特定电影的租赁历史记录,即位置、到期日期、客户等。

使用一张表来存储所有这些内容并为租赁实体使用单独的分区是一种不好的做法吗?需要明确的是,我正在讨论位于不同分区的同一个非规范化表中的电影项及其相应的历史记录项。

使用两个单独的表格是否有优势?如果没有,那么表格的意义何在?

编辑:
分区键|行键 | Prop 0 | Prop 1 |...
---------------------------------------------------------- ——……
科幻           |星球大战| foo0: 酒吧0 | foo1: bar1|...
租赁         |星球大战| foo0: 酒吧0 | foo1: bar1|...

最佳答案

首先,表存储的概念是你可以“转储”大量数据,因为你知道搜索设施非常差,你将无法发出 SQL 查询,因此没有 RDBMS,它只是一种手段存储大量数据。事实上,partitionKey 和 rowKey 是通过 Azure 存储获得的唯一索引列,这意味着通过 partitionKey 或 rowKey 进行搜索将比通过任何其他列进行搜索更快。如果您需要快速检索数据,那么 blob 存储或表存储是不行的。如果您只想保留记录用于审计目的或历史记录,那么可以。但是,如果您想在视频商店中使用它并需要检索客户的详细信息,那么正如我提到的那样,这是不好的做法。你最好使用 RDBMS。最后,您不能在表存储中(即两个表之间)执行 JOIN 或其他 RDBMS 查询等。

关于database - Azure 表存储 (NoSQL) 中的单独表与一张大表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17351625/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com