簡體   English   中英

如何在不更改代碼庫的情況下處理 aws dynamo db 400 KB 記錄限制

[英]How to handle aws dynamo db 400 KB record limit without changing my codebase

在 aws dynamo db 中,我們不能在單個記錄中存儲超過 400KB 的數據 [ 參考]。 根據在線建議,我可以在存儲之前壓縮數據,也可以將部分數據上傳到 aws s3 存儲桶,我可以通過

但是我的應用程序(javascript/express 服務器加上許多 js lambdas/微服務)太大並且添加了需要大量重寫和廣泛測試的上述邏輯。 目前有一個大客戶的直接要求,要求在 db 中存儲 >400KB 的存儲空間,所以有沒有其他方法可以解決這個問題,而不是讓我更改現有代碼以從 db 中獲取記錄。

我在這些方面考慮得更多:
我的后端調用 dynamo db 來獲取記錄,就像它現在所做的那樣(我們混合使用 vogels 和 aws-sdk 來調用 db)-> 該調用被 lambda(或其他東西)攔截,它處理必要的壓縮/decompression/s3 與dynamodb 並將數據返回到后端。

上述方法是否可行,如果可以,那么我 go 如何實施呢? 或者如果你有更好的方法,請告訴。

附言。 展望未來,我一定會重新編寫我的代碼庫來解決這個問題,我要求的是一個即時的權宜之計解決方案。

將數據拆分為多個項目。 您將不得不更改一點客戶端代碼,但希望您有一個數據訪問層,所以這只是一個地方的小改動。 如果您沒有 DAL,從現在開始請始終擁有 DAL。 :)

對於大項目的有效載荷,使用常規項目作為清單,可以指向分段項目。 然后批量獲取那些分段的項目。

這假設單獨壓縮並不總是足夠的。 如果是,就這樣做。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM