• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    開源數據庫 Sharding 技術

    發布: 2008-8-25 12:29 | 作者: 網絡轉載 | 來源: 測試時代采編 | 查看: 76次 | 進入軟件測試論壇討論

    領測軟件測試網 從 Shard 到 Sharding
    "Shard" 這個詞英文的意思是"碎片",而作為數據庫相關的技術用語,似乎最早見于大型多人在線角色扮演游戲(MMORPG)中。"Sharding" 姑且稱之為"分片"。

    Sharding 不是一門新技術,而是一個相對簡樸的軟件理念。如您所知,MySQL 5 之后才有了數據表分區功能, 那么在此之前,很多 MySQL 的潛在用戶都對 MySQL 的擴展性有所顧慮,而是否具備分區功能就成了衡量一個數據庫可擴展性與否的一個關鍵指標(當然不是唯一指標)。數據庫擴展性是一個永恒的話題,MySQL 的推廣者經常會被問到:如在單一數據庫上處理應用數據捉襟見肘而需要進行分區化之類的處理,是如何辦到的呢? 答案是:Sharding。

    Sharding 不是一個某個特定數據庫軟件附屬的功能,而是在具體技術細節之上的抽象處理,是水平擴展(Scale Out,亦或橫向擴展、向外擴展)的解決方案,其主要目的是為突破單節點數據庫服務器的 I/O 能力限制,解決數據庫擴展性問題。

    事關數據庫擴展性
    說起數據庫擴展性,這是個非常大的話題。目前的商業數據都有自己的擴展性解決方案,在過去相對來說比較成熟,但是隨著互聯網的高速發展,不可避免 的會帶來一些計算模式上的演變,這樣很多主流商業系統也難免暴露出一些不足之處。比如 Oracle 的 RAC 是采用共享存儲機制,對于 I/O 密集型的應用,瓶頸很容易落在存儲上,這樣的機制決定后續擴容只能是 Scale Up(向上擴展) 類型,對于硬件成本、開發人員的要求、維護成本都相對比較高。

    Sharding 基本上是針對開源數據庫的擴展性解決方案,很少有聽說商業數據庫進行 Sharding 的。目前業界的趨勢基本上是擁抱 Scale Out,逐漸從 Scale Up 中解放出來。

    Sharding 的應用場景
    任何技術都是在合適的場合下能發揮應有的作用。 Sharding 也一樣。聯機游戲、IM、BSP 都是比較適合 Sharding 的應用場景。其共性是抽象出來的數據對象之間的關聯數據很小。比如IM ,每個用戶如果抽象成一個數據對象,完全可以獨立存儲在任何一個地方,數據對象是 Share Nothing 的;再比如 Blog 服務提供商的站點內容,基本為用戶生成內容(UGC),完全可以把不同的用戶隔離到不同的存儲集合,而對用戶來說是透明的。

    這個 "Share Nothing" 是從數據庫集群中借用的概念,舉例來說,有些類型的數據粒度之間就不是 "Share Nothing" 的,比如類似交易記錄的歷史表信息,如果一條記錄中既包含賣家信息與買家信息,如果隨著時間推移,買、賣家會分別與其它用戶繼續進行交易,這樣不可避免的 兩個買賣家的信息會分布到不同的 Sharding DB 上,而這時如果針對買賣家查詢,就會跨越更多的 Sharding ,開銷就會比較大。

    Sharding 并不是數據庫擴展方案的銀彈,也有其不適合的場景,比如處理事務型的應用就會非常復雜。對于跨不同DB的事務,很難保證完整性,得不償失。所以,采用什么樣的 Sharding 形式,不是生搬硬套的。

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    31/3123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備2023014753號-2
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>