- not only sql,不仅仅值SQL,而是一种全新的数据库理论。
- 可以理解为No relational,既非关系型性数据库
- 关系型数据库和非关系型数据库不是对立,而是相辅相成的,
- nosql数据库有特殊的结构,将数据库存储到内存里面的,
- 从性能的角度来讲,NoSQL数据库的性能优于关系型数据库。
- 从安全性角度考虑,关系型数据库优于NoSQL数据库。
- 所以在实际的项目开发中NOSQL和关系型数据库是一起使用的,达到性能和安全双保证
nosql数据库产生的缘由
- 大数据时代的3V
海量数据、多样数据库、数据实时 - 互联网需要的3高
高并发、高扩展、高性能
nosql数据库分类
- key-value
例:Redis
键值对存储,特点:查询数据块
内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统等等。 - Colunmn列式存储
例:HBase
将同一列的数据放在一起,查询非常快 - document文档存储
例:MongoDB
经典用于web项目中,与KeyValue类似,比如MongoDB主要应用在爬虫 - Graph图结构存储
例:neo4j
用于社交网络
注:图片来源于百度百科
Nosql特点
- 易扩展
当一台机器不够用了,很容易添加一个新的服务器,只要配置好环境之后,自动使用。 - 大数据量、高性能
读写速度快,nosql基本都是内存数据库,比硬盘存储要快很多,查询数据快。 - 灵活性
NoSQL无需事先为 要存储的数据 建立字段,随时可以存储自定义的数据格式,在关系型数据库添加字段和删除字段是非常麻烦的。 - 高可用
一台机器宕机出问题了,不会影响其他的机器。
相关理论
- 关系数据库理论:ACID
- 分布式系统:CAP
详情见博客https://blog.youkuaiyun.com/yhquser/article/details/96836897