首页 > MySQL, MySQL Cluster, nosql > NoSQL到MySQL+Memcache(d)重树MySQL王者地位

NoSQL到MySQL+Memcache(d)重树MySQL王者地位

作者:谭俊青@MySQL实验室(转载请保留该行及作者信息和原文链接,谢谢!)

NoSQL最近很火,因为它在K/V存储的优异性能表现,催生出很多产品,比如:Memcached、MongoDB、Redis、TT等等. 然而他们或多或少都有自己的某些缺陷,比如存在单点、数据安全持久化等等。然而这些随着新的技术和思路的在MySQL上面产品化,这些东西会被慢慢取代,MySQL重回她的王者地位。在这之前我说过Memcached会被MySQL+handler socket取代,现在情况有所变化,为了兼容现有大量的Memcache客户端,将handler socket用memcached替换掉,就出现了如下构架:

MySQL+InnoDB with Memcached

MySQL+InnoDB with Memcached 具有大量的优势:

  • 可以充分利用现有的memcache client,减少应用程序的变动
  • 解决了memcached不具备的数据存储持久性问题
  • 提供了memcached不具备的crash-safe、acid特性、复查查询的支持、丰富的管理和展示工具
  • 解决了平时单独使用memcached时,cache和数据库数据一致性的问题,提供更高的性能
  • 减少数据冗余,充分利用好内存,降低硬件投入成本
  • 在提供高效的k/v访问的同时,还提供复查的查询功能,比如排序、join等等

总结:MySQL + InnoDB + Memcached 会颠覆很多原有的多层次cache构架,新的构架能提供更高性能和稳定的存储和访问服务,极大的降低开发的复杂度和硬件成本。

另外去年MySQL用户大会上提到的MySQL Cluster+ Memcached,现在MySQL Cluster 7.2已经开始集成memcached,将充分发挥MySQL CLuster设计上的先天优势(k/v + sharding), 目前有测试数据(NDBAPI实现)已经达到 200万+/秒的写性能(8 server),1000,000 rps (读,2 server)。架构图:

MySQL Cluster with Memcached

总结:MySQL Cluster的未来很值得期待。同样我们可以想象,以后系统后台只有MySQL数据库,同时提供sql 和 nosql的功能,降低系统复杂度,降低管理和维护成本,降低开发的复杂度和开发周期及成本, 期待啊……

Related posts:

  1. MySQL vs NoSQL 效率与成本之争
  2. Handler-Socket Plugin for MySQL – SQL的功能、NoSQL的性能
  3. Web前端优化
  4. Two-phase commit(2PC) protocol 与MySQL Cluster
  5. Sun MySQL Day
  6. MySQL Cluster Manager(集群管理器) 工作原理、安装及使用
  7. MySQL5.1中惊现ibm db2引擎
  8. DBOA数据库自动化管理系统
  1. fsd神仙
    2011年4月13日18:01 | #1

    初学者,读不懂,

  2. zhuzhuzhu333
    2011年5月26日10:16 | #2

    您好!我现在用的是mysql cluster 5.1,数据量大概2亿(20G左右),感觉查询效率比innodb还低。是不是硬件配置也存在问题?请问以我的数据量看,硬件的基本要求是多少?5.1与7.2在插入和查询上的效率相差多少?能给出具体的数据吗?谢谢~

    • 2011年5月29日10:17 | #3

      从mysql的原理及特性来说,单挑sql基本上都会比innodb慢不少,当然也不是绝对的,要看sql模型及cluster的节点数而定。至于cluster插入性能跟数据节点数量、网络及磁盘io能力有关。在不同的情况和条件下性能差别很大,因此也不能给你有意义的参考数据。

  1. 本文目前尚无任何 trackbacks 和 pingbacks.