儲存技術與效能優化

2021-06-18 16:28:19 字數 1615 閱讀 2005

例如,檔案系統遷移裸裝置,增加磁碟數量,增加i/o

通道頻寬,提高磁碟條帶化程度等。這種大動干戈,尤其是投入大量硬體和儲存之後,卻往往是收效甚微。

事實上,作為乙個整體應用,很多系統大量i/o操作是應用軟體不合理導致的。因此在出現大量i/o操作時,應先分析是否能優化軟體。

通常而言,乙個oltp

的主要操作都只涉及區域性資料,通過採用合理的索引策略,資源消耗非常低,不應該存在嚴重的i/o瓶頸。

一般只有資料倉儲、統計報表等應用的大批量資料操作,oracle也有很多降低i/o瓶頸。例如,

物化檢視

可降低資料統計運算量,統計資訊採集只採集變化資料,包括

rman

增量備份

,可採用快速增量備份技術等。

n  裸裝置

oracle

資料庫支援的主要儲存型別包括普通檔案系統、集群檔案系統、裸裝置、自動儲存管理技術(asm)等。從技術原理上講,在大多數據操作情況下,應該是裸裝置效能最佳。因此每當出現某種新儲存技術時,業界都會將裸裝置效能作為基準指標,與新儲存技術的效能進行對比。但裸裝置並不是每種操作的效能都是最佳的。

其中,順序讀/

寫主要針對統計運算。隨機讀/寫主要針對一般交易型的聯機事務。可見,在順序讀時,檔案系統效能反而高於裸裝置,其他3種情況都是裸裝置高。

檔案系統和裸裝置的原理分析

:首先,基於檔案系統的資料庫操作,對資料的i/o操作需要經過作業系統的記憶體緩衝區

,同時也要

儲存在資料庫sga記憶體區,這樣不僅在記憶體儲存了兩份資料,也導致了訪問開銷的增加。而基於裸裝置的資料庫操作,i/o操作不需要儲存在作業系統的記憶體緩衝區,同時也支援非同步i/o,支援大批量的讀寫操作。因此,裸裝置總體上i/o操作開銷更小,而效能更佳。

但是,在進行大批量資料的順序讀操作時,也就是資料倉儲等系統進行大型統計等操作的情況下,特別是進行全表掃瞄時,由於oracle buffer cache採用lru演算法,這些資料儲存在lru列表的尾部,比按索引訪問的資料會更快地淘汰出buffer cache。因此,如果採用裸裝置技術,這些資料雖然不在oracle記憶體了,但只要作業系統記憶體足夠,這些資料還儲存在作業系統記憶體中。因此,檔案系統情況下,大量統計運算操作,特別是重複資料的訪問反而會更快一些。

除了在效能方面進行對比分析外,在可管理性方面也充分考慮。檔案系統看得見,摸得著,作為oracle資料檔案,還能自動擴充套件

。而裸裝置需要

專門的捲組管理系統進行管理

,需要建立vg、lv等都不能對裸裝置進行操作。作為oracle資料檔案,裸裝置還不能自動擴充套件

。因此,在海量資料庫實施中,裸裝置需要精心設計,例如,需要事先進行容量評估,在執行維護中也需要加強日常監控。

有沒有將檔案系統優點和裸裝置優點結合起來的儲存技術?有,這就是asm.

檔案系統的優點:

n  作為典型的資料倉儲系統,該系統具有大批量順序讀寫的技術特徵,尤其是各種統計分析將導致大量順序操作,而這正好是檔案系統的優勢。

n  檔案系統可管理性更好。

n  由於客戶硬體投入少,該系統為單機系統,不需要考慮在rac

環境下必須使用裸裝置、asm、集群檔案系統等要求。

因此該資料倉儲系統採用了再簡單不過的jfs檔案系統。目前,該系統已經平穩高效執行了多年,客戶從未感覺過檔案系統方面帶來了什麼i/o效能問題。

效能優化 儲存優化

android系統提供4中基本的資料儲存方式,分別是sharedpreference 檔案儲存 sqlite資料庫 contentprovider。sharedpreference sharedpreference是一種簡單便捷的儲存方式,常用來儲存一些簡單配置資訊。儲存路徑 sharedprefe...

優化建議 儲存效能優化。

在 應用中,海量的資料讀寫對磁碟訪問造成巨大壓力,雖然可以通過cache解決一部分資料讀壓力,但是很多時候,磁碟仍然是系統最嚴重的瓶頸。而且磁碟中儲存的資料是 最重要的資產,磁碟的可用性和容錯性也至關重要。機械硬碟是目前最常用的一種硬碟,通過馬達驅動磁頭臂,帶動磁頭到指定的磁碟位置訪問資料,由於每次...

mysql儲存效能優化

1 使用索引 每張表最多可以做16個索引,支援多列索引和全文索引 建立索引 create index index name on users username 檢視索引 show index from users 是一把雙刃劍,建不建立索引,主要看錶的功能,找好乙個平衡點,2 使用explain分析...