为什么要使用NoSQL数据库

工作中遇到的挑战:

1,高并发读写

Web2.0网站,数据库并发负载非常高,往往达到每秒上万次的读写请求

2,高容量存储和高效存储

Web2.0网站通常需要在后台数据库中存储海量数据,如何存储海量数据并进行高效的查询往往是一个挑战

3,高扩展性和高可用性

随着系统的用户量和访问量与日俱增,需要数据库能够很方便的进行扩展、维护

 

传统关系型数据库的瓶颈:

1,无法应对每秒上万次的读写请求,硬盘IO此时也将变为性能瓶颈

2,表中存储记录数量有限,横向可扩展能力有限,纵向数据可承受能力也是有限的,面对海量数据,势必涉及到分库分表,难以维护
大数据查询SQL效率极低,数据量到达一定程度时,查询时间会呈指数级别增长

3,难以横向扩展,无法简单地通过增加硬件、服务节点来提高系统性能

对于需要24小时不间断提供服务的网站来说,数据库升级、扩展将是一件十分麻烦的事,往往需要停机维护,数据迁移,为了避免服务间断,如果网站使用服务器集群,则根据集群策略,需要相应的考虑主从一致性、集群扩展性等一系列问题

 

NoSQL数据库的优点:

1,海量数据下,读写性能优异

2,数据模型灵活

3,数据间无关系,易于扩展

 

NoSQL数据库分类:

1,键值存储数据库

代表数据库:Redis

适用场景:会话信息,用户配置信息,购物车

2,列存储数据库

代表数据库:BigTable,Cassandra,HBase

适用场景:事件记录,内容管理,博客平台

不适合需要ACID事务的场合

3,文档型数据库

代表数据库:MongoDB

适用场景:事件记录,内容管理,博客平台,网站分析,实时分析,电子商务应用

4,图数据库:可以使用图结构相关算法,比如最短路径寻址

代表数据库:Neo4j

适用场景:社交网络,推荐引擎,基于位置的服务

  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值