MongoDB之基本概念和应用场景

基本概念和应用场景

应用场景

  • 数据量大
  • 写入操作频繁
  • 价值较低的数据,对事务要求不高

场景特点

  • 应用不需要事务和复杂join
  • 应用需要2000~3000以上的的读写QPS
  • 应用需要TB或PB级别数据存储
  • 应用发展迅速,需要快速水平扩展
  • 应用要求存储的数据不丢失
  • 99.99%的高可用
  • 大量的地理位置查询,文本查询

MongoDB特点

  • 高性能
    • 高性能的数据持久性
    • 索引支持更快的查询,可以包含来自嵌入式文档的数组的键
    • Gridts解决存储的需求
  • 高可用
    • MogoDB的复制工具为副本集,可提供自动故障转移和数据冗余
  • 高扩展
    • 分片将数据分布在集群机器上
  • 丰富的查询支持
  • 其他特点
    • 无模式(动态模式)
    • 灵活的文档模式

基本概念

简单介绍

  • 开源,高性能,无模式的文档型数据库
  • 支持的数据结构非常松散,类似json的格式叫BSN
  • 记录是一个文档,由一个字段和值对(field:value)组成的数据结构,一个文档认为是一个对象,字段的数据类型是字符型,值除了基本的类型还可以包括文档,普通数组和文档数组

体系结构

在这里插入图片描述

sql概念MongoDB概念说明
databasedatabase数据库
tablecollection表/集合
rowdocument行/文档
columnfield数据字典/域
indexindex索引
table joinsMongoDB不支持连表
嵌入文档MongoDB通过嵌入文档来替代多表连接
primary keyprimary key主键,MongoDB自动将_id字段设置为主键

数据类型

数据类型描述举例
字符串UTF-8都可表示为字符串类型的数据{“x”:“bar”}
对象id对象id是文档的12字节的唯一ID{“x”:ObjectId{}}
布尔值true或false{“x”:true}+
数组值的集合或列表{“x”:[“a”,“b”,“c”]}
32位整数类型不可用,会被自动转换为64位浮点数
64位整数型不可用,会被自动转换为64位浮点数
null空值或未定义的类型{“x”:null}
undefined未定义类型{“x”:undefined}
符号不支持,会自动转换为字符串
正则表达式文档可以包含正则,采用js的正则表达式{“x”: /bar/i}
代码文档可以包含js代码{“x”: function(){}}
二进制数据可以有任意字节的串组成,不过shell无法使用
最大值/最小值BSON包括一个特殊类型,表示可能的最大值
  • shell默认64浮点型数值,对于整型值.可以使用Numberint或者NumberLong.{“x”:NumberInt(“3”)},{“x”:NumberLong(“3”)}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值