Image for post
Image for post

使用DynamoDb 前你該考慮的事情

Read this article in English here.

Image for post
Image for post
Logo of AWS DynamoDB

不能儲存空白字串

DynamoDb 是NoSQL 的資料庫,不過它不能儲存空白字串,在JSON 物件的任何一層都不能。如果你的物件中有空白字串,在嘗試寫入時會拋出錯誤。

Query 返回的大小限制

DynamoDb 每個查詢最多只能返回1MB 資料,如果你的資料多於1MB, 返回結果中會有一個名為 last_evaluated_key 的值,於下一個查詢中包含它,就可以得到「下一頁」的資料。

批量寫入的限制

每個寫入操作最多只能包含25 列資料,十分不便。為應對這個問題,同時處理在多個節點同時寫入時因超出吞吐量的寫入失敗,我需要這樣做:

查詢共有多少列資料

在其他資料庫中,通常都有十分簡單的方法查詢共有多少列的資料;不過在DynamoDb 中你只能這樣做:

總結

DynamoDb 雖然強大,不過同時有一點取捨。如果你慣於使用其他NoSQL 資料庫如 MongoDb,在轉用DynamoDb 前必須考慮以上數點。

A JavaScript/Node/Flutter developer who love technical stuffs.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store