簡體   English   中英

DynamoDB 中的多分區鍵搜索操作

[英]Multi partition key search operation in DynamoDB

Scan API 或 Query API 是否有某些操作允許使用復合鍵 (pk/sk) 對表執行查找,但僅在 pk 中有所不同以優化表的掃描操作?

讓我介紹一個用例:

假設我有一個由項目 ID 定義的分區鍵,並且在每個項目中我都有大量記錄 (sk)

現在,我需要解決查詢“返回所有項目” 所以我沒有分區鍵,我必須執行掃描。

我知道我可以創建一個 GSI 來解決這個問題,但我們假設情況並非如此。

有什么方法可以執行在每個 pk 之間“跳躍”的掃描,而忽略 sk 的元素?

也就是說,我會收集每個partition key的第一條記錄的信息。

正如您所知,DynamoDB 是一個 NoSQL 數據庫。 它針對 LOOKUP 進行了優化,您過去在 SQL 數據庫或其他(低規模)數據庫中擁有的做法在 DynamoDB 中並不總是可用。

分區鍵的概念是將屬於同一分區的記錄放在一起,並按排序鍵排序。 另一方面,沒有相同分區鍵的記錄存儲在其他位置。 不是您可以掃描的一長串記錄(或樹)。

在 NoSQL 數據庫中設計模式時,需要考慮對該數據的訪問模式。 如果您需要所有項目的列表,則需要維護一個允許它的索引。

暫無
暫無

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

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