What
MongoDB是一个文档数据库,提供了很好的性能,是一种非关系型数据库(非关系型数据库是对不同于传统数据库的统称。菲关系型数据库的特点是:不使用SQL作为查询语言,数据存储不需要特定的表格模式。由于简单的设计和好的性能被用于大数据和WebApps等)。采用了BSON存储文档数据。MongoDB采用了C++编写(msql也是采用C++编写,是一种通用程序设计语言,支持多重编程模式)。
默认端口是27017。默认存储路径是/data/db
非关系型数据库有哪些类型:
Key-Value存储的:Amazon S3
图表: Neo4J
文档存储: MongoDB
基于列存储: Cassandra
分片:
分片就是将数据水平切分到不同物理节点。当应用数据越来越大的时候,数据量也会越来越大。当数据量增长时,单台机器可能无法存储或接受的读取写入吞吐量。利用分片技术可以添加更多的机器来应对数据量的增加和读写操作的要求
Why
1. 因为是面向文档的存储:以JSON格式的文档保存数据
2.任何属性都可以建立索引
3.复制以及高可扩展性
4.自动分片
5.丰富的查询功能
6.快速的即时更新
7.架构简单
8.没有复杂的连接
9.深度查询能力,MongoDB支持动态查询
10.容易调试
11.容易扩展
12.不需要转化/映射应用对象到数据库对象
13.使用内部内存作为存储工作区,以便更快的存储数据
WHERE
1.大数据中
2.内容管理系统
3.移动端APP
4.数据管理
HOW
1.切换数据库:使用 use+数据库名称的方式创建数据库,use会创建一个新的数据库,如果该数据库存在,则直接返回该数据库
2.查看数据库列表:使用 show dbs
3.查看MongoDB的连接: db.adminCommand("connPoolStats")