近年来,NoSQL数据库凭借其易扩展、高性能、高可用、数据模型灵活等特色吸引到了大量新兴互联网公司的青睐,包括国内的淘宝、新浪、京东商城、360、搜狗等都已经在局部尝试NoSQL解决方案。目前市场上有很多优秀的NoSQL产品,如MongoDB 、SequoiaDB、Cassandra、HBase等,每个产品都有其特性,但也有各自的缺陷。[1]但是我们首先应该正确认识到各大数据库之间的关系与区别,不能盲目乱用.

关系型数据库结构:

基于表,通过外键关联来建立表与表之间的关系,而对象之间的关系通过每个对象自身的属性来决定


NoSQL数据库,通过键值对进行连接,每个元组(即每行原始列的个数可以不同),所以节省大量空间,并且运算速度很快,适合大量数据。典型代表NoSQL数据库,MongoDB是一种跨平台的面向文档的数据库,钟情于带有动态模式的类JSON文档(MongoDB称之为BSON),使得特定类型的应用程序里的数据集成更容易、更快速。[2]

测试机构:

  Bankmark是一家德国的独立基准测评机构,业内著名的NoSQL性能测试团队。

测试产品:

  MongoDB(目前名气最大,用的人最多的NoSQL数据库,占据了非关系型数据库的主流位置。)

  SequoiaDB(由前IBM DB2团队的研发人员创建,据称在性能和功能上能够与MongoDB做正面抗衡。)

  Cassandra(是Facebook的数据库系统的开源分支,支持者众多,而Cassandra能一直稳压HBase(高贵的血统,与Hadoop天然集成)长期霸占列存储第一更是其优越性的强有力证明。)

测试结果对比[3]

结果表明

没有那款产品能在所有测试场景中全部击败对手,在“大部分内存环境”的设定下,SequoiaDB的性能明显优于其他的产品,除了在Cassandra的强项“读多写少”。在“全内存环境”下测试结果表明,SequoiaDB拥有更快速的读请求性能,而Cassandra在写请求下表现要好于SequoiaDB。然而,在所有的测试案例中,MongoDB几乎都是最慢的。