国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網(wǎng)站 > 建站經(jīng)驗(yàn) > 正文

Atlas 分布式,版重磅來襲

2019-11-02 15:25:28
字體:
供稿:網(wǎng)友

   Atlas 是由 Qihoo 360公司W(wǎng)eb平臺(tái)部基礎(chǔ)架構(gòu)團(tuán)隊(duì)開發(fā)維護(hù)的一個(gè)基于MySQL協(xié)議的數(shù)據(jù)中間層項(xiàng)目。它在MySQL官方推出的MySQL-Proxy 0.8.2版本的基礎(chǔ)上,修改了大量bug,添加了很多功能特性。目前該項(xiàng)目在360公司內(nèi)部得到了廣泛應(yīng)用,很多MySQL業(yè)務(wù)已經(jīng)接入了Atlas平臺(tái),每天承載的讀寫請求數(shù)達(dá)幾十億條。同時(shí),有超過50家公司在生產(chǎn)環(huán)境中部署了Atlas,超過800人已加入了我們的開發(fā)者交流群,并且這些數(shù)字還在不斷增加。

  主要功能:

  1.讀寫分離

  2.從庫負(fù)載均衡

  3.IP過濾

  4.自動(dòng)分表

  5.DBA可平滑上下線DB

  6.自動(dòng)摘除宕機(jī)的DB

  Atlas Sharding 簡介

  Atlas Sharding是Atlas最近重點(diǎn)開發(fā)的一個(gè)功能, 此功能增加了Mysql的橫向擴(kuò)展性跟容量, 可以滿足大部分企業(yè)的需求. 目前已經(jīng)在github上以Sharding分支發(fā)布.

  Sharding 的基本思想就是把一個(gè)數(shù)據(jù)表中的數(shù)據(jù)切分成多個(gè)部分, 存放到不同的主機(jī)上去(切分的策略有多種), 從而緩解單臺(tái)機(jī)器的性能跟容量的問題. sharding是一種水平切分, 適用于單表數(shù)據(jù)龐大的情景. 目前atlas支持靜態(tài)的sharding方案, 暫時(shí)不支持?jǐn)?shù)據(jù)的自動(dòng)遷移.

  Atlas以表為單位sharding, 同一個(gè)數(shù)據(jù)庫內(nèi)可以同時(shí)共有sharding的表和不sharding的表, 不sharding的表數(shù)據(jù)存在未sharding的數(shù)據(jù)庫組中.

  目前Atlas sharding支持insert, delete, select, update語句, 支持不跨shard的事務(wù).

  當(dāng)然, 由于Mysql分布式的局限性, Atlas Sharding對于SQL的特性支持也是有限的, 但是應(yīng)付日常的需求, 已經(jīng)足夠了.

  與Mysql replication的區(qū)別

  MySQL主從復(fù)制就是將一個(gè)MySQL實(shí)例(Master)中的數(shù)據(jù)實(shí)時(shí)復(fù)制

云盤影視網(wǎng)[www.aikan.tv/special/yunpanyingshi/]
到另一個(gè)MySQL實(shí)例(slave)中,這個(gè)復(fù)制是一個(gè)異步復(fù)制的過程。

  數(shù)據(jù)復(fù)制有以下一些特點(diǎn):

  數(shù)據(jù)分布

  負(fù)載平衡(需要借助Atlas或者其他proxy中間件)

  備份

  高可用性(high availability)和容錯(cuò)

  復(fù)制的局限性很明顯, 當(dāng)數(shù)據(jù)庫寫入頻繁, 但讀取操作少的場景下, 復(fù)制就不適合了, 當(dāng)寫入過于頻繁,很難由一臺(tái)主機(jī)支撐的時(shí)候,我們還是會(huì)面臨到擴(kuò)展瓶頸。換句話說就是復(fù)制只能擴(kuò)展讀性能, 但是對于寫性能的擴(kuò)展是無能為力的.

  數(shù)據(jù)切分(sharding): 通過某種特定的條件,將我們存放在同一個(gè)數(shù)據(jù)庫中的數(shù)據(jù)分散存放到多個(gè)數(shù)據(jù)庫(主機(jī))上面,以達(dá)到分散單臺(tái)設(shè)備負(fù)載的效果。這樣當(dāng)寫入的時(shí)候, IO就被各個(gè)shard所分擔(dān)了. 同時(shí), 在每一個(gè)Shard上也是可以有復(fù)制存在的, 借助Atlas還是能在Shard上做讀分離, 所以復(fù)制跟Sharding完全是互相補(bǔ)充, 不排斥的.

  Sharding 架構(gòu)

 

  Atlas是無狀態(tài)的, 對于后端的多個(gè)組, 可以配置任意多個(gè)Atlas實(shí)例, 這一點(diǎn)與MongoDB的mongos類似.

  Sharding數(shù)據(jù)庫組

  在Atlas中, 將一個(gè)組看做是數(shù)據(jù)存儲(chǔ)的單位, 一個(gè)組由一臺(tái)master, 零臺(tái)或者多臺(tái)slave組成(mysql主從同步需要由用戶自己配置). 每個(gè)組之間的數(shù)據(jù)獨(dú)立, 沒有關(guān)系, 表的數(shù)據(jù)的各個(gè)部分存儲(chǔ)在各個(gè)組中.

  組內(nèi)讀寫分離

  Atlas sharding也支持組內(nèi)的讀寫分離, 也就是說Atlas在命中了某個(gè)組之后, 還是會(huì)對這個(gè)組內(nèi)的master和slave執(zhí)行讀寫分離(讀發(fā)送到slave, 寫發(fā)送到master).

  Sharding 數(shù)據(jù)切分策略

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 古交市| 山东省| 蕉岭县| 张掖市| 常熟市| 惠安县| 会泽县| 临高县| 嘉荫县| 沅陵县| 蓬溪县| 余庆县| 札达县| 沧源| 阿克苏市| 临城县| 台北市| 温宿县| 聂荣县| 岫岩| 兴文县| 阿拉善盟| 张家川| 临安市| 沅江市| 克什克腾旗| 松滋市| 凤翔县| 互助| 耿马| 迭部县| 黄梅县| 三台县| 彭阳县| 平南县| 汾西县| 渝北区| 察雅县| 桃源县| 清苑县| 鹤岗市|