天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

MySQL與NoSQL——SQL與NoSQL的融合

  寫這一篇內容的原因是MySQL5.6.2突然推出了memcached的功能。NoSQL to InnoDB with Memcached的出現,可以看出NoSQL對關系數據庫的確產生了巨大的影響,個人覺得這是一個非常大的進步,可以讓開發人員更加方便的使用NoSQL和關系數據庫。NoSQL一般被認為性能高于關系數據庫,那么直接在InnoDB之上提供NoSQL功能并和MySQL共存是否是一個更好的選擇呢?

  MySQL with HandlerSocket

  去年在twitter上看到HandlerSocket的出現,并宣稱性能是Memcached的兩倍時,非常令人吃驚,居然可以達到750000qps。接著HandlerSocket成為NoSQL領域談論的焦點之一, 大量的人開始想要嘗試,并做過一些自己的性能測試。 下圖是HandlerSocket的結構圖:

圖1 HandlerSocket結構圖(來源于官方)

  HandlerSocket的出現,給我們眼前一亮的感覺。原來InnoDB的性能已經足夠好,并可以直接提供NoSQL的功能。最大的好處就是可以共享MySQL的功能,DBA以前的經驗一樣可以用。但是有些小小的風險:

  • HandlerSocket沒有與MySQL一起發布版本,因此對于使用MyISAM引擎的用戶是無緣的。不過現在Percona-Server已經集成了HandlerSocket,可以非常方便的使用。
  • 目前大規模的成功案例并不多,國內也只有少部分公司在嘗試,我知道的有飛信開放平臺,據說還不錯。
  • 官方給出的測試數據在應用場景上其實并不充分,至少測試的場景跟我們實際使用的場景相差很大。但是毫無疑問, HandlerSocket的性能比直接使用MySQL肯定要高效得多。

  InnoDB with Memcached

  也許是因為HandlerSocket的火爆的沖擊,也許是受HandlerSocket的啟發,MySQL開始關注NoSQL領域的應用,并在MySQL5.6.2版本增加了通過Memcached協議直接訪問原生Innodb API的功能。

  InnoDB with Memcached是在提供MySQL服務的同一進程中提供Memcached服務 ,這與HandlerSocket的架構模式幾乎是一樣的。雖然目前InnoDB with Memcached還是預覽版本,但是我個人更看好它,因為:

  • 它使用Memcached協議,并同時支持文本和二進制協議,在client的選擇和成熟度上就要勝出許多;
  • 其支持的三種cache模式,不但可以省去開發中使用Memcached來緩存數據的麻煩,并且具有更好的可靠性和數據一致性;
  • 應用程序中,可以使用高效的memcached協議來操作數據,同時也可以使用sql進行復雜的查詢操作;

  注意:目前通過memcached的更新操作不會記錄到binlog中,未來的版本會支持。

圖二 InnoDB with Memcached

Memcached and MySQL Cluster

  顯而易見,我們會想到MySQL Cluster結合Memcached是一個更好的組合,MySQL Cluster提供了99.999%高可用性,并真正提供了去中心化的無縫高可擴展性。還有什么比這更人興奮的呢。

  MySQL已經提供了這樣的功能,源代碼在這里。這里有一個O'Reilly MySql Conference大會的PPT演示,你也可以看下這個功能開發者的一篇博客

圖三 NDB with Memcached

  MySQL Cluster雖然具有高可靠性和無縫擴展的優勢,但是對于復雜SQL查詢的效率卻不能令人滿意。不過對于僅僅依賴于key-value查詢和寫入的海量數據存儲需求,MySQL Cluster with Memcached應該是個很好的選擇。

  總結

  Memcached協議由于其簡單、協議輕量、存在大量的client,所以提供兼容Memcached協議的產品比較占據先天的優勢。

  MySQL提供NoSQL的功能,個人覺得并不是MySQL耐不住寂寞,而是的確在響應用戶的需求。我前面的文章也說過,NoSQL只是一個概念,并不是一個數據庫 產品,MySQL也可以是NoSQL,現在也正應了這句話。NoSQL從架構上就約束了開發者的架構和開發方式,從而提高擴展性和性能,而NoSQL和MySQL的融合,也同時提供了復雜查詢功能。

  雖然MySQL提供了NoSQL功能,如果你要嘗試的話,你的數據庫設計必須從NoSQL從發,然后再考慮SQL查詢功能。

  SQL與NoSQL的融合的確會給開發者帶來方便,比如最近很流行的Mongodb,它吸引開發最大的點就是支持簡單的關系查詢。SQL與NoSQL的融合可能是未來很多數據庫產品的一個趨勢。但是純NoSQL數據庫的優勢也是顯著的,就是他的簡單、高效、易擴展。

it知識庫MySQL與NoSQL——SQL與NoSQL的融合,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国产午夜电影在线观看不卡 | 97视频免费上传播放 | www.av色| 国产传媒18精品免费1区 | 男人国产AV天堂WWW麻豆 | AV无码九九久久 | 海角社区在线视频播放观看 | 国产欧美二区综合 | 亚洲AV无码乱码国产精品品麻豆 | 思思re热免费精品视频66 | 色偷偷男人的天堂a v | 久久爽狠狠添AV激情五月 | 亚洲人成在线播放无码 | 女人张开腿让男人桶爽免 | 强被迫伦姧惨叫VIDEO | 欧美一级成人影院免费的 | 荷兰少归BVBV | 精品一品国产午夜福利视频 | 直插下身完整的欧美版 | 电影日本妻子 | 亚洲日本欧美国产在线视 | 国产午夜在线精品三级a午夜电影 | 亚洲免费人成 久久 | 国产WW高清大片免费看 | 美女被爆羞羞天美传媒 | 看全色黄大色大片免费久黄久 | 在教室伦流澡到高潮H女攻视频 | 成人免费视频在线播放 | 国产精品久久久久久52AVAV | 国产亚洲精品久久77777 | 国产麻豆91网在线看 | 久久亚洲国产精品亚洲 | 欧美做真爱欧免费看 | 校花爽好大快深点h | 狠狠婷婷综合久久久久久 | 亚洲狠狠网站色噜噜 | 把腿张开老子CAO烂你动态图 | 777精品久无码人妻蜜桃 | 久久综合中文字幕无码 | 成人女人A级毛片免费软件 成人免费在线视频 | 亚洲色视在线观看视频 |