簡體   English   中英

單獨的表與Azure表存儲(NoSQL)中的一個大表

[英]Separate tables vs. one big one in Azure table storage (NoSQL)

我正在使用Azure表,並且試圖弄清楚如何組織數據。

表中的每個實體都有一個PartitionKey和RowKey,我的理解是,應該使用分區來組織相似的對象以實現可伸縮性。 在該站點的示例中,他們使用了電影實體,其中類別(動作,科幻等)是PartitionKey,而標題(快速和狂怒等)是RowKey。

在上面的示例中,假設我們沒有重復的電影,並且您還想跟蹤每個特定電影的租借歷史,例如位置,到期日期,客戶等。

如果有一個表來存儲所有這些表並為出租實體使用單獨的分區,這將是不好的做法嗎? 明確地說,我是在同一分區的同一張非規范化表中一起談論電影項及其對應的歷史項。

使用兩個單獨的表是否有優勢,如果沒有,那么表的目的是什么?

編輯:
PartitionKey | RowKey | prop0 | prop1 | ...
------------------------------------------------ .. 。
科幻| 星球大戰| foo0:bar0 | foo1:bar1 | ...
出租| 星球大戰| foo0:bar0 | foo1:bar1 | ...

首先,表存儲的概念是,您可以“轉儲”大量數據,因為他們知道搜索功能非常差,您將無法發出SQL查詢,因此沒有RDBMS,這是一種存儲大量數據的方法數據。 的確,partitionKey和rowKey是使用Azure存儲獲得的唯一索引列,這意味着通過partitionKey或rowKey進行搜索將比通過其他任何列進行搜索更快。 如果您需要快速檢索數據,則無法進行Blob存儲或表存儲。 如果您只想出於審計或歷史目的保留記錄,則可以。 但是,例如,如果您想在視頻商店中使用它,並且需要檢索客戶的詳細信息,那么正如我所提到的,這是一種不好的做法。 您最好使用RDBMS。 最后,您不能在表存儲中(即兩個表之間)進行JOIN或其他RDBMS查詢等。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM