目前互联网的基础架构:
所以,为什么要用Nosql?
用户的个人信息,社交网络,地理位置。用户自己产生的数据,用户日志等等爆发式增长,这时就需要使用NoSQL数据库(可以很好地处理上述任务)
NoSQL(not only sql)
泛指非关系型数据库
传统的RDBMS和NoSQL:
传统的 RDBMS
- 结构化组织
- 数据和关系都存在单独的表中
- 操作语言 数据定义语言
- 严格的一致性
- 基础的事务操作
NoSQL:
- 不仅仅是数据
- 没有固定的查询语言
- 键值对存储,列存储,文档存储,图形数据库
- 最终一致性
- CAP定理和BASE(异地多活)
- 高可扩展,高可用
lightningdb与clickhouse
了解3V 和3高
阿里巴巴演进分析
# 1、商品的基本信息
名称、价格、商家信息
关系型数据库就可以解决了:MySQL/Oracle -- 王坚:阿里云的这群疯子
淘宝内部的MySQL 不是正常用的MySQL
# 2、商品的描述、评论(文字比较多)
文档型数据库中,MongoDB
# 3、图片
分布式文件系统 FastDFS
- 淘宝自己的 TFS
- Google 的GFS
- Hadoop HDFS
- 阿里云的 OSS
# 4、商品的关键字(搜索)
- 搜索引擎 solr elasticsearch
- ISerach: 多隆
# 5、商品热门的波段信息
- 内存数据库
- Redis Tair Memache
# 6、交易
- 三方应用
NoSQL的四大分类
1. KV键值对:
- 新浪:Redis
- 美团:Redis + Tair
- 阿里、百度: Redis + memecache
2. 文档型数据库(bson格式,和json一样):
- MongoDB
- 基于分布式文件存储的数据库,C++,主要用来处理大量的文档
- MongoDB是一个介于关系型数据库和非关系型数据库中间的产品
3. 列存储的数据库
- HBase
- 分布式文件系统
4. 图关系数据库
于关系型数据库和非关系型数据库中间的产品
3. 列存储的数据库
- HBase
- 分布式文件系统
4. 图关系数据库
不是存图形,放的是关系,比如:朋友圈社交网络、广告推荐