为什么要用NoSQL数据库管理系统
一、首先看看传统关系型数据库的瓶颈:
无法应对每秒上万次的读写请求,硬盘IO此时也将变为性能瓶颈
表中存储记录数量有限,横向可扩展能力有限,纵向数据可承受能力也是有限的,面对海量数据,势必涉及到分库分表,难以维护。大数据查询SQL效率极低,数据量到达一定程度时,查询时间会呈指数级别增长
难以横向扩展,无法简单地通过增加硬件、服务节点来提高系统性能。对于需要24小时不间断提供服务的网站来说,数据库升级、扩展将是一件十分麻烦的事,往往需要停机维护,数据迁移,为了避免服务间断,如果网站使用服务器集群,则根据集群策略,需要相应的考虑主从一致性、集群扩展性等一系列问题
二、然后看看NoSQL数据库的优点:
海量数据下,读写性能优异
数据模型灵活
数据间无关系,易于扩展
三、NoSQL数据库分类:
1,键值存储数据库。代表数据库:Redis
适用场景:会话信息,用户配置信息,购物车
2,列存储数据库
代表数据库:BigTable,Cassandra,HBase
适用场景:事件记录,内容管理,博客平台
不适合需要ACID事务的场合
3,文档型数据库
代表数据库:MongoDB
适用场景:事件记录,内容管理,博客平台,网站分析,实时分析,电子商务应用
4,图数据库:可以使用图结构相关算法,比如最短路径寻址
代表数据库:Neo4j
适用场景:社交网络,推荐引擎,基于位置的服务
2024-11-14 广告