| 关系型数据库(MySQL) | MongoDB |
| database | database |
| table | collection |
| row | document/object |
| SQL数据库 | NoSQL数据库 |
| 实时一致性 | 简单便捷 |
| 事务 | 方便扩展 |
| 多表联合查询 | 更好的性能 |
基本单元:
关系数据库---行 MongoDB --document(用于JSON格式类似的键值对来存储,MongoDB叫BSON对象)MongoDB 日志功能 Journaling
对数据库的增、删、改 操作会记录在日志文件中。每100ms将内存中的数据刷到磁盘上,如果意外停机,在数据库重新启动时,MongoDB 通过Journaling日志功能恢复。MongoDB 复制集 Replset (冗余)
一个复制集在生产环境中最少需要3台独立机器,主节点(primary),次节点(secondary),仲裁节点(只负责选出主节点) 支持 备份、自动故障转移,MongoDB 支持自动分片 Sharding(扩展)
分片功能:实现海量数据的分布式存储 分片通常与复制集配合起来使用,实现读写分离、负载均衡,常用命令:
mongod 启动数据库实例,负责数据库创建、删除等各项管理工作,运行在服务器端为客户端提供监听。 mongo 进入交互模式对数据库系统进行管理。 mongodump 创建BSON dump 文件的方法 例如:mongodump --port 27017 --db db1 --out /tmp/db1 mongoexport 将MongoDB数据实例中的数据导出来生成JSON 或CSV文件的工具 ; 例如 mongoexport --port 27017 --db db1 --collection t1 --out /tmp/t1.json mongoimport 将JSON或CSV文件内容导入到MongoDB实例中的工具; 例如 mongoimport --port 27017 --db db1 --collection t1 --file /tmp/t1.json mongos 是分片中用到的进程,所有应用程序端的查询操作都会先由它分析,然后将查询定位到具体某一个分片上,作用与mongod 类似,客户端的mongo与它连接。 mongofiles 提供了操作MongoDB分布式文件存储系统的命令行接口; 例如mongofiles --port 21707 --db mydb1 --local /tmp/123.txt put 123.txt (将/tmp/123.txt 上传到数据mydb1 中保存) mongostat 提供了一个展示当前正在运行的mongod实例状态工具,提供的数据只与运行的mongod或mongos 的实例相关。 mongotop 提供一个分析MongoDB实例 在读写数据张的时间的跟踪方法。它提供的统计数据在美国collection 级别上。 mongorestore mongooplogMongoDB 适合的业务
Web应用程序 缓存系统 日志分析系统MongoDB 介绍
标签:ttl secondary 数据库系统 mapred 简单 生产 备份 查询 man