mysql sharding(碎片)介紹
1、Sharding 的應(yīng)用場景一般都那些?
當(dāng)數(shù)據(jù)庫中的數(shù)據(jù)量越來越大時,不論是讀還是寫,壓力都會變得越來越大。試想,如果一張表中的數(shù)據(jù)量達到了千萬甚至上億級別的時候,不管是建索引,優(yōu)化緩存等,都會面臨巨大的性能壓力。sharding通過某種條件,把同一個數(shù)據(jù)庫中的數(shù)據(jù)分散到多個數(shù)據(jù)庫或多臺機器上,以減小單臺機器壓力。
聯(lián)機游戲、IM、BSP 都是比較適合 Sharding 的應(yīng)用場景;
2、Sharding與數(shù)據(jù)庫分區(qū)(Partition)的區(qū)別?
sharding實現(xiàn)了數(shù)據(jù)的分布式部署,將數(shù)據(jù)通過一系列的切分規(guī)則,把數(shù)據(jù)分布到不同的DB服務(wù)器上,通過路由規(guī)則訪問特定的數(shù)據(jù)庫,這樣一來,每次訪問面對的就不是單臺服務(wù)器,而是N臺服務(wù)器,這樣就降低了單臺服務(wù)器的壓力。
partition只實現(xiàn)了DB內(nèi)的分區(qū),不能跨服務(wù)器部署。
“Shard” 這個詞英文的意思是”碎片”,而作為數(shù)據(jù)庫相關(guān)的技術(shù)用語,似乎最早見于大型多人在線角色扮演游戲(MMORPG)中。”Sharding” 姑且稱之為”分片”。
Sharding 不是一門新技術(shù),而是一個相對簡樸的軟件理念。如您所知,MySQL 5 之后才有了數(shù)據(jù)表分區(qū)功能,那么在此之前,很多 MySQL 的潛在用戶都對 MySQL 的擴展性有所顧慮,而是否具備分區(qū)功能就成了衡量一個數(shù)據(jù)庫可擴展性與否的一個關(guān)鍵指標(當(dāng)然不是唯一指標)。數(shù)據(jù)庫擴展性是一個永恒的話題,MySQL 的推廣者經(jīng)常會被問到:如在單一數(shù)據(jù)庫上處理應(yīng)用數(shù)據(jù)捉襟見肘而需要進行分區(qū)化之類的處理,是如何辦到的呢? 答案是:Sharding。
Sharding 不是一個某個特定數(shù)據(jù)庫軟件附屬的功能,而是在具體技術(shù)細節(jié)之上的抽象處理,是水平擴展(Scale Out,亦或橫向擴展、向外擴展)的解決方案,其主要目的是為突破單節(jié)點數(shù)據(jù)庫服務(wù)器的 I/O 能力限制,解決數(shù)據(jù)庫擴展性問題。
相關(guān)文章
MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用
MySQL中有多個權(quán)限相關(guān)的表,本文主要介紹了MySQL 權(quán)限表db、tables_priv、columns_priv和procs_priv的具體使用,感興趣的可以了解一下2023-11-11DBeaver連接MySQL提示"Public Key Retrieval is
dbeaver數(shù)據(jù)庫連接工具,可以支持幾乎所有的主流數(shù)據(jù)庫.mysql,oracle.sqlserver,db2 等等,這篇文章主要給大家介紹了關(guān)于DBeaver連接MySQL提示"Public Key Retrieval is not allowed"問題的解決方式,需要的朋友可以參考下2023-10-10在Windows環(huán)境下使用MySQL:實現(xiàn)自動定時備份
下面小編就為大家分享一篇在Windows環(huán)境下使用MySQL:實現(xiàn)自動定時備份的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2017-12-12MySQL執(zhí)行SQL文件報錯:Unknown collation ‘utf8mb4_0900_ai_
這篇文章主要給大家分享了MySQL執(zhí)行SQL文件出現(xiàn)【Unknown collation ‘utf8mb4_0900_ai_ci‘】的解決方案,如果又遇到相同問題的同學(xué),可以參考閱讀本文2023-09-09