例如,檔案系統遷移裸裝置,增加磁碟數量,增加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分析...