关系数据库还是NoSQL数据库(转)
上一篇 / 下一篇 2013-09-21 15:39:42 / 个人分类:数据库
U$z@1M"z2_| i~R0原文链接:51Testing软件测试网E2w Er/Dcp
0wH qb"bmZ ^5vu5y0 http://www.infoq.com/cn/news/2011/01/relation-db-nosql-db
9X4M%XWLy%A9vI051Testing软件测试网3Q-LF#u-qr`2_在过去,我们只需要学习和使用一种数据库技术,就能做几乎所有的数据库应用开发。因为成熟稳定的关系数据库产品并不是很多,而供你选择的免费版本就更加少了,所以互联网领域基本上都选择了免费的MySQL数据库。在高速发展的WEB2.0时代,我们发现关系数据库在性能、扩展性、数据的快速备份和恢复、满足需求的易用性上并不总是能很好的满足我们的需要,我们越来越趋向于根据业务场景选择合适的数据库,以及进行多种数据库的融合运用。几年前的一篇文章《One Size Fits All - An Idea Whose Time Has Come and Gone》就已经阐述了这个观点。
A)x,Rw3Yy#o$f)I051Testing软件测试网oQ;F o,hcY8d5a8V当我们在讨论是否要使用NoSQL的时候,你还需要理解NoSQL也是分很多种类的,在NoSQL百花齐放的今天,NoSQL的正确选择比选择关系数据库还具有挑战性。虽然NoSQL的使用很简单,但是选择却是个麻烦事,这也正是很多人在观望的一个原因。51Testing软件测试网C!n}w$}#B
NoSQL的分类
3poQr6YQ0NoSQL仅仅是一个概念,NoSQL数据库根据数据的存储模型和特点分为很多种类。
XW9_AIX5a0类型51Testing软件测试网)l A c1|B(k3Z0r | 0YB-X,IG4yK\p0部分代表51Testing软件测试网8d%A3xNi&phPe"J5L | $C8Y*H|s8W8cN0特点 #{-p'Qc ~c7N0 |
51Testing软件测试网-VdMA/hS 列存储51Testing软件测试网 {5gB*Wa2B4C?0I-OW | 51Testing软件测试网PK1s'o%B"D Hbase51Testing软件测试网;j.C p#`9M9pZRez*F 51Testing软件测试网I l,z?paCassandra51Testing软件测试网i7`3LEE-kp 51Testing软件测试网V`,fH"UZHypertable51Testing软件测试网1U-|+?4wx | 51Testing软件测试网9jt[:f+e;kW@ 顾名思义,是按列存储数据的。最大的特点是方便存储结构化和半结构化数据,方便做数据压缩,对针对某一列或者某几列的查询有非常大的IO优势。51Testing软件测试网WlD0|vy5k |
51Testing软件测试网%SIS#L'h5B:V 文档存储 7O2rc\:gIS9k8e0 | {-C E2f j"|?^(~qD6j0MongoDB51Testing软件测试网3o~*yEz 51Testing软件测试网7_zJ"slo-NA%fCouchDB51Testing软件测试网;Gk0M5JtWnJ | 51Testing软件测试网0c ?,@6bl^ Z 文档存储一般用类似json的格式存储,存储的内容是文档型的。这样也就有有机会对某些字段建立索引,实现关系数据库的某些功能。 _f0Xak0 |
51Testing软件测试网0k @9SPwR
i key-value存储51Testing软件测试网*aKt6vi?7] | Xj[,C0uP|}SX0Tokyo Cabinet / Tyrant g'{ Tp{c~2s5\0RR G|)WC hC8A c0Berkeley DB |