MongoDB 简介
- 适用场景
- 吐槽和评论数据特点分析
- 数据量较大
- 写入操作频繁
- 价值较低
- 线上运行的系统产生大量的日志、警告信息、用户操作信息通常以文本的方式保存。
- 使用MongoDB后可读性强、可以挖掘出具有价值的日志。
- 吐槽和评论数据特点分析
- 简介
- MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种。
- 它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的产品。
- 它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。
- 特点
- 面向集合存储,易于存储对象类型的数据。
- 模式自由
- 支持动态查询
- 支持完全索引,包含内部对象
- 支持复制和故障恢复
- 使用高效的二进制数据存储,包括大型对象(如视频等)
- 自动处理碎片,以支持云计算层次的扩展性
- 支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++语言的驱动程序
- 文件存储格式为 BSON(一种 JSON 的扩展)
- 体系结果
- Document ----》collection ----》database
- MongoDB中的文档(Document) 相当于关系型数据库中的一行数据
- 多个Document 组成一个集合,相当于关系型数据库中的表
- 多个 collection 可组合成为一个数据库
MongoDB体系结构
- Document ----》collection ----》database
- 对比MySQL
| MongoDB | MySQL |
|---|---|
| 数据库(database) | 数据库(database) |
| 集合(collection) | 表(table) |
| 文档(document) | 行(row) |
- 数据类型
- 基本数据类型null:用于表示空值或者不存在的字段,{“x”:null}
- 布尔型:布尔类型有两个值true和false,{“x”:true}
- 数值:shell默认使用64为浮点型数值。{“x”:3.14}或{“x”:3}。对于整型值,可以使用NumberInt(4字节符号整数)或NumberLong(8字节符号整数),{“x”:NumberInt(“3”)}{“x”:NumberLong(“3”)}
- 字符串:UTF-8字符串都可以表示为字符串类型的数据,{“x”:“呵呵”}
- 日期:日期被存储为自新纪元依赖经过的毫秒数,不存储时区,{“x”:new Date()}
- 正则表达式:查询时,使用正则表达式作为限定条件,语法与JavaScript的正则表达式相同,{“x”