簡體   English   中英

將報告數據臨時存儲到 AWS DynamoDB 上? 這是一個可行的解決方案嗎?

[英]Temporarily storing report data onto AWS DynamoDB? Is this a viable solution?

我有一個 Web 應用程序,用戶可以在其中運行數據報告。 問題是由於我們正在處理的數據,查詢速度非常慢。

我正在考慮使該過程異步並讓另一台機器在該線程上工作:查詢該數據,將其放入 AWS DynamoDB,然后通知用戶。

大部分數據是平坦的(只有行和列)。 通常,記錄大小的范圍在 100 秒左右,有時是 1000 秒,很少在 10,000 秒左右。

這是個好主意嗎? 表演會是怎樣的?

經典建築回答:“看情況”

  1. 如果您長時間運行的查詢是在其他 Dynamo 表上,那么將結果存儲在 Dynamo 中是有意義的。 (您已經在使用的熟悉技術)。

  2. 如果您的查詢是針對某個其他數據庫運行的,那么為什么不將您的結果存儲在該數據庫的新表中,或者存儲在同一平台上的新專用數據庫中呢?

  3. 或者保持簡單,將結果寫入 S3 中的文件(json、xml、csv 等等)?

類似於@Scrappydog 提到的。 您可以混合使用 DynamoDB 和 S3。

  1. DynamoDB 將存儲查詢元數據 - 如用戶 ID 和 S3 文件名
  2. S3 會將實際查詢結果存儲在文件中

這將允許您使用 DynamoDB 將所有移動的部分聯系在一起。 還可以避免 DynamoDB 的大量寫入以降低成本。

暫無
暫無

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

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