《性能比MySQL提升70%,秒殺場景提升百倍?阿里云即將開源的AliSQL什么來頭?》要點:
本文介紹了性能比MySQL提升70%,秒殺場景提升百倍?阿里云即將開源的AliSQL什么來頭?,希望對您有用。如果有疑問,可以聯系我們。
“
阿里云近日宣布啟動AliSQL數據庫開源項目.AliSQL是基于MySQL官方版本的一個分支,由阿里云數據庫團隊維護,目前也應用于阿里巴巴集團業務以及阿里云數據庫服務.該版本性能優于社區版MySQL 70%左右,可贊助中小企業和開發者提升數據運營能力.
配景介紹
8月9日,在2016云棲大會·北京峰會上,阿里云宣布啟動AliSQL數據庫開源項目.預計在9月份邀請部門用戶內測,預計在10月份,開發者可在阿里云Code平臺和GitHub網站上可以下載AliSQL,感興趣的讀者可以關注.
AliSQL是基于MySQL官方版本的一個分支,由阿里云數據庫團隊維護,目前也應用于阿里巴巴集團業務以及阿里云數據庫服務.該版本在社區版的基礎上做了大量的性能與功能的優化改進.尤其適合電商、云計算以及金融等行業環境.該版本性能優于社區版MySQL 70%左右,可贊助中小企業和開發者提升數據運營能力.
阿里云數據庫資深專家丁奇介紹,AliSQL版本在強度和廣度上都經歷了極大的考驗.最新的AliSQL版本不僅從其他開源分支比如:Percona,MariaDB,WebScaleSQL等社區汲取精華,也沉淀了阿里巴巴多年在MySQL領域的經驗和解決方案.AliSQL增加更多監控指標,并針對電商秒殺、物聯網大數據壓縮、金融數據平安等場景提供個性化的解決方案.
丁奇表現,“在通用基準測試場景下,AliSQL版本比MySQL官方版本有著 70% 的性能提升.在秒殺場景下,性能提升 100倍”.這樣的性能提升數據是如何得出的?即將開源的AliSQL又將為開發者帶來哪些功能?針對于不同行業,AliSQL做了哪些工作呢?
老司機簡介
丁奇,阿里云關系數據庫服務內核開發和運維團隊負責人,活躍的MySQL社區貢獻者.專注于數據存儲系統、MySQL源碼研究和改良、MySQL性能優化和功能改良.
AliSQL的汗青
大概在2009年,阿里巴巴集團開始大規模的使用MySQL數據庫來持久化業務數據.隨著集團業務的高速發展,官方的MySQL版本遇到了不小的挑戰,包含性能、部署、功能、成本等方面.
隨同著業務的驅動和對源代碼的熟悉,集團開始嘗試在MySQL官方的開源版本上進行修改,這就形成了AliSQL的雛形.
電商業務的高速發展,對MySQL的性能提出了更高的要求.出于節省本錢,AliSQL持續進行了性能優化,同時,多核CPU和SSD等新硬件的采用,也反過來促進AliSQL能夠盡可能利用硬件的紅利.
雙11大促賡續刷新記錄,數據庫的穩定性也變得越來越重要,AliSQL開始定制基于限流、線程池、秒殺等功能的patch,提升AliSQL的穩定性.
針對小微金融業務對數據掩護的高要求,AliSQL定制了適合金融業務的數據掩護方案,例如金融云上使用的雙通道日志高可靠方案.
從阿里云RDS上線服務開始,阿里云數據庫團隊就遇到了前所未有的挑戰,分歧的行業用戶,分歧的使用習慣和要求,AliSQL也迎來了發展最為迅速的時刻,影響力也越來越大.
所以,AliSQL的版本,是隨同著業務的發展,一起成長起來的,經歷過雙11大促這樣大壓力的考驗,同時也經歷了阿里云各行各業用戶差異化的需求.可以說是身經百戰.
與其他產物的關系、各自特點
阿里云是開源組織 WebScaleSQL 的第五位成員,與Facebook、Google、Twitter和LinkedIn團隊配合研發WebScaleSQL,同時,阿里巴巴還擁有OceanBase 自研數據庫.AliSQL、WebScaleSQL、OceanBase三者的關系和各自的特點是怎樣的?
OceanBase是Alibaba集團自研的分布式數據庫,經歷了集團業務的洗禮,具有通用性,高擴展才能.
WebScaleSQL是由這五家公司發起的基于MySQL官方的一個分支,旨在辦理大家在互聯網業務上遇到的問題,是五個成員公司將各自足夠通用的功能提交到一起的集合,每家公司的研發同學都可以提交代碼.實際上每個公司自己生產環境使用的是自己維護的一個分支,因為每個公司都有自己定制化的需求.
AliSQL同樣基于MySQL官方版本,汲取了官方和社區的技術紅利,具有很高的性能和穩定性,并適應不同行業的特點進行了定制.AliSQL的改進方向主要集中在平安性、穩定性、性能、新功能等方面.
AliSQL是顛末幾年的生產環境、幾萬個用戶實例的實際業務錘煉的.
AliSQL的一些定制化功能都是為了解決DBA維護、業務使用中碰到的實際問題.比如5.5以上的版本由于有metadata lock,DBA對表加字段等操作可能導致阻塞查詢,進而導致整庫不可服務.我們新增alter ..wait N ..方法,保證了操作的平安性.再比如通過提供 set rds_reset_connection這樣的語句,解決了長連接占用資源和短連接性能問題的矛盾.
性能晉升的數據如何得出?
AliSQL在相關報道中提到,“在通用基準測試場景下,AliSQL 版本比 MySQL 官方版本有著 70% 的性能晉升.在秒殺場景下,性能晉升 100 倍.”
通用基準的測試,我們是采用sysbench進行的測試,也是公開的標準測試辦法,AliSQL在吞吐能力上,比MySQL官方大概70%的性能提升.
秒殺場景是一個比較特殊的場景,AliSQL有專門的定制patch針對這種場景的優化,如果沒有限流和排隊,大并發的哀求下,系統很容易產生雪崩效應,導致吞吐量急劇下降,而非線性關系.
所以,秒殺場景下,在不可預知的業務哀求量的時候,類似減庫存這樣的場景,性能下跌非常厲害,而AliSQL的秒殺解決方案能夠保證這類場景維持高性能.
AliSQL與電商行業、秒殺場景
電商行業的環境,其實提供了一個非常綜合的場景,在擴展性、穩定性、性能等方面對數據庫都提出了非常高的要求,AliSQL便是順應著這樣的要求進行的定制版本.
好比應對大量應用集群的線程池功能,秒殺場景的排隊功能,以及sql的限流功能.
好比大寫入量備庫延遲,AliSQL提供的基于表的并行復制功能. 又好比結構化數據的壓縮功能等.
電商的秒殺場景,其實就是減庫存,對數據庫而言,就是對一條記錄的更新,因為事務的特點,單條記錄的更新必需串行完成,但秒殺的特點,就是在某個時刻,大量的并發進行減庫存,這就造成了大量的線程因獲取不到鎖而處在死鎖檢測狀態,消耗了大量的CPU資源,最終導致系統無法響應,而引起雪崩效應.
AliSQL針對這樣的場景,提供了排隊和限流的功能,經過了雙11零點時刻高并發哀求的考驗,保持了系統的穩定性和持續吞吐能力.
電商業務高峰有兩個對數據庫挑戰比擬大的場景:
1、超年夜并發
MySQL能夠支持的并發活躍連接數是有上限的,理想情況下是大約(CPU核心數乘以2)個活躍連接數,當活躍連接數遠超這個值時,性能會急劇下降,導致整個業務不可用.AliSQL有水位控制,超過一定閾值的活躍連接數,當我們判斷到當前壓力超過數據庫的處理能力時,會主動放棄后到的哀求,這樣保證數據庫還能保持很高的能夠正常響應的吞吐量.
2、秒殺場景
在秒殺場景里面有一個減庫存的問題.大量用戶同時搶購同一個商品的時候,必要同時更新商品庫存,這時候InnoDB的行鎖加上死鎖檢測機制會導致數據庫CPU短時間內被占滿,導致整庫幾乎無法響應.
在AliSQL我們有針專門針對秒殺的方案,保證在大量線程同時減庫存時仍能堅持很高的TPS.除了阿里自己的秒殺業務,這個功能同樣適用于搶紅包這樣的業務,已經在2015、2016年春節經過大量的業務驗證.
AliSQL的個性化優化
在云計算的環境下,用戶的使用場景和方式都千差萬別,為了適應分歧的環境,AliSQL定制了很多個性化的功能.
比如,為了保障在線業務的安穩,針對用戶的分析型的SQL,AliSQL提供了資源使用限流、全表掃描buffer pool不緩存的特性,用戶可以通過設置環境變量或者使用hint來方便的使用這些功能,又比如為了加快大表的掃描,提供了邏輯預讀的功能, 這些特性,用戶在不同的場景下可以自由選擇.
除了這些,AliSQL在公有云上針對不同行業定制了很多功能.好比:
游戲行業
我們在proxy這一層進行了AliSQL的橋接認證,提供防閃斷功效.
物聯網行業
AliSQL集成了TokuDB引擎,提供高壓縮比和大吞吐寫才能.
金融行業
AliSQL定制了多通道的半同步策略,以及一主兩備的三機房零數據丟失的數據掩護級別.
針對分歧應用場景增加了哪些監控指標?
AliSQL增加了很多監控指標,以贊助用戶或者DBA更了解自己的數據庫,比如,AliSQL針對四個不同的維度的統計:
SQL維度.增加每個SQL執行的開銷統計,除了響應時間,鎖等待等,還包含邏輯讀,物理讀,臨時空間使用等
對象維度.增加了每個表的DML次數,索引的使用情況,贊助用戶理解業務和索引使用效率.
事務維度.增加了每個事務持續的時間,和操作的對象.贊助用戶定位問題
線程維度.增長了線程的內存使用統計
AliSQL的開源方案
我覺得,公司首先是支持開源的,基于開源的協議,有著回饋社區的初志,并懷著促進社區發展的良好愿景.
AliSQL開源會堅持著一個好的節奏,持續的高質量回饋社區.具體在9月中旬放出binary, 10月份會放出源代碼的第一個穩定版本.
開發者可以自由下載使用,并在平臺上進行反饋或者提出建議,后續AliSQL也會定期組織論壇,邀請開發者介入進行討論.
我們希望AliSQL能夠形成一個活躍的社區,開發者能夠從中受益,也能夠提出需求和改進建議,促進分支連續發展.
阿里云code平臺地址:
https://code.aliyun.com/users/sign_in
AliSQL的真實性能數據畢竟如何,還有待開源之后開發者們使用檢驗.
▽
天貓互動創意年夜賽報名啦!
創意無限,想要得到鼓勵?50萬獎金等你來領!
技術領先,希望更多肯定?近2億用戶等待你的作品!
產物優秀,計劃拓展市場?百萬品牌等你合作簽約!
天貓互動創意大賽,互動技術形式不限,專業評審團點評,豐厚獎金誘惑,獲獎團隊可獲得完整商業方案支持,成為天貓歷久合作伙伴.
戳瀏覽原文,即刻報名!
喜歡咱們的會點贊,愛咱們的會分享!
維易PHP培訓學院每天發布《性能比MySQL提升70%,秒殺場景提升百倍?阿里云即將開源的AliSQL什么來頭?》等實戰技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養人才。
轉載請注明本頁網址:
http://www.snjht.com/jiaocheng/8698.html