它是最好的發言權用戶ID有一個巨大的表,並存儲在DynamoDB與它的一切或者創建擁有大量的表格的超級非規範化的模式?如何最好地建立一個架構在DynamoDB
讓我們假設我有一個像Flickr一樣的圖像共享網站。我想要:
users (userId, email, passwords, names)
images (imageId, userId, filename, size)
comments (commentId, userId, imageId, textOfComment)
這是一個非常規範化的做事方式(據我瞭解),將3個表。我會根據我需要的來查詢它們。
說,如果我有一個帳戶及希望得到他們所有的圖片:
query = select * from images where userId = @userId
但是DynamoDB似乎並沒有這樣的工作方式,因爲它通過按鍵partions數據:
用戶id ,圖像標識,commentsId將鑰匙和partion表
我將如何獲得特定用戶的所有圖像?我只是有一張大桌子嗎?(這似乎太糟糕了)?或者我應該把imageId作爲用戶表中的一個集合(如果說一個用戶擁有1,000,000個圖像,可能會變大)?或者,還有更好的方法?