在昨天的文章,只用 DynamoDB 作為儲存數據,如果資料量很大,且需要定時拉資料做分析,就不適合直接使用 DynamoDB 的資料,因為資料量越大,從 DynamoDB 取得資料的整體費用也會越高。
下面表格是 DynamoDB 和 S3的費用,可以看到 DynamoDB 會根據資料大小做計費,而 S3 是根據請求的數量計費,所以只要一次拉多一點資料,就能夠降低撈資料的成本。
從下面的表格就可以發現,資料量少的情況下,從 DynamoDB 撈取資料會比 S3 便宜,但如果撈取的數據量超過 8 KB ,從 S3 撈資料就比較划算,而且 S3 的資料可以透過 Athena 讀取匯出,費用可以更進一步降低。
不過,真的要降低 S3 呼叫 API 的費用的話,資料也不能太零碎,如果存入 S3 的是大量的小檔案,讀取的成本也是不低的。