NoSQL是什么
NoSQL(not only sql)不仅仅是sql,指非关系型数据库,它存储数据的方式不依赖于业务逻辑,每一条数据仅通过K-V键值对的方式存储。
- 不支持ACID
- 不遵循SQL标准
- 性能远高于SQL
NoSQL产生的原因
缓解CPU和IO压力问题
NoSQL的四大分类
- KV键值对数据库
redis(C编写的)、memecache、tair
应用于内容缓存、处理大数据量的高访问负载、日志等
查找速度快但是数据无结构化 - 文档型数据库
ConthDB、MongoDB(基于分布式文件存储的数据库,C++编写,主要用于处理大量文档;它是一种介于关系型数据库和非关系型数据库的中间产品,是nosql中功能最丰富、最像关系型数据库的非关系型数据库)
应用于web应用
数据结构要求不严格、表结构可变、不需要预定义表结构但查询性能不高且缺少统一查询语言 - 列存储数据库
HBase(大数据)、Cassandra
应用于分布式文件系统
查找速度快、可扩展性强但功能相对局限 - 图关系数据库(不是存图形,而是存关系,比如:朋友圈、社交网络、广告推荐)
Neo4j、InfoGrid
应用于社交网络、推荐系统
可以利用图结构相关的算法但是计算时需要全部图,导致不太好做分布式集群
版权声明:本文为weixin_45880263原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。