首页 > 技术文章 > MongoDB

ybw1999 2020-05-08 21:05 原文

什么是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

推荐阅读