個人設想的冷熱資料架構

2021-10-11 04:09:27 字數 2074 閱讀 3301

2、個人構想的【冷熱資料自動轉換】模型

3、個人構想的【冷熱資料儲存】模型

對比熱資料

冷資料訪問頻度

常訪問不常訪問

存放策略

放內存放硬碟

e.g.

兩個接近的商品【a:蛋黃酥】和【b:月餅】

假設a和b每年都被訪問365次

a每天都被訪問1次

b僅在中秋前被訪問365次,其餘時間幾乎不被訪問

於是認為:a是熱資料,b是冷資料

對此,a應長期放記憶體,以便快速訪問;b應長期放硬碟,在中秋前再放到記憶體

夏裝和冬裝 具有季節性夏季時,夏裝 成為 熱資料,冬裝 成為 冷資料

冬季時,夏裝 成為 冷資料,冬裝 成為 熱資料

: self.size = size # 佇列大小(記憶體大小)

self.queue =

self.hot =

self.cold =

self.check_queue(

)def

visit

(self, x)

:"""訪問"""

if x in self.queue:

y = self.get_hot(x)

del self.queue[self.queue.index(x)

]# 更新佇列

else

: y = self.get_cold(x)

self.queue.insert(

0, x)

# 入隊

self.hot[x]

= y if self.queue.__len__(

)> self.size:

del self.hot[self.queue.pop()]

# 出隊

print

(y)def

get_hot

(self, x)

:"""訪問熱資料"""

return self.hot[x]

defget_cold

(self, x)

:"""訪問冷資料"""

from time import sleep

print

('冷資料查詢有延遲。。。'

) sleep(1)

return self.cold[x]

defcheck_queue

(self)

:"""檢視佇列"""

print

('佇列:{}'

.format

(self.queue)

)print

('熱資料:{}'

.format

(self.hot)

)print

('冷資料:{}'

.format

(self.cold)

)print

('程式開始'

.center(50,

'-')

)q = queue(

)while

true

: a =

input

('輸入乙個字母:'

).strip(

)try

: q.visit(a)

except keyerror:

print

('檢視佇列狀況'

使用頻度

儲存方式高記憶體

中固態硬碟

低機械硬碟

極低機械硬碟+壓縮

mysql冷熱分離的技術 資料歸檔,冷熱資料分離

一.關於tokudb引擎 1.tokudb引擎特點 2.tokudb安裝步驟 1.yum install jemalloc y 2.vim etc my.cnf 新增如下 mysqld safe malloc lib usr lib64 libjemalloc.so.1 3.echo never s...

cephfs的mds元資料的冷熱備

這是mds新手入門篇,主要內容講述mds冷備,熱備區別和重放的關係。我們只討論單active mds的情況 一,mds的冷備 1,我們用ceph deploy mds create 建立乙個mds,這時候會有乙個active的mds作為檔案系統的元資料快取來為檔案系統提供服務,mds快取了dentr...

冷熱分治,DT時代的資料儲存必由之路

式增長的資料如何處理?在一分鐘內,郵箱使用者總共傳送了2.04億封郵件,亞馬遜官網上的銷售額約達到了8.3萬美元,再說說社交網路上,facebook的使用者約推送了246萬條的內容,twitter使用者發推數量約為27.7萬條 在這組數字表象的背後,不知道你有沒有發現需要哪些支撐?讓我們簡單算一下,...