MongoDB01-基本概念

MongoDB相关概念

业务应用场景
传统的关系型数据库,在数据操作的"三高"需求以及应对web2.0的网站需求面前,显得力不从心
三高需求:
High performance
对数据库高并发读写的需求
Huge Storage
对海量数据的高效率存储和访问的需求
High Scalability&&High Availability
对数据库的高可扩展性和高可用性的需求

具体的应用场景如:
1. 数据量大
2. 写入操作频繁
3.价值较低的数据,对事务性要求不高

什么时候选择MongoDB?
1. 不需要事务及复杂join支持
2. 新应用,需求会变,数据模型无法确定,快速迭代
3. 应用需要2000-3000以上的读写QPS
4. 应用需要TB甚至PB级别的数据存储
5. 应用要求存储的数据不丢失
6. 应用需要99.999%高可用
7. 应用需要大量的地理位置查询,文本查询

MongoDB简介

MongoDB是一个开源,高性能,无模式的文档型数据库,当初的设计就是用于简化开发和方便扩展,
是NoSQL数据库产品中的一种,是最像关系型数据库(Mysql)的费关系型数据库

SQL概念MongoDB概念说明
databasedatabase数据库
tablecollection数据库表/集合
rowdocument数据记录行/文档
columnfield数据字段/域
indexindex索引
table joins表链接 MongoDB不支持
嵌入文档MongoDB通过嵌入式文档代替多表关联
primary keyprimary key主键, mongodb将_id字段自动设置为主键

数据模型

BSON数据类型参考列表

数据模型描述举例
字符串字符串类型的数据{“key”:“字符串”}
对象ID12字节的唯一ID{“key”:ObjectID()}
布尔值true && false{“key”:true}
数组值可以表示成数组{“key”:[“a”,“b”]}
null表示空值或者未定义的对象{“key”:null}
undefined文档中也可以支持未定义类型{“key”:undefined}
正则表达式正则表达式采用JavaScript的语法{“key”:/foobar/i}
代码文档中还可以包含javascript代码{“key”:function(){//}}

MongoDB的特点

MongoDB主要有如下特点:

  1. 高性能:

MongoDB提供高性能的数据持久性,特别是,对嵌入式数据模型的支持减少了数据库系统上的I/O活动
索引支持更快的查询,并且可以包含来自嵌入式文档和数组的key

  1. 高可用性:

MongoDB的复制工具称为副本集,它可提供自动故障转移和数据冗余

  1. 高扩展性:

分片将数据分布在一组集群机器上,海量数据存储,服务能力水品扩展,MongoDB支持基于片键创建数据区域,在一个平衡的集群中,将一个区域所覆盖的读写只定向到该区域内的那些片

  1. 丰富的查询支持:

MongoDB支持丰富的查询语言,支持读和写的操作(CRUD),比如数据聚合,文本搜索,地理空间查询等

mongodb安装地址

有手就会环节 要是装不上就不用学了
mongodb:
https://www.mongodb.com/try/download/enterprise

mongodb连接工具 Robo3T:
https://robomongo.org/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值