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()]
# 出隊
(y)def
get_hot
(self, x)
:"""訪問熱資料"""
return self.hot[x]
defget_cold
(self, x)
:"""訪問冷資料"""
from time import sleep
('冷資料查詢有延遲。。。'
) sleep(1)
return self.cold[x]
defcheck_queue
(self)
:"""檢視佇列"""
('佇列:{}'
.format
(self.queue)
('熱資料:{}'
.format
(self.hot)
('冷資料:{}'
.format
(self.cold)
('程式開始'
.center(50,
'-')
)q = queue(
)while
true
: a =
input
('輸入乙個字母:'
).strip(
)try
: q.visit(a)
except keyerror:
('檢視佇列狀況'
使用頻度
儲存方式高記憶體
中固態硬碟
低機械硬碟
極低機械硬碟+壓縮
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萬條 在這組數字表象的背後,不知道你有沒有發現需要哪些支撐?讓我們簡單算一下,...