C Mohan 讨论NoSQL的得与失

标签: MySQL | 发表时间:2013-05-28 14:51 | 作者:jametong
出处:http://www.blogread.cn/it/

标签:   NoSQL

History Repeats Itself, C Mohan 讨论NoSQL的得与失

  • 【1】关系数据库的不足,

    • a. 不能很好的为Web 2.0的业务做建模(搜索与社交图谱),

    • b. 无法在数据库层面很好的与JSON等做数据交换,

    • c. SQL语言与编程语言的差异带来的开发学习使用成本,

    • d.是否开源,代码能否改动,

    • f. 关系数据库的优化器、解析器代价太大,影响响应时间、吞吐量,

    • g.不能很好的满足业务对Scalability以及低成本服务器的需求,

    • h.在Scale out的情况下的管理复杂度,

    • i. 不能方便的调整业务的ACID需求,主要为Relax Consistency与Relax Durability的需求。

  • 【2】在构建传统关系数据库方面得到的一些教训,

    • a. System/38 以对象存储开始,忽略关系,使用paging做缓存管理,锁粒度过粗,

    • b. Lotus Notes 恢复模块设计简陋,不支持事务处理,大量扩展性较差的内部模块,没有Buffer管理模块,为后续的改造带来了大量的困难,

    • c. 降低锁粒度非常痛苦,

    • d. 对于一个类似于DB2这样的产品,要增加Shared Disk的Cluster的支持将会遭遇非常大挑战,需要对buffer/log/lock/recover做全面的改造。

  • 【3】NoSQL的通用问题,

    • a. 缺少对提高单机并发度至关重要的锁粒度的关注,

    • b. 缺少对多条记录处理的原子性(Atomicity)的关注,

    • c.缺少对统一标准的关注,

    • d. 忘记了高级查询语言与应用程序代码访问独立性的考虑,期待应用开发人员去实现传统数据库中的优化器、并发控制等技术。

  • 【4】关于Index,

    • a. 仅支持单节点、单Key的操作,功能过于单一,

    • b. 随着时间、功能的推进,NoSQL需要重新发明主索引、辅助索引,本地索引、全局索引等问题,

    • c. 对索引的锁与恢复的处理过于简单,会在后续高并发的情况遇到较多坑。

  • 【5】数据模型,

    • a. 有些NoSQL的数据模型比RDBMS更加复杂,

    • b. 缺少对应的工具来维护这些复杂的数据模型,

    • c. 相关的数据建模缺少标准化,为后续的Vendor替换带来障碍,有些通过自己养工程师来解决,企业级客户会很惨,

    • d. 传统企业做这种业务变更与基础架构变更的困难很大,成本也不低。

  • 【6】文档存储,

    • a. Lotus 开始的设计为并发与扩展性考虑不够,花费了很大代价来改造,

    • b. MongoDB依赖单一写入锁,以及没有Buffer管理,

    • c. CouchBase的Rep做整个Doc的Rep,对于小Doc还行,大Doc的代价会很大,

  • 【7】对事务(ACID)的误读,

    • a. 只要考虑多记录更新,或单个Key的增量并发更新,继续考虑事务问题,

    • b. Lotus Notes早期的实现存在并行更新冲突,后通过应用基于日志的恢复与事务解决,

    • c.对于维护内部的空间管理与数据结构的并发访问,也需要考虑细粒度锁来支撑高并发访问,

    • d. RDBMS也并不支持完整ACID

您可能还对下面的文章感兴趣:

  1. 几种常见的NoSQL数据库关键特性列表 [2012-08-23 00:01:47]
  2. 弃用NoSQL数据库 CouchDB再见了 [2012-05-17 23:30:39]
  3. 《big data glossary》之MapReduce [2012-02-01 18:05:05]
  4. Oracle NoSQL Database [2011-11-21 00:17:40]
  5. hbase运维 [2011-08-22 12:22:03]
  6. 让Redis使用TCMalloc,实现高性能NOSql服务器 [2011-07-30 21:21:19]
  7. 从Megastore看RDBMS和NOSQL系统结合 [2011-06-23 13:43:08]
  8. Membase基础教程 [2011-06-01 23:42:28]
  9. Using MySQL as a NoSQL [2011-05-25 12:37:53]
  10. 关于NoSQL的思考:为什么我们要优化存储的写性能 [2011-02-16 22:17:22]
  11. SQL到NOSQL的思维转变 [2011-01-29 22:33:24]
  12. NoSQL or Relational ? [2011-01-20 22:21:58]
  13. 梦幻西游服务器的优化 [2011-01-06 22:30:19]
  14. NoSQL数据库:MongoDB初探 [2010-12-23 22:32:45]
  15. Handler-Socket Plugin for MySQL [2010-11-24 00:09:27]
  16. 分享会-高性能nosql数据库redis [2010-11-21 19:54:16]
  17. 我对技术方向的一些反思 [2010-09-12 23:43:56]
  18. Cassandra运维之道 v0.2 [2010-08-15 09:38:27]
  19. Twitter停用Cassandra原因分析 [2010-07-12 14:35:45]
  20. Key-Value小数据库tmdb发布:原理和实现 [2010-07-12 14:32:14]
  21. 54chen解读NoSQL技术代表之作Dynamo [2010-06-24 09:51:10]
  22. Cassandra运维之道 [2010-06-24 09:38:31]
  23. Cassandra之Token [2010-06-20 23:51:01]
  24. 转:NoSQL生态系统 [2010-06-01 13:00:37]
  25. 数据库程序开发原则:不要删除数据 [2010-06-01 10:01:37]
  26. SQL vs NoSQL:数据库并发写入性能比拼 [2010-04-29 13:48:49]
  27. Oracle or MySQL ? [2010-04-27 23:28:15]
  28. NoSQL漫谈 [2010-04-22 10:57:00]
  29. MySQL vs NoSQL 效率与成本之争 [2010-03-18 09:03:12]
  30. NoSQL,关系数据库终结者? [2009-12-17 09:12:02]

