什么是MongoDB?
mongodb是一个基于分布式文件储存的数据库,由C++编写。是一个文档型数据库,提供好的性能,领先的非关系型数据库
MongoDB的储存形式类似于python的字典,以{‘key’:‘value’}的形式储存
mongoDB适用于那些场景?
1.网站数据量大
2,网站数据读写操作频繁
3.价值较低
数据库mysql和mongdb的区别?
SQL:mysql、Oracle、sqlserver、db2
1. 高度事务性场景:银行、会计、贸易,库管,需要大量原子性操作
2. 适合存储结构化数据,如用户的帐号、地址,预先定义明确的字段
3. 数据价值高、对安全性要求高、稳定性要求高
4. 需要持久化存储的 "冷数据"(不需要经常读写的数据)
5. 需要通过SQL语言做关联查询,比如join
6.这些数据的规模、增长的速度通常是可以预期的
NoSQL:
redis key:value(string、hash、set、zset、list)、
mongodb {"name" : "xiaoming", "age" : 18}, {}
mongodb:字典格式,支持分组、索引、主从备份、集群
1. 灵活的数据结构,适合存储非结构化数据,如文章、评论,需要事先设计 数据的增删改 的字段
2. 高度收缩性场景,社交网络、热点资讯,NoSQL数据库通常具有无限(至少接近)伸缩性
3. 处理 "热数据"(经常需要读写的数据),这些数据通常用于模糊处理,如全文搜索、机器学习
4. 这些数据是海量的,而且增长的速度是难以预期的,更容易扩展
5. 按key获取数据效率很高,但是对join或其他结构化查询的支持就比较差
大型互联网项目都会选用MySQL(或任何关系型数据库) + NoSQL的组合方案
端口号:
mysql: 3306
redis: 6379
mongodb: 27017