随着互联网不断的发展,催生了越来越多的超大型网站,这些网站要求响应速度快、并发量高,使得传统数据库难以应对。为了克服关系型数据库的瓶颈,大规模多重数据的挑战,noSql型数据库能很好的解决此类问题。
noSql全称为not only sql,是一种非关系类型数据库的统称。发展至今市场空前繁荣,IT界大佬厂商们纷纷推出自己的noSql类型数据库。
NoSql分类
根据数据库存储方式,可将市面主流NoSql类型数据库划分成四类。
键值
此类数据库采用Map(key-value)方式保存数据,一般都会用哈希表。这类型noSql数据库操作简单、使用方便。但对数据查询与更新的时候,效率相对低下。代表数据库:Redis, Voldemort, Oracle BDB。
列值
此类型数据库的键保留,和键-值类型数据库不同是,它一个键可指向多列,列又分成若干子列。代表数据库:Cassandra, HBase, Riak。
文档
它与key-value存储方式类似,用版本化的数据文档保存,可看成JSON格式。它可以嵌套键值,相对纯属键值数据库查询效率比较高。代表数据库:CouchDB, MongoDb。
图形
图形结构的数据库与其它类型有很大不同,它使用灵活的图形模型,能分布在多台服务器上。它没有标准的查询语言(SQL),要制定相应的数据模型。如:Neo4J, InfoGrid, Infinite Graph。
适用场景
noSql类型数据库还不能完全替代传统关系型数据库,它只适合以下的这几种情况下比较适用:
l数据模型比较简单
l需要灵活性更强的IT系统
l对数据库性能要求较高
l不需要高度的数据一致性
l对于给定key,比较容易映射复杂值的环境
网友评论