日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

share-Nothing原理

發(fā)布時間:2023/12/13 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 share-Nothing原理 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

 Share nothing理論在數(shù)據(jù)庫設計和優(yōu)化中的實踐應用

  首先介紹share nothing概念。最早接觸它是在 DataBaseManagentSystem一書的并行數(shù)據(jù)庫章節(jié)中。

  并行數(shù)據(jù)庫要求盡可能的去并行執(zhí)行數(shù)據(jù)庫操作,從而提高性能。在并行計算體系結(jié)構(gòu)實現(xiàn)中有很多可選的體系結(jié)構(gòu)。包括:

  share-memory:多個cpu共享同一片內(nèi)存,cpu之間通過內(nèi)部通訊機制(interconnection network)進行通訊;

  share-disk? : 每一個cpu使用自己的私有內(nèi)存區(qū)域,通過內(nèi)部通訊機制直接訪問所有磁盤系統(tǒng)。

  Share-nothing: 每一個cpu都有私有內(nèi)存區(qū)域和私有磁盤空間,而且2個cpu不能訪問相同磁盤空間,cpu之間的通訊通過網(wǎng)絡連接。3種體系結(jié)構(gòu)如下圖:

  Share disk???????????????????????? share nothing????????????????????????? share memory?

  shared memory 體系結(jié)構(gòu)的cpu之間通過主存進行通訊,具有很高的效率;但當更多的cpu被添加到主機上時,內(nèi)存競爭contetion就成為瓶頸,cpu越多,瓶頸越厲害。Shared disk也存在同樣問題,因為磁盤系統(tǒng)由 Interconnection Network 連接在一起。

  Shared memory和shared disk的基本問題是interference:當添加更多的cpu,系統(tǒng)反而減慢,因為增加了對內(nèi)存訪問(memroy access)和網(wǎng)絡帶寬(network bandwidth)的競爭。這樣shared nothing體系得到了廣泛的推廣。

  Shared nothing體系是數(shù)據(jù)庫穩(wěn)定增長,當隨著事務數(shù)量不斷增加,增加額外的cpu和主存就可以保證每個事務處理時間不變。

  總的來說,shared nothing降低了競爭資源的等待時間,從而提高了性能。反過來,如果一個數(shù)據(jù)庫應用系統(tǒng)要獲得良好的可擴展的性能,它從設計和優(yōu)化上就要考慮shared nothing體系結(jié)構(gòu)。Share nothing means few contention.它在oracle數(shù)據(jù)庫設計和優(yōu)化上有很多相同之處。

  Share nothing 對數(shù)據(jù)庫應用主要體現(xiàn)在多用戶并行訪問系統(tǒng)時候,優(yōu)化數(shù)據(jù)庫操作的response time上。如果數(shù)據(jù)庫操作能夠順利獲得所需要的資源,不發(fā)生等待事件,自然可以減少response time. 同時也體現(xiàn)在操作盡量少占用資源上,避免浪費時間在無用功上。

  如Sequence的實現(xiàn)方式。如果使用Oracle?Sequence ,oracle可以緩存sequence,這樣最小的降低多個Session獲得唯一序列的競爭。如果設計為實體化表存儲sequence value方式,每次獲得sequence value都需要鎖住紀錄,這樣產(chǎn)生了嚴重資源競爭,導致hot block.同時增加了Response time.

  如存儲過程的使用,也體現(xiàn)著share nothing原理。將多個sql 封裝在存儲過程中,避免了不必要的SQL*Net message from/to client, SQL*Net data from/to client 等等待事件。這體現(xiàn)了設計良好的應用使用最少的資源完成工作。

  如在優(yōu)化sql/表結(jié)構(gòu)設計上,share nothing意味著降低查詢的執(zhí)行成本—— I/O和cpu usage.這主要體現(xiàn)在降低consistent gets上。

  在物理設計上,share nothing體現(xiàn)在避免磁盤熱點塊,協(xié)調(diào)進程對磁盤的競爭,平衡磁盤利用率上。

  Oracle自身設計上很多都體現(xiàn)了Share Nothing特性;在設計可擴展的數(shù)據(jù)庫應用的時候也要注意到這點。

文件轉(zhuǎn)載來自http://oracle.chinaitlab.com/optimize/39626.html

轉(zhuǎn)載于:https://www.cnblogs.com/opina/archive/2013/01/22/2870982.html

創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎勵來咯,堅持創(chuàng)作打卡瓜分現(xiàn)金大獎

總結(jié)

以上是生活随笔為你收集整理的share-Nothing原理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。