自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

生不逢時的openZFS能用在數(shù)據(jù)庫上嗎

數(shù)據(jù)庫 其他數(shù)據(jù)庫
目前openZFS社區(qū)是十分活躍的,今年年初推出的2.1.7版本支持3.10-6.0的LINUX核心,與一直不夠成熟的BTRFS相比,我還是更推薦openZFS。實際上我們的國產(chǎn)數(shù)據(jù)庫廠商也可以試著考慮一下openZFS,利用這個開源項目為自己的數(shù)據(jù)庫產(chǎn)品開發(fā)一個底層存儲組件,用在自己的數(shù)據(jù)庫一體機上。

?在Linux上有很多耳熟能詳?shù)奈募到y(tǒng),EXT4,XFS,哪怕BTRFS也比openZFS出名,不過很多40出頭的IT人還是對ZFS有些印象的。很多人都覺得openZFS有點生不逢時,正當ZFS準備和LINUX緊密聯(lián)姻的時候,SUN被Oracle收購了,于是這也注定了ZFS的前路坎坷。在國外的很多IT社區(qū)里,都給ZFS打上了“originally Sun , but “got Oracled””這樣的標簽。在IT領(lǐng)域“got Oracled”不是個好詞,很多好技術(shù)都被Oracle收購了,并且消滅了。

ZFS是和普通的文件系統(tǒng)完全不同的,它是一種帶有嚴格一致性的文件系統(tǒng),是一種日志結(jié)構(gòu)的文件系統(tǒng)。類似于數(shù)據(jù)庫,ZFS依靠類似WAL的機制來保證文件系統(tǒng)的一致性。因此ZFS可以隨時保持十分強的一致性,有過服務(wù)器掉電后文件系統(tǒng)掛掉或者變成只讀狀態(tài)的朋友可能現(xiàn)在還會心有余悸,在ZFS上是永遠不需要fsck的,因為WAL可以幫助我們自動糾正這些不一致問題。

ZFS采用COW(COPY ON WRITE)的方式修改數(shù)據(jù),這一點與SSD的行為類似,這種方式是個雙刃劍,可以獲得較好的讀寫平衡,但是會帶來寫放大的問題,數(shù)據(jù)的修改操作會有較高的成本。

圖片

ZFS的RAID-Z技術(shù)被稱為窮人的福音,使用RAID-Z技術(shù),可以把多塊硬盤組成一個軟RAID系統(tǒng)從而確保數(shù)據(jù)的安全性。同時ZFS支持數(shù)據(jù)壓縮,可以讓數(shù)據(jù)的存儲成本進一步降低。

ZFS支持十分強大的快照技術(shù),通過快照閃回或者克隆數(shù)據(jù)都十分方便。這給數(shù)據(jù)保護,數(shù)據(jù)備份、數(shù)據(jù)復(fù)制等都提供了十分強大的保障。

如此復(fù)雜的文件系統(tǒng),其附加開銷肯定十分大,為了確保ZFS的性能,采用了內(nèi)存中修改,并以強一致性事務(wù)的方式存盤的模式。如果你的硬件環(huán)境較好,配置有較多的物理內(nèi)存,那么在內(nèi)存中完成寫操作,并且將日志寫在性能極佳的NVME SSD盤上,將海量數(shù)據(jù)寫入大容量HDD中,那么當你的寫IO不會大到擊穿內(nèi)存緩沖的時候,ZFS文件系統(tǒng)是能夠表現(xiàn)出十分優(yōu)秀的寫入性能的。

對于ZFS的性能問題,網(wǎng)絡(luò)上有很多不同的關(guān)鍵,也有不同的測試結(jié)果。用比較中肯的觀點來說,任何的好處都是有代價的,ZFS在確保數(shù)據(jù)安全的前提下,肯定會在性能上有所欠缺。一些認為ZFS性能很差的朋友可能并沒有做好調(diào)優(yōu),一些認為ZFS性能十分優(yōu)秀的朋友可能其測試場景過于單一和簡單。一般來說,與EXT4/XFS等傳統(tǒng)文件系統(tǒng)相比,ZFS在大量持久性寫入場景的性能肯定要差不少,對于讀寫較為均衡的OLTP系統(tǒng)來說,ZFS的性能與EXT4十分接近并略低一些。在某些OLTP數(shù)據(jù)庫場景中,因為ZFS的內(nèi)存中寫與讀緩沖機制,也可能會表現(xiàn)出比EXT4/XFS更好的性能。

