zoukankan      html  css  js  c++  java
  • MongoDB的基础概念

    1.MongoDB和传统数据库的概念区别

    database       database        数据库
    table           collection    数据库表/集合
    row               document        数据记录行/文档
    column           field        数据字段/域
    index           index        索引
    table          joins        表连接,MongoDB不支持
    primary key       primary key    主键,MongoDB自动将_id字段设置为主键

    展现数据:

     数据库:

    一个mongodb中可以建立多个数据库。

    MongoDB的默认数据库为"db",该数据库存储在data目录中。

    MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。

    "show dbs" 命令可以显示所有数据的列表。

    > show dbs
    admin   0.000GB
    config  0.000GB
    local   0.000GB
    test    0.000GB

    执行 "db" 命令可以显示当前数据库对象或集合。

    > db
    test

    行"use"命令,可以连接到一个指定的数据库。

    > use local
    switched to db local
    > db
    local

    有一些数据库名是保留的,可以直接访问这些有特殊作用的数据库。
    admin:从权限的角度来看,这是"root"数据库。要是将一个用户添加到这个数据库,这个用户自动继承所有数据库的权限。一些特定的服务器端命令也只能从这个数据库运行,比如列出所有的数据库或者关闭服务器。
    local: 这个数据永远不会被复制,可以用来存储限于本地单台服务器的任意集合
    config: 当Mongo用于分片设置时,config数据库在内部使用,用于保存分片的相关信息。

    文档(Document)
    文档是一组键值(key-value)对(即 BSON)。MongoDB 的文档不需要设置相同的字段,并且相同的字段不需要相同的数据类型,这与关系型数据库有很大的区别,也是 MongoDB 非常突出的特点。
    一个简单的文档例子如下:

    需要注意的是:
       文档中的键/值对是有序的。
       文档中的值不仅可以是在双引号里面的字符串,还可以是其他几种数据类型(甚至可以是整个嵌入的文档)。
       MongoDB区分类型和大小写。
       MongoDB的文档不能有重复的键。
       文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符。
       文档键命名规范:
       键不能含有 (空字符)。这个字符用来表示键的结尾。
       .和$有特别的意义,只有在特定环境下才能使用。
       以下划线"_"开头的键是保留的(不是严格要求的)。

    集合
      集合就是 MongoDB 文档组,类似于 RDBMS (关系数据库管理系统:Relational Database Management System)中的表格。
      集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

    capped collections
      Capped collections 就是固定大小的collection。
      它有很高的性能以及队列过期的特性(过期按照插入的顺序). 有点和 "RRD" 概念类似。
      Capped collections 是高性能自动的维护对象的插入顺序。它非常适合类似记录日志的功能和标准的 collection 不同,你必须要显式的创建一个capped collection,指定一个 collection 的大小,单位是字节。collection 的数据存储空间值提前分配的。
      Capped collections 可以按照文档的插入顺序保存到集合中,而且这些文档在磁盘上存放位置也是按照插入顺序来保存的,所以当我们更新Capped collections 中文档的时候,更新后的文档不可以超过之前文档的大小,这样话就可以确保所有文档在磁盘上的位置一直保持不变。
      由于 Capped collection 是按照文档的插入顺序而不是使用索引确定插入位置,这样的话可以提高增添数据的效率。MongoDB 的操作日志文件 oplog.rs 就是利用 Capped Collection 来实现的。

    日期:

    > Date()
    Mon Dec 02 2019 10:33:08 GMT+0800 (CST)
  • 相关阅读:
    form表单数据进行json转换
    spring整合quartz时间任务调度框架
    quartz之hello(java)
    spring整合activeMq
    activeMq之hello(java)
    spring整合redis之hello
    redis之hello
    jpa命名规范
    webservice之helloword(web)rs
    webService之helloword(java)rs
  • 原文地址:https://www.cnblogs.com/hello-wei/p/11969261.html
Copyright © 2011-2022 走看看