Mongodb--基本概念

本文介绍了NoSQL数据库的特点及应用场景,重点对比了NoSQL与关系型数据库的区别,并详细阐述了MongoDB作为文档型NoSQL数据库的优势,包括其数据模型、索引支持及分布式部署等方面。

数据库分类

数据库类型产品特性
sqlMySQL,oracle,sybase实时一致性,事务,多表联合查询
nosqlmongodb,redis,influxdb,hbase简单便捷,扩展方便,更好的性能

Nosql数据库分类

数据模型特点代表
键值Redis、Memcache键值对,常用作缓存,可处理大数据量的高访问负载
文档MongoDB、CouchDB存储类似JSON格式的内容,可对某些字段建立索引功能,是最像关系型的数据库
列式BigTable、HBase按列存储,针对某一列或者某几列的查询有非常大的IO优势
图形GraphSQL、Neo4j善于处理大量复杂、互连接、低结构化的数据,数据往往变化迅速,且查询频繁

Nosql 简介

NoSQL(NoSQL = Not Only SQL ),意即”不仅仅是SQL”。
1.易扩展
NoSQL数据库种类繁多,但是一个共同的特点都是去掉关系数据库的关系型特性。数据之间无关系,这样就非常容易扩展。也无形之间,在架构的层面上带来了可扩展的能力。
2.大数据量,高性能
NoSQL数据库都具有非常高的读写性能,尤其在大数据量下,同样表现优秀。这得益于它的无关系性,数据库的结构简单。一般MySQL使用Query Cache,每次表的更新Cache就失效,是一种大粒度的Cache,在针对web2.0的交互频繁的应用,Cache性能不高。而NoSQL的Cache是记录级的,是一种细粒度的Cache,所以NoSQL在这个层面上来说就要性能高很多了。
3.灵活的数据模型
NoSQL无需事先为要存储的数据建立字段,随时可以存储自定义的数据格式。而在关系数据库里,增删字段是一件非常麻烦的事情。如果是非常大数据量的表,增加字段简直就是一个噩梦。这点在大数据量的web2.0时代尤其明显。

Mongo简介

1.文档存储结构,能存储各种集合,非常适合做web程序的主存储,能替代缓存数据库,如memcache,但性能不如redis。
2.分布式部署,多副本存储保证数据安全,分片技术扩展。
3.完全的索引支持,key-value、单键索引、多键索引、数组索引、全文索引等,这是其他nosql所没有的。
4.完善的文档,官方支持强大,开源。 业界有成功的案例

Mongo使用场景

1.数据缓存
2.JSON格式的数据
3.高伸缩性场景
4.弱事务类型业务

MongoDB更多适合于大数据量、高并发、弱事务的互联网应用,其内置的水平扩展机制提供了从几百万到十亿级别的数据处理能力,可以很好的满足Web2.0和移动互联网应用的数据存储要求。

mongodb术语

MongoDb关系型数据库
DataBaseDataBase
CollectionTable
DocumentRecord/Row
fieldColumn
IndexIndex
embedded documents/referencetable joins

1.MongoDB 文档 一种类 JSON 的 BSON 格式的数据
- MongoDB中写操作的原子性限制在文档级别,对文档的保存、修改、删除等都是原子操作
- 单个文档占用的存储空间不能超过 16 MB
- _id 是系统保留的关键字,它是默认的主键,该值在集合中必须唯一,且不可更改
- 键是区分大小写的,且不能重复。例如:{ foo : 1, Fool : 1 }
2.MongoDB集合 MongoDB 的集合是模式自由的,一个集合里面的文档可以是各式各样。
3.MongoDB数据库 多个文档组成集合,而多个集合组成了数据库。一个MongoDB实例可以承载多个数据库,每个数据库都有独立的权限,在磁盘上,不同的数据库也可放置在不同的文件夹中。

参考资料和网站

  1. MongoDB官网
  2. MongoDB中文社区
  3. Mongo GitHub源码下载
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值