为什么使用NoSQL
用户个人信息, 社交网咯,地理位置 用户自己产生的数据
什么是NoSQL
不仅仅是SQL ,传统的关系型数据库 很难对付web2.0时代
NoSQL特点
解耦
-
方便扩展 数据之间没有关系
-
大数据量高性能 (Redis 1秒写8万次 读11万 是一种细粒度的缓存)
-
数据类型是多样型的(不需要设计数据库!! 随取随用 数据量十分大的表 很多人就无法设计了)
-
传统RDBMS
-结构化组织
-SQL
-数据和关系都存在单独的表中
-操作数据 数据定义语言
-....
NOSQL
-不仅仅是数据
-没有固定的查询语言
-键值对存储 列存储 文档存储 图形数据库(社交关系)
-最终一致性
-cap定理 和BASE( 异地多活)
-高性能 ,高可用 ,高可扩展
-...... -
大数据时代的3V: 主要描述问题 海量 多样 实时
大数据时代的3高: 主要对程序的要求 高并发 高可拓 高性能
NoSQL四大分类
KV键值对
-
Redis
文档型数据库
-
MongoDB 是一个基于分布式文件存储的数据库,C++编写 主要用来处理大量的文档!
介于关系型数据库和非关系型数据库之间
列存储数据库
-
HBase
-
分布式文件系统
图片型数据库
不是存图片的,放的是关系!! 比如社交网络
-
Neo4j