我是DynamoDB的新手,我發現很難考慮如何決定我的分區密鑰。我正在使用我的用例的精簡版本:在Dynamo DB中爲GSI確定分區密鑰
我有一個屬性,它是一個布爾值=> B 對於給定的ID,我需要返回所有的數據。該ID是X或Y屬性。對於給定的ID,如果B爲真,我需要讀取屬性X,否則Y.
在插入表格時,我知道B的值,因此我可以用X或Y填充它,具體取決於它的價值。
但是在讀取時,我只是給了一個ID,我需要弄清楚它是存在於X列還是Y列(我不會在輸入中獲得B的值)。
在RDBMS中,我可以運行一個查詢,如select * from tab where (B == true && X == ID) || (B==false && Y == ID)
。
我認爲在DynamoDB中創建一個GSI將是在Dynamo中解決這個問題的方法。但是我無法找出解決這個問題的最佳方式。我能得到建議嗎?
以防萬一問,你有X和Y的任何記錄規定? – xtx
@xtx是的,可能存在指定X和Y的情況。但是,如果B爲真,則只能從中讀取X. – user1692342
對於給定的ID,布爾B可以同時使用'true'和'false'值(用於不同的記錄)? – xtx