Twittery

MongoDB 简介

  1. 适用场景
    • 吐槽和评论数据特点分析
      • 数据量较大
      • 写入操作频繁
      • 价值较低
    • 线上运行的系统产生大量的日志、警告信息、用户操作信息通常以文本的方式保存。
      • 使用MongoDB后可读性强、可以挖掘出具有价值的日志。
  2. 简介
    • MongoDB 是一个跨平台的,面向文档的数据库,是当前 NoSQL 数据库产品中最热门的一种。
    • 它介于关系数据库和非关系数据库之间,是非关系数据库当中功能最丰富,最像关系数据库的产品。
    • 它支持的数据结构非常松散,是类似 JSON 的 BSON 格式,因此可以存储比较复杂的数据类型。
  3. 特点
    • 面向集合存储,易于存储对象类型的数据。
    • 模式自由
    • 支持动态查询
    • 支持完全索引,包含内部对象
    • 支持复制和故障恢复
    • 使用高效的二进制数据存储,包括大型对象(如视频等)
    • 自动处理碎片,以支持云计算层次的扩展性
    • 支持 Python,PHP,Ruby,Java,C,C#,Javascript,Perl 及 C++语言的驱动程序
    • 文件存储格式为 BSON(一种 JSON 的扩展)
  4. 体系结果
    • Document ----》collection ----》database
      • MongoDB中的文档(Document) 相当于关系型数据库中的一行数据
      • 多个Document 组成一个集合,相当于关系型数据库中的表
      • 多个 collection 可组合成为一个数据库

    MongoDB体系结构

  5. 对比MySQL
MongoDB MySQL
数据库(database) 数据库(database)
集合(collection) 表(table)
文档(document) 行(row)
  1. 数据类型
    • 基本数据类型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”

分类:

技术点:

相关文章: