2016 DTCC(中國數據庫技術大會)

    上週去參加了2016 DTCC(數據庫技術大會),會議總共持續3天,議題很是多,我這裏蒐集了最新的公開的PPT內容,有興趣的同窗能夠下載看看,PPT合集下載連接爲:http://pan.baidu.com/s/1i4XDESX。如下內容是我對聽的幾個議題的一點總結,並歡迎討論。mysql

《時間序列存儲引擎》git

攜程的同窗作了一個MySQL時序數據庫引擎(Ctrip fast logging),用於實時收集服務器的狀態信息。時序數據的特色每條信息都包含了時間戳,而且是順序追加的,並且這些信息通常不會發生變動,PPT的內容主要是講如何基於Mysql的框架實現一個存儲引擎,包括相關接口的實現。因爲底層存儲格式很是簡單,只支持順序插入,相對於innodb的B+樹很是簡單,所以效率也比較高。但我的感受既然是收集服務器狀態信息,性能不會成爲瓶頸,用普通的innodb或者myisam足以知足需求,或者對於這種流水型做業用已有方案基於Hbase的OpenTSDB也能知足需求,我想作這個引擎的最大收益應該是積累引擎開發經驗吧。github

    

《揭開SQL優化的蓋頭來》
李海翔@那海藍藍老師從理論和實踐上講了一條SQL語句的編譯和優化過程,並介紹了經常使用的優化技術,包括邏輯優化和物理優化。邏輯優化主要包括子查詢上拉,等價謂詞重寫和外鏈接消除等;物理優化包括錶鏈接時使用索引,利用索引掃描,group by利用索引,多表鏈接空間搜索等。最後介紹了各個經常使用數據庫的優化器功能對比。整體來講,PPT的質量仍是很不錯的,對於DBA同窗瞭解SQL執行原理很是有幫助。sql

  

《數據庫事務處理原理與實例剖析》
華爲的同窗講了事務的ACID的原理,並結合PostgreSQL介紹了MVCC機制,鎖機制和故障恢復機制,基本上講清楚了事務的原理和實現,比較偏理論,值得仔細體會。
數據庫

《華泰證券數據庫分佈式架構》
華泰的首席DBA講了他們的Oralce遷移到MySQL後的高可用方案,經過引入中間件做爲路由實現分庫分表和讀寫分離,實現數據庫集羣水平擴展能力。此外,它們還引入了Galara Cluter集羣技術,真正的強同步,數據徹底不丟失,也就是PXC(Percona XtraDB Cluster)方案,據我瞭解,目前去哪兒公司也在用這種架構。這種架構強依賴於網絡,因此他們的集羣都是在一個機房的,對於咱們同城的主備方案有參考意義,可是跨地域網絡不穩定的場景下,感受這種方案不太合適。服務器

《RocksDB》
facebook工程師詳細講解了RocksDB的組織結構和存儲原理,RocksDB是對LevelDB作了改進,目前做爲MySQL的一個引擎(MyRocks)普遍應用於facebook生產環境中,而且MariaDB也支持引入了MyRocks引擎。RocksDB底層數據採用LSM(Log Structed Merge) Tree,相對於傳統關係型數據庫採用的以page爲單位組織的B+樹結構,更節省磁盤空間(B+樹的page中存在空洞,空間利用率有限),控制寫放大問題也更好(好比B+樹中,更新一條記錄,可能須要寫入一個或多個Page)。RocksDB支持一次獲取多個K-V,還支持Key範圍查找,架構自己對數據自動作到冷熱分離,此外RocksDB支持HDFS。我的感受在省成本方面,RocksDB引擎是一個能夠考慮的方向。MyRocks已經開源,git地址:https://github.com/MySQLOnRocksDB/mysql-5.6網絡

《遊戲雲存儲--TSpider分佈式數據庫》
騰訊的同窗講了他們的中間件方案,採用TSpider引擎的MySQL服務器做爲代理,實現分庫分表和讀寫分離的功能。TSpider是基於開源的引擎Spider定製,對性能和穩定性作了必定的優化。因爲TSpider實際是Mysql的框架的一個引擎,所以它自然具有了Mysql處理複雜SQL的功能,這個是相對於其它中間件的一個優點。TSpider至關於中間服務層,自身不存業務數據,只存分區鍵信息和路由信息,TSpider對進行轉發,並聚合查詢結果。架構

相關文章
相關標籤/搜索