比如當我們在ZFS上跑PG或者MySQL的時候,因為文件系統(tǒng)是可以確保不會出現(xiàn)塊斷裂問題的,因此我們就可以關(guān)閉FULL PAGE WRITE,從而獲得更好的并發(fā)性能。這實際上就是我昨天討論過的,把數(shù)據(jù)庫的工作交給OS來做的一個例子。

實際上,ZFS的調(diào)優(yōu)也沒那么復(fù)雜,如果你有我上面說的這樣的環(huán)境,較大的物理內(nèi)存,SSD盤做日志寫入,那么下面的調(diào)整方案可能就足以 ZFS表現(xiàn)出不錯的性能了。雖然ZFS文件系統(tǒng)上做針對性的調(diào)優(yōu)比較復(fù)雜,因為針對不同的數(shù)據(jù)保護模式,不同的緩沖策略和壓縮策略,會有十分復(fù)雜的配置。不過一般情況下,調(diào)整并不復(fù)雜:

  • lrecordsize=8kB;
  • llogbias=throughput [latency] :根據(jù)你的應(yīng)用場景需求可以選擇吞吐量和延時,針對高并發(fā)要求的OLTP應(yīng)用,可以選擇LATENCY,對于具有大量數(shù)據(jù)掃描的分析類應(yīng)用,可以選擇throughput;
  • lzfs_arc_max :一定要設(shè)置該參數(shù),避免arc cache占用過多的內(nèi)存,導(dǎo)致操作系統(tǒng)換頁。

有興趣的朋友可以找時間試試ZFS的性能是否能夠滿足你的應(yīng)用需求。我覺得不追求極致性能的情況下,ZFS的強一致性保障與數(shù)據(jù)壓縮能力已經(jīng)能夠讓我們得數(shù)據(jù)庫系統(tǒng)受益良多了。

目前openZFS社區(qū)是十分活躍的,今年年初推出的2.1.7版本支持3.10-6.0的LINUX核心,與一直不夠成熟的BTRFS相比,我還是更推薦openZFS。實際上我們的國產(chǎn)數(shù)據(jù)庫廠商也可以試著考慮一下openZFS,利用這個開源項目為自己的數(shù)據(jù)庫產(chǎn)品開發(fā)一個底層存儲組件,用在自己的數(shù)據(jù)庫一體機上。

責任編輯:武曉燕 來源: 白鱔的洞穴
相關(guān)推薦

2009-02-09 11:11:08

Windows7Vista微軟

2023-11-06 11:18:22

數(shù)據(jù)庫索引B 樹

2023-11-07 07:57:59

OracleTAC數(shù)據(jù)庫

2010-03-12 13:10:02

Python編程語言

2011-05-19 09:53:33

數(shù)據(jù)庫對象

2022-12-26 11:57:41

數(shù)據(jù)庫治理

2010-10-09 10:29:29

MySQL外鍵

2011-04-12 13:44:17

CachéOracle數(shù)據(jù)庫

2021-11-26 07:37:14

數(shù)據(jù)庫支持網(wǎng)絡(luò)

2024-11-13 15:15:46

2011-03-08 08:49:55

MySQL優(yōu)化單機

2018-01-26 13:28:48

數(shù)據(jù)庫數(shù)據(jù)重復(fù)數(shù)據(jù)庫清理

2011-04-08 09:24:20

access數(shù)據(jù)庫數(shù)據(jù)轉(zhuǎn)換

2011-05-24 13:58:14

IBM數(shù)據(jù)庫

2009-10-27 16:36:07

Oracle如何解鎖

2010-09-25 10:39:58

運行Java

2010-01-26 13:37:35

互聯(lián)網(wǎng)

2010-07-27 15:20:44

2011-07-25 09:45:51

樹狀結(jié)構(gòu)數(shù)據(jù)庫存儲

2023-08-03 08:42:24

點贊
收藏

51CTO技術(shù)棧公眾號