1、高并发读写
Web2.0网站,数据库并发负载非常高,往往达到每秒上万次的读写请求。
2、高容量存储和高效存储
Web2.0网站通常需要在后台数据库中存储海量数据,如何存储海量数据并进行高效的查询往往是一个挑战。
3、高扩展性和高可用性
随着系统的用户量和访问量与日俱增,需要数据库能够很方便的进行扩展、维护。
3.1传统关系型数据库的瓶颈:
1、无法应对每秒上万次的读写请求,硬盘IO此时也将变为性能瓶颈。
2、表中存储记录数量有限,横向可扩展能力有限,纵向数据可承受能力也是有限的,面对海量数据,势必涉及到分库分表,难以维护。大数据查询SQL效率极低,数据量到达一定程度时,查询时间会呈指数级别增长。
3、难以横向扩展,无法简单地通过增加硬件、服务节点来提高系统性能。
4、对于需要24小时不间断提供服务的网站来说,数据库升级、扩展将是一件十分麻烦的事,往往需要停机维护,数据迁移,为了避免服务间断,如果网站使用服务器集群,则根据集群策略,需要相应的考虑主从一致性、集群扩展性等一系列问题。
3.2NoSQL数据库的优点:
- 易扩展
- 高可用
- 大数据量,高性能
- 灵活的数据模型
3.3NoSQL数据库适用场景:
- 一些数据模型比较简单;
- 对数据库性能要求较高;
- 对数据一致性要求不是很高;
- 给定 key 容易映射复杂值的环境;
- 大型系统的日志信息存储。
4NoSQL数据库的分类
服务器托管,北京服务器托管,服务器租用 http://www.fwqtg.net
机房租用,北京机房租用,IDC机房托管, http://www.fwqtg.net
大家好,我是小富~ (一)好好的系统,为什么要分库分表? 本文是《分库分表ShardingSphere5.x原理与实战》系列的第二篇文章,距离上一篇文章已经过去好久了,惭愧惭愧~ 还是不着急实战,咱们先介绍下在分库分表架构实施过程中,会接触到的一些通用概念,了…