相关 [mohan nosql] 推荐:

C Mohan 讨论NoSQL的得与失

- - IT技术博客大学习
标签:   NoSQL. History Repeats Itself, C Mohan 讨论NoSQL的得与失. 不能很好的为Web 2.0的业务做建模(搜索与社交图谱),. 无法在数据库层面很好的与JSON等做数据交换,. SQL语言与编程语言的差异带来的开发学习使用成本,. d.是否开源,代码能否改动,.

Oracle MySQL Or NoSQL续

- - Sky.Jian 朝阳的天空
接前面一篇,这里再将之前在“中国系统架构师大会”5周年的时候发布的纪念册“IT架构实录”上的一篇文章发出来,也算是前面博文中PPT的一个文字版解读吧. Oracle,MySQL 还是 NoSQL. 随着阿里系的“去IOE”运动在社区的宣传声越来越大,国内正在掀起一股“去xxx”的技术潮. 不仅仅是互联网企业,包括运营商以及金融机构都已经开始加入到这个潮流之中.

NoSQL开篇——为什么要使用NoSQL

- Foxiang - 博客园新闻频道
  NoSQL在2010年风生水起,大大小小的Web站点在追求高性能高可靠性方面,不由自主都选择了NoSQL技术作为优先考虑的方面. 今年伊始,InfoQ中文站有幸邀请到凤凰网的孙立先生,为大家分享他之于NoSQL方面的经验和体会.   非常荣幸能受邀在InfoQ开辟这样一个关于NoSQL的专栏,InfoQ是我非常尊重的一家技术媒体,同时我也希望借助InfoQ,在国内推动NoSQL的发展,希望跟我一样有兴趣的朋友加入进来.

8种nosql对比

- - 谁主沉浮
虽然SQL数据库是非常有用的工具,但经历了15年的一支独秀之后垄断即将被打破. 这只是时间问题:被迫使用关系数据库,但最终发现不能适应需求的情况不胜枚举. 但是 NoSQL数据库之间的不同,远超过两 SQL数据库之间的差别. 这意味着软件架构师更应该在项目开始时就选择好一个适合的 NoSQL数据库.

Oracle 发布 NoSQL 数据库

- 冷月 - 博客园新闻频道
  Oracle 作为全球最大的关系型数据库提供商,在其产品链条中,也加入了 NoSQL 数据库这一环,而且这个新的数据库名字很霸气,就叫 NoSQL Database,想起了当年新浪微博更换 weibo.com 域名之时的一个笑话:. 原来有三家人做面包,张三家的面包叫三张牌面包,李四家的牌子叫李四牌面包,王五家出品的是王五牌面包,而突然有一天,张三家的面包改名了,叫面包牌面包.

NoSQL 数据建模技术

- - 博客 - 伯乐在线
全文译自墙外文章“ NoSQL Data Modeling Techniques”,译得不好,还请见谅. 这篇文章看完之后,你可能会对NoSQL的数据结构会有些感觉. 我的感觉是,关系型数据库想把一致性,完整性,索引,CRUD都干好,NoSQL只干某一种事,但是牺牲了很多别的东西. 总体来说,我觉得NoSQL更适合做Cache.

Nosql Redis ttserver Flare memcache比较

- - 小彰
随着互联网web2.0网站的兴起,非关系型的数据库现在成了一个极其热门的新领域,非关系数据库产品的发展非常迅速. 而传统的关系数据库在应付 web2.0网站,特别是超大规模和高并发的SNS类型的web2.0纯动态网站已经显得力不从心,暴露了很多难以克服的问题,例如:. 1、High performance - 对数据库高并发读写的需求.

论NoSQL的数据模型

- - NoSQLFan
本文内容是对《 NoSQL Data Modeling Techniques》一文的简单概述,原文对NoSQL的几种 数据模型进行了详细深入的讨论. 是了解NoSQL数据模型不过错过的全面资料. NoSQL的一些非功能性的特性,比如扩展性、性能以及一致性的讨论,目前已经有很多. 而对于NoSQL产品内部数据模型相关的知识一直比较欠缺,本文就希望能够系统地对NoSQL数据模型进行一些探讨.

換 NoSQL 前的建議…

- - Gea-Suan Lin's BLOG
原文是「 Medium Data: things to try before abandoning SQL」,放棄 SQL 前應該要嘗試的事情,原文一開始就用粗體說明帶有強烈的偏見 XD. First, my thesis: a lot of less-experienced developers are using big data and NoSQL technologies because they are new and cool, and because SQL is old and hard.

nosql数据库选型

- - IT技术博客大学习
标签:   nosql   选型.    今天在书店里翻完了一遍《七天七数据库》. 这本书简单介绍了postgreSQL,riak,mongodb,HBase,riak,Neo4j,redis七个数据,并着重谈了数据库的特性差异和在部署维护时候的特点,并对不同需求下的数据库选型做了很多建议,感觉受益非浅.