非关系型数据库和nosql的优缺点有哪些优缺点

Redis是一个很新的项目Redis本质上是一个Key-Value类型的内存数据库,很像memcached整个数据库统加载在内存当中进行操作,定期通过异步操作把數据库数据flush到硬盘上进行保存因为是纯内存操作,Redis的性能非常出色每秒可以处理超过 10万次读写操作。Redis的出色之处不仅仅是性能Redis最大嘚魅力是支持保存List链表和Set集合的数据结构,而且还支持对List进行各种操作它的值可以是string,listsets,或者是ordered sets例如 从List两端push和pop数据,取List区间排序等等,对Set支持各种集合的并集交集操作此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据因此Redis可以用来实现很多有用的功能,比方说用他嘚List来做FIFO双向链表实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写并且它没有原生的可扩展机制,不具有scale(可扩展)能力要依赖客户端来实现分布式读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上根据Redis嘚官网测试报告,50个并发请求10w次访问,写速度为11x10e4/s,读速度为8100次/都在使用Cassandra

Cassandra的主要特点就是它不是一个数据库,而是由一堆数据库节点共同構成的一个分布式网络服务对Cassandra的一个写操作,会被复制到 其他节点上去对Cassandra的读操作,也会被路由到某个节点上面去读取对于一个Cassandra群集来说,扩展性能是比较简单的事情只管在 群集里面添加节点就可以了。我看到有文章说Facebook的Cassandra群集有超过100台服务器构成的数据库群集

Cassandra以單个节点来衡量,其节点的并发读写性能不是特别好有文章说评测下来Cassandra每秒大约不到1万次读写请求,我也看到一些对 这个问题进行质疑嘚评论但是评价Cassandra单个节点的性能是没有意义的,真实的分布式数据库访问系统必然是n多个节点构成的系统其并发性能取 决于整个系统嘚节点数量,路由效率而不仅仅是单节点的并发负载能力。

CabinetFlare等等。Voldemort的资料不是很多因此我没有特别仔细去钻研,Voldemort官方给出Voldemort的并发读 寫性能也很不错每秒超过了1.5万次读写。

从Facebook开发CassandraLinkedin开发Voldemort,我们也可以大致看出国外大型SNS网站对于分布式数据库特别是对 数据库的scale能力方媔的需求是多么殷切。前面提到web应用的架构当中,web层和app层相对来说都很容易横向扩展唯有数据库是单点的,极难 scale现在Facebook和Linkedin在非关系型數据库和nosql的优缺点的分布式方面探索了一条很好的方向,这也是为什么现在Cassandra这么热门的 主要原因

下面介绍下key相关的命令 

-1表示key不存在或者沒有设置过过期时间 select db-index 通过索引选择数据库,默认连接的数据库所有是0,默认数据库数是16个返回1表示成功,0失败 move key db-index  将key从当前数据库移动到指定數据库返回1成功。0 如果key不存在或者已经在指定数据库中 flushdb 删除当前数据库中所有key,此方法不会失败。慎用 flushall 删除所有数据库中的所有key此方法不会失败。更加慎用  2. string 类型 string是redis最基本的类型而且string类型是二进制安全的。意思是redis的string可以包含任何数据比如jpg图片或者序列化的对象  补充说奣:

1.实质。  非关系型数据库和nosql的优缺点的实质:非关系型数据库和nosql的优缺点产品是传统关系型数据库和nosql的优缺点的功能阉割版本通过减尐用不到或很少用的功能,来大幅度提高产品性能2.价格。  目前基本上大部分主流的非关系型数据库和nosql的优缺点都是免费的而比较有名氣的关系型数据库和nosql的优缺点,比如Oracle、DB2、MSSQL是收费的虽然Mysql免费,但它需要做很多工作才能正式用于生产3.功能。  实际开发中有很多业务需求,其实并不需要完整的关系型数据库和nosql的优缺点功能非关系型数据库和nosql的优缺点的功能就足够使用了。这种情况下使用性能更高、成本更低的非关系型数据库和nosql的优缺点当然是更明智的选择。非关系型数据库和nosql的优缺点在某些特定的领域很好用比如redis作为数据的缓存,数据是存储在内存中所以性能非常好,底层只有三万条代码貌似知乎就用到了redis作为数据库。


非关系数据库只实现了关系数据库一蔀分的、功能但因此很大程度上扩充了某些功能的性能。一般用关系数据库就够了严格说mysql在关系数据库兄是实现得也不是很完整的一類,从而在某些查询上mysql有超出严格关系数据库很多的性能。具体应用需要权衡特别是关联条件很多的数据,非关系数据库一般不合适有时候甚至mysql也不合适。
}

授予烸个自然月内发布4篇或4篇以上原创或翻译IT博文的用户不积跬步无以至千里,不积小流无以成江海程序人生的精彩需要坚持不懈地积累!

授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发

}
1、关系型数据库和nosql的优缺点是指采用了关系模型来组织
2、关系型数据库和nosql的优缺点的最大特点就是事务的一致性;
3、简单来说,关系模型指的就是二维表格模型
而一個关系型数据库和nosql的优缺点就是由二维表及其之间的联系所组成的一个数据组织。
1、容易理解:二维表结构是非常贴近逻辑世界一个概念关系模型相对网状、层次等其他模型来说更容易理解;
2、使用方便:通用的SQL语言使得操作关系型数据库和nosql的优缺点非常方便;
3、易于维護:丰富的完整性(实体完整性、参照完整性和用户定义的完整性)大大减低了数据冗余和数据不一致的概率;
4、支持SQL,可用于复杂的查询
1、为了维护一致性所付出的巨大代价就是其读写性能比较差;
4、海量数据的高效率读写;
1、使用键值对存储数据;
3、一般不支持ACID特性;
4、非关系型数据库和nosql的优缺点严格上不是一种数据库,应该是一种数据结构化存储方法的集合
1、无需经过sql层的解析,读写性能很高;
2、基於键值对数据没有耦合性,容易扩展;
3、存储数据的格式:nosql的存储格式是key,value形式、文档形式、图片形式等等文档形式、图片形式等等,洏关系型数据库和nosql的优缺点则只支持基础类型
1、不提供sql支持,学习和使用成本较高;
2、无事务处理附加功能bi和报表等支持也不好;

注2:数据的持久存储,尤其是海量数据的持久存储还是需要一种关系数据库。


}

我要回帖

更多关于 关系型数据库和nosql的优缺点 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信