ADC現場報道:阿里去IOE實踐背后的故事
原創【51CTO特約報道】2013年7月13日, 由阿里巴巴集團主辦的ADC·阿里技術嘉年華將在杭州海外海國際會展中心隆重開幕,本屆大會設置了大數據技術與應用、無線技術、業務架構&后端技術、前端技術、搜索、廣告、體驗設計、互聯網測試、系統開發和運維等九大分場,共有80多個主題,其中包括了阿里巴巴、騰訊、百度及更多知名的互聯網公司的在實踐中積累起來的技術經驗。
來自阿里巴巴集團的數據庫專家陳招尚(花名:勝通)給大家分享了“阿里去IOE實踐”,吸引了眾多IT技術人員的眼球。2007年,勝通加入淘寶數據庫團隊,負責過淘寶的所有的核心系統數據庫,經歷和參與了淘寶幾乎所有核心數據庫的改造升級過程,淘寶第一個分布式系統、第一個核心系統分布式改造,是歷年雙十一數據庫主要負責人。他從去“IOE”背后的原因、去“IOE”架構難點和“去IOE”的實施難點等方面介紹了阿里的去IOE實踐。
(陳招尚/勝通 阿里巴巴數據庫專家)
去“IOE”的歷程
勝通提到,從2010年開始著手做“去IOE”,歷經兩年時間,2012年完成。
去“IOE”背后的原因
據勝通介紹,阿里去“IOE”背后的原因主要有三個:
- 成本
- 集中式的嚴重制約
- 技術把控力降低
去“IOE”的架構難點
1、可用性
小型機存儲的高冗余機制,要考慮到PC和MYSQL能否做到
2、一致性
Oracle物理級別一致性,要確定MYSQL語句模式是否問題
3、高性能
- 高端存儲的IO能力很強,PC能否頂得過
- MYSQL和Oracle對SQL的處理性能是否相同
4、擴展性
- 分多少庫多少表,按照什么維度分需要去考慮
- 后期二次拆分怎樣才方便
#p#
去“IOE”的實施難點
1、數據遷移
對于異構數據遷移,全量怎么遷移,增量怎么遷移……這些都需要考慮到。勝通提醒到,“另外,還需要考慮到怎樣才能實現無縫升級的問題。”
2、數據路由
如何屏蔽分表給應用帶來的復雜性,維度查詢問題,跨分表查詢問題這些需要提前考慮到。
3、數據同步
當搜索、數據倉庫、其它數據業務方面都有導出需求時,如何才能實現實時同步、并且只同步一次?這就需要提前預估了。
4、分布式事物
當一個事物涉及到兩張不同的表時該怎么辦?涉及到兩個分庫時該怎么辦?這些問題也值得關注和重視。
5、規模化運維
如跨庫數據訂正怎么解決,DDL問題怎么處理等這類日常的運維工作。如何應對更多的業務需求變化,開發能否對DB的操作實現自助等問題也需考慮。
小結
勝通最后強調到,去“IOE”首先需建立戰略性系統工程,深遠影響公司思路,全方位的技術細節和架構的自主把控,并不是說去掉“IBM”,去掉“Oracle”,去掉“EMC”,而是技術上的革新,才會產生淘寶現在這么百花齊放盛景。