NoSQL

NoSQL 的爆发与 Web 2.0 时代互联网数据的爆炸式增长密切相关,传统的关系数据库无法处理如此大量的数据,基于传统的关系数据模型实现高可用性和可扩展的分布式数据库非常具有挑战性,因此需要具有高可伸缩性的分布式数据库。并且互联网上大多数数据的数据模型很简单,不需要关系模型进行建模,因此可以削弱事务和约束,并以高可用性和可伸缩性为目标,从而更好地满足业务需求。NoSQL 提出初期有人称为 No SQL,即完全去 SQL 化;而随着实践的深入,更多的人将其称为 Not only SQL,也有很多的 NoSQL 数据库同样支持 ACID 事务。

NoSQL 家族主要分为键值(Key-Value)存储数据库、列存储数据库、文档型数据库和图数据库四大类,其产生就是为了解决大规模数据集合多重数据种类带来的挑战,故场景化也格外明显。键值存储数据库适用于内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等;列存储数据库适用于分布式的文件系统;文档型数据库适用于 Web 应用中的非结构化存储;图数据库适用于社交网络、推荐系统等,专注于构建关系图谱。