日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

MySQL+HandlerSocket=MySQL的功能+NoSQL的性能

發布時間:2024/1/17 数据库 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 MySQL+HandlerSocket=MySQL的功能+NoSQL的性能 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章首先分析了MySQL查詢時的瓶頸(SQL分析、數據表的打開關閉等),然后介紹了HandlerSocket插件。HandlerSocket插件讓MySQL達到了近兩倍于memcached的查詢性能,灰常的niubi!

approx qps server CPU util MySQL via SQL 105,000 %us 60% %sy 28% memcached 420,000 %us 8% %sy 88% MySQL via HandlerSocket 750,000 %us 45% %sy 53%

MySQL+HandlerSocket的架構如下圖(來自原文):

從圖中可以看到,HandlerSocket開了9998和9999端口,分別用于讀寫操作。對于基于主鍵的CRUD操作,客戶端通過HandlerSocket進行,省略了SQL分析、數據表的打開關閉等操作。而其他查詢仍然通過MySQL的3306端口進行。

相比常見的memcached+MySQL的架構,MySQL+HandlerSocket架構有兩個最明顯的優勢:

  • 節約內存:由于MySQL InnoDB本身就會緩存數據,所以沒必要在memcached多保存一份。
  • 避免數據不一致性:引入memcached后,一個很頭痛的問題就是保證數據的一致性。而去掉memcached后,由于所有的數據庫操作都是直接達到InnoDB引擎,所以完全消除了此問題。

相對于其他NoSQL解決方案,MySQL+HandlerSocket也有優勢:

  • 降低應用開發難度:由于SQL提供了豐富的查詢功能,相當于大多數NoSQL來說,開發應用時更簡單。
  • 降低風險:NoSQL各有特色,選擇不慎會造成深遠的影響。而且能夠完全掌握NoSQL的技術人員也不夠普遍,出了問題不一定能夠馬上解決。

不過,HandlerSocket雖然省掉了一些步驟,但要是內存不足以緩存大部分常用數據。那么HandlerSocket帶來的優勢就蕩然無存了。因此在使用HandlerSocket時,服務器一定要具備足夠的內存空間用于InnoDB的Buffer Pool。此外對PHP開發者來說,HandlerSocket目前還沒有可用的PHP擴展。

作者說他們已經將HandlerSocket用于了生產環境,取得了很好的效果。作者目前就職于日本最大的社會化游戲平臺提供商DeNA。

最后,附上HandelrSocket的倉庫地址,這是一個開源項目:http://github.com/ahiguti/HandlerSocket-Plugin-for-MySQL。

總結

以上是生活随笔為你收集整理的MySQL+HandlerSocket=MySQL的功能+NoSQL的性能的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。