mongodb快速入门

1.NoSql:
定义:Not Only SQL ,本质也是一种数据库的技术,相对于传统数据库技术,它不会遵循一些约束,比如:sql标准、ACID属性,表结构等
优点:满足对数据库的高并发读写,对海量数据的高效存储和访问,对数据库高扩展性和高可用性,灵活的数据结构,满足数据结构不固定的场景
缺点:一般不支持事务,实现复杂sql查询比较复杂
分类: 1.key-value存储:redis/memcache,应用场景:缓存,处理高并发数据访问
2.列式数据库:Hbase/Cassandra,应用场景:分布式文件系统
3.文档型数据库:mongbDB,应用场景:web应用,并发能力较强,表结构可变
4.图结构数据库:infoGrid/Neo4J,应用场景:社交网络,推荐系统,关注构建图谱

2.MongoDB
1.定义:是一个开源的基于c++开发的高性能,文档型,无模式的数据库,是nosql数据库中功能最丰富,最像关系型数据库
2.特性:1.面向集合文档的存储:适合存储Bson(json的扩展)形式的数据库
2.数据格式不固定,生成环境下修改数据结构可以不影响程序运行
3.强大的查询语句,面向对象的查询语言,基本覆盖sql语言所有能力
4.完整的索引支持,支持查询计划
5.支持复制和自动故障转移
6.支持二进制数据及大对象(文件)的高效存储
7.使用分片集群提升系统扩展性
8.使用内存映射存储引擎,把磁盘IO操作转换成为内存的操作
3.MongoDB与关系型数据库RDMS对别:
DB(库) 对应 Database(数据库),Collection(集合)对应Table(表),Document(文档)对应Row/Record(行记录),Field(字段)对应Col(列),Index(索引)对应Index(索引),Embedding & Linkding 对应Join ,Shard对应Partition,Sharding Key 对应 Partition Key
4.MongoDB使用场景
MongoDB 的应用已经渗透到各个领域,比如游戏、物流、电商、内容管理、社交、物联网、视频直播等,以下是几个实际的应用案例
游戏场景,使用 MongoDB 存储游戏用户信息,用户的装备、积分等直接以内嵌文档的形式存储,方便查询、更新
物流场景,使用 MongoDB 存储订单信息,订单状态在运送过程中会不断更新,以 MongoDB 内嵌数组的形式来存储,一次查询就能将订单所有的变更读取出来。
社交场景,使用 MongoDB 存储存储用户信息,以及用户发表的朋友圈信息,通过地理位置索引实现附近的人、地点等功能
物联网场景,使用 MongoDB 存储所有接入的智能设备信息,以及设备汇报的日志信息,并对这些信息进行多维度的分析
视频直播,使用 MongoDB 存储用户信息、礼物信息等

不适用场景(事务,数据结构固定):
对事务有要求:如银行,财务等系统,MongoDB对事务支持较弱,4.0版本才支持事务
传统的商业智能应用:特定问题的数据分析,多数据实体关联,涉及到复杂的,高度优化的查询方式
使用sql方便的时候:数据结构相对固定,使用sql进行查询统计更加便利的时候 ,因为mongodb使用Bson形式存储数据,这是他的优点

3.MongoDB安装
下载地址https://www.mongodb.com/download-center/community?jmp=docs

windows:
1.下载window版本,如mongodb-win32-x86_64-2008plus-ssl-3.4.18-signed.msi
2.安装mongodb到本地,如D:Program FilesMongoDBServer
3.新建db及log文件夹,如D:Program FilesMongoDBdatadb D:Program FilesMongoDBdatalog
4.新建配置文件D:Program FilesMongoDBmongodb.conf,配置如下信息
systemLog:
destination: file
path: D:Program FilesMongoDBdatalogmongod.log
storage:
dbPath: D:Program FilesMongoDBdatadb
net:
port: 27017
http:
RESTInterfaceEnabled: true
#processManagement:
# fork: false

5.安装服务 mongod.exe --config "D:Program FilesMongoDBmongodb.conf" --install
6.启动服务 net start MongoDB
7.停止服务 net stop MongoDB
8.移除服务 mongod.exe --remove

4.MongoDB使用

5.MongoDB客户端使用

原文地址:https://www.cnblogs.com/lookupthesky/p/10530128.html