Postgresql

如何將舊數據移至廉價硬碟

  • July 20, 2019

我有一個相當大的 PostgreSQL 數據庫(帶有時間刻度外掛)。現在它在 SSD 上消耗大約 500Gb。大多數數據都是時間序列的形式。在大多數情況下,幾個月前的數據並不是很有趣。

我的想法是將這些數據移動到便宜的 SATA 硬碟驅動器上,而不是購買更昂貴的 SSD。這是一個好主意,是否有一些好的實踐來實施?

我的幼稚實現是:

保留兩個數據庫(或在便宜的 HDD 上創建一個表空間)。每隔幾個小時將數據從“快速”(SSD)數據庫提取到“慢速”數據庫(HDD)。每隔幾天,從慢速數據庫中刪除數據。這是一個好主意嗎?我很高興聽到一些回饋和更好的建議。

這是一個更好的架構:

  • 在慢速驅動器上創建一個新的表空間。
  • 在該新表空間上設置儲存參數seq_page_costrandom_page_cost更高,以便 PostgreSQL 優化器知道磁碟速度較慢。
  • 按時間範圍對大時間序列表進行分區(對所有受影響的表使用相同的邊界),以便最終每個分區都有幾十個分區。
  • 將舊分區移動到慢速表空間。

然後,您仍然可以訪問所有數據。

使用 PostgreSQL v11 或更高版本進行分區。

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