Aws

審計數據云儲存有哪些好的選擇?(連續寫,很少查詢)

  • August 18, 2020

來自 StackOverflow 的交叉文章,因為我預計它可能會在那里關閉,因為 SO 太挑剔了…… https://stackoverflow.com/questions/63432484/what-are-good-options-for-cloud-storage-of-audit -數據連續寫入-ra

我正在研究想要儲存大量“審計記錄”樣式數據的東西。例如“使用者創建了一個事物”、“使用者刪除了一個事物”、“使用者有 27 個事物”。我們希望將其儲存在雲中(AWS 或可能的 Azure)。理想情況下,我想使用雲原生服務,這樣我就不必擔心諸如擴展伺服器實例、分片等事情。

這種數據主要是連續的寫入流,並且經常是一個大的“報告”式查詢,我們在其中匯總或計算給定日期範圍內的一大塊數據。我們需要幾乎從不查詢單個記錄。

“AWS 中的雲數據庫”的首選似乎是 DynamoDB,但是定價模型和我一直在閱讀的文章似乎暗示它是為更多的事務模型而設計的。寫入比讀取貴一個數量級,這與我的案例相反。

那些擁有深厚雲知識的人 - 請:您將使用哪些服務來儲存此類數據並在其上執行報告?DynamoDB 在這裡是不是一個糟糕的選擇?

我將您的要求讀為(按順序)

  1. 廉價儲存大量記錄
  2. 不經常執行查詢,對性能不敏感。

在 AWS 上,最便宜的大容量儲存是 S3。其他提供商可能每 GB 更便宜(例如 Backblaze),但您必須平衡攪拌/出口成本。我們稍後會回到格式。

現在您需要一種方法來讀取該數據,而無需將其全部提取到另一個服務中。數據虛擬化 (DV) 似乎是這裡的答案。如果您已經為支持讀取外部數據的 DBMS 付費,您可能能夠在該服務上搭載這種不常見的工作負載。

有獨立的數據虛擬化產品,例如 Apache Calcite 和 AtScale。在專用 VM 上安裝一個在未使用時停止的虛擬機就足夠了。

然後,用於 S3 文件的格式取決於 DV 伺服器支持的格式。理想情況下是像 Parquet 這樣壓縮的東西。沒有像 JSON 這樣的結構化格式,有一個全面的字典來指導使用什麼標籤。

我會注意到,Snowflake 的儲存費用不超過 AWS 自己的價格,僅用於計算,並且可以讀取 JSON。這可能是最好的整體解決方案。

引用自:https://dba.stackexchange.com/questions/273811