2013-05-16 59 views
0

我還挺新的DynamoDB,我需要做到以下幾點。Amazon DynamoDB + Rails 2.3.18

  1. 門票從一堆地方創建(我們將它們存儲在Mysql中)。
  2. 每張票有N個活動,每個票有N個。
  3. 我們計劃在dynamoDB中存儲票務活動以加快檢索速度。

    以下是我的計劃在dynamodb存儲來自(讀作密鑰=>值)

    1. 活動ID(即我會生成UUID)=>活動數據
    2. 每張票(票證ID我RDBMS)=>活動的ID陣列..

所以,我可以查詢一樣,讓我一票的所有活動。

現在我真正的問題是..

如何處理它的權限?例如:可能有用戶只能查看他們機票的活動,或者有可以查看任何機票的所有活動的用戶。

如何以及在哪裏可以將數據存儲在發電機中?任何幫助將不勝感激。

任何其他類型的發電機存儲也深受讚賞。

回答

0

如果UUID是加密的,那麼用戶無法猜測(因此無法查詢)其他用戶的故障單活動。

這是如果您在應用程序級別<中沒有任何驗證 - 通常情況並非如此。

數據庫通常由應用程序用驗證用戶後構建的查詢來查詢。該應用程序是一個超級用戶(admin),它可以從dynamodb獲得任何想要的結果,但查詢本身需要在應用程序級別進行身份驗證。

DynamoDb沒有每項驗證。你需要在應用程序中弄明白。

您可以繼續使用您的MySQL解決方案來獲取用戶詳細信息,例如用戶的(加密)散列可以是DynamoDb中的密鑰。

您也可以將用戶詳細信息配置移動到DynamoDb中的另一個表中 - 但這有點過於寬泛和特殊(除非您有特定問題)。

+0

謝謝Chen .. DynamoDB的查詢功能如何?假設我有很多活動的屬性(比如ticketid,做過它的人,created_at等等)。我可以根據一個或2或3個屬性的組合查詢?這是允許的嗎?任何鏈接查找?我已閱讀關於LSI。但我可以像 查詢1.給我所有活動的票(給定票ID) 2.給我最近的活動過去2分鐘(說) 3.給我所有活動 – Venky