2017-03-25 ACMUG陽春三月深圳行紀要

lff1530983327發表於2022-10-12
週五晚上晚班,回來拾掇快到1點半才睡 ,早晨5點半起,從芳村趕去南站,坐上了7點半去深圳的高鐵,8點40到達騰訊大廈門口,
多功能廳裡面還是一片雜亂,似乎和之前的使用者大會有些許不一樣,沒有各種贊助商的宣傳牌,沒有各種小禮品在門口堆砌,
也沒有各種小吃,
各種陣仗,似乎這次要打的是一場技術的硬仗。一天下來,似乎也驗證了這一開始的感受。
No1:去哪兒 周彥偉
從MNC到MGC再到MIC,三種叢集方案聽下來,感覺大同小異。
MNC叢集中的三種角色,manager管理,data node 資料儲存,sql node 語句merge 傳送,是一種shard nothing結構,
不禁想起mycat的8066 9066和各個mysql節點node,有點相似哦。
不過MNC從2012年05月22日MySQL Cluster 7.2.6 GA 釋出至今這麼多年,這一叢集架構還沒有大範圍使用並推廣說明使用限制
還是很多。諸如,節點個數限制,記憶體成本較高,
各個資料節點記憶體只能使用節點中最下,節點間網路網路可靠性的依賴等等。
MGC在去哪兒應用應該是有幾年了,記得去年7月份的時候在上海也聽過去哪兒的某位工程師講過這個叢集相關的知識,不過總監還是
總監,給我的感覺就是周總對他們使用的MGC絕對的自信,
沒有一點懷疑和動搖,去年那位工程師則或多或少透露出些許的不自信。特別是其中對叢集DDL的執行,當時好像是特別的揪心的一個
痛點,也許是經過快一年的努力,已經解決了呢,嘿嘿!
MGC透過group communicate引擎實現各節點間的通訊,最終實現任意節點寫入,全域性依賴於事務發起到commit提交之前在各節
點間通訊以及處理來保證事務的各節點落入和一致性,有限制也能解決一些痛點問題,
像DDL和大事務的支援就是個大問題,像周老師說的,寸有所短尺有所長,適合的才是最好的。
MIC的route(proxy)感覺還是和其他的叢集有些許差異的地方,shell manager和MIC的概念還是有點陌生,後面應該多翻翻
文件熟悉熟悉了。
最後列舉了一下江湖上現有的集中叢集方案,percona的PHX,MariaDB的叢集方案,周總講的詳細的應該就是QunarDB了,模擬
redis的哨兵機制引入的主從狀態監控的哨兵,以及zookeeper和連線池的設計雖然沒有聽太懂感覺也是厲害了我的自主研發。
No2 線上ddl 吳夏 tdsql核心開發
這是我見過年輕人裡面為數不多的棒棒噠的的講演人了!不慌不忙,有條有理,對自己要講的清楚,對別人想知道的清晰,
不用看ppt。層層深入,不卡頓,不搶趕,佩服佩服,帶個眼睛,T恤牛仔,一看就是文化人兒。。。
首先對比了mysql自身的onlinddl的發展,從5.5的FIC開始使用in-place的方式,再到5.6onlineddl,也就是使用快取變更
期間的dml語句的方式,再到5.7的 alter table rename index 的新語法以及線上更改varchar長度的新方式。
algorithm的copy inplace和default三種值定義和lock 的default shard exclusive none 四種鎖選擇以及各個選擇
搭配之後的優缺點講的很易懂,總結的也很精闢,推薦使用inplcae+none的組合。
點了幾個在平時使用原生onlineddl中注意的地方,刪除和新增列的時候會使用到臨時表空間,要保證空間足夠;刪除主鍵的時候
不會使用onlinddl的方式,會使用copy的方式,修改列的預設值和索引的有關操作相對來說是比較安全的。
其次就是兩個工具pt以及gh的使用和注意規範以及和mysql原生規則的效能壓測結果對比分析了。其中特別提到gh工具的binlog
解析方式對原表dml操作回放來保證原表不阻塞dml操作以及利用修改rename語句鎖的優先順序以及增加佔位表來順暢加鎖和釋放鎖的過程  
來控制rename過程不出現表不存在的錯誤的新奇方式。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/30018455/viewspace-2161263/,如需轉載,請註明出處,否則將追究法律責任。

相關文章