• MongoDB基本概念


    MongoDB是一款非关系型数据库,说到非关系型数据库,区别于关系型数据库最显著的特征就是没有SQL语句,数据没有固定的数据类型

    MongoDB是一个文档数据库,记录的是一个文档,它是由字段和值对组成的数据结构。文档存在于集合中

    • 文档是MongoDB中数据的基本单元,非常类似于关系型数据库系统中的行。
    • 集合可以被看做没有模式的表
    • 单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限
    • 自带简洁的JavaScript shell
    • 每个文档都有一个特殊的键 "_id",文档所处的集合里是唯一的

    主要功能

    1. 高性能
      • 嵌入式数据模型的支持减少了数据库系统的I/O活动
      • 索引支持更快的查询,并且可以包含来自嵌入式文档的和数组的键
    2. 丰富的查询语言
    3. 高可用性(副本集)
      • 自动故障转移
      • 数据冗余
    4. 水平伸缩性(分片)
      • 在一组计算机集群分布数据
    5. 支持多种存储引擎

    视图

    MongoDB不会将视图内容持久化到磁盘上,不支持对视图的写入操作,只能进行读写操作。

    上限集合

    上限集合是固定大小的集合,它们支持高吞吐量操作,这些操作根据插入顺序插入和检索文档。一旦集合填充了其分配的空间,它就会通过覆盖集合中最旧的文档为新文档腾出空间。

    文档

    • 文档中的键值对是有序的 {"a":1,"b":2}与{"b":2,"a":1}是不同的文档(不重要,_id是唯一)
    • 文档的值可以是字符串,也可以是其他类型,还可以是整个嵌入的文档
    • 键不能含有\0,这个字符串用于表示键的结尾
    • .和$有特别的意义,只有特定的环境才能使用
    • 以下划线_开头的键是保留的,这个不是很严格

    集合

    一组文档,类似于表

    集合是无模式的,集合里面的文档可以是各式各样的。

    • 集合名不能是空字符串
    • 集合名不能有\0
    • 不能以system.开头
    • 不能含有保留字符$
    • 组织集合的一种惯例是使用.字符分开的按命名空间划分的子集合。

    数据库

    特殊数据库

    • admin 权限角度看,这是一个root数据库。将用户添加到这里,这个用户会自动继承所有数据库的权限,一些特定的服务器命令也只能从这个数据库运行
    • local 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
    • config config数据库在内部使用,用于保存分片的相关信息
  • 相关阅读:
    Mac OS X下Maven的安装与配置
    [MAC Eclipse] Eclipse for MAC 中文乱码的解决办法
    The type javax.servlet.http.HttpServletRequest cannot be resolved.
    IOS基础:深入理解Objective-c中@class的含义
    NSJSONSerialization-JSON数据与NSDictionary和NSArray之间的转化
    真机测试时的错误:No matching provisioning profiles found
    转帖Jmeter中的几个重要测试指标释义
    Spring集成log4j日志管理
    Log4J日志配置详解
    使用Redis的理由
  • 原文地址:https://www.cnblogs.com/steven158/p/15736506.html
Copyright © 2020-2023  润新知