zoukankan      html  css  js  c++  java
  • MongoDB快速入门

    MongoDB 是一个跨平台的,面向文档的数据库,是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。

    在高负载的情况下,添加更多的节点,可以保证服务器性能。

    MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。

    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

    数据库

    数据库是一个集合的物理容器。一个单一的MongoDB服务器通常有多个数据库。

    集合

    文档组,类似于关系数据库中的表格。

    集合存在于数据库中,集合没有固定的结构,这意味着你在对集合可以插入不同格式和类型的数据,但通常情况下我们插入集合的数据都会有一定的关联性。

    比如,我们可以将以下不同数据结构的文档插入到集合中:

    {"site":"www.baidu.com"}
    {"site":"www.google.com","name":"Google"}
    {"site":"www.itcast.cn","name":"传智教程","num":5}
    

    当第一个文档插入时,集合就会被创建。

    文档

    文档是一组键 - 值对。

    RDBMS VS MongoDB

    下面给出的表显示RDBMS(关系型数据库管理系统)术语 与 MongoDB 的关系

    SQL术语/概念MongoDB术语/概念解释/说明
    database database 数据库
    table collection 数据库表/集合
    row document 数据记录行/文档
    column field 数据属性/字段(域)
    index index 索引
    table joins Embedded Documents 表连接,MongoDB3.2提供了Join操作
    primary key primary key 主键,MongoDB默认自动将_id字段设置为主键,可以手动设置

    通过下图实例,我们也可以更直观的的了解Mongo中的一些概念:

    _id是一个12字节的十六进制数,保证每一份文件的唯一性。您可以自己去设置_id插入文档。如果没有提供,那么MongoDB的每个文档提供了一个独特的ID。

    这12个字节:

    前4个字节为当前时间戳;

    未来3个字节的机器ID;

    接下来的2个字节的MongoDB的服务进程id;

    剩余3个字节是简单的增量值

    一个字节等于2位十六进制(一位十六进制的数等于四位二进制的数。一个字节等于8位二进制数)

    示例文档

    下面给出的示例显示了一个博客网站,这是一个类似于 JSON 对象键值对文档结构。

    {
       _id: ObjectId("57146ec5de7375577083d127")
       title: 'MongoDB Overview', 
       description: 'MongoDB is no sql database',
       by: 'itcast.cn',
       url: 'http://www.itcast.cn',
       tags: ['mongodb', 'database', 'NoSQL'],
       likes: 100, 
       comments: [  
          {
             user:'user1',
             message: 'My first comment',
             dateCreated: new Date(2011,1,20,2,15),
             like: 0 
          },
          {
             user:'user2',
             message: 'My second comments',
             dateCreated: new Date(2011,1,25,7,45),
             like: 5
          }
       ]
    }

    from: https://piaosanlang.gitbooks.io/mongodb/content/01day/README1.html
  • 相关阅读:
    Tomcat性能调优方案
    内存泄露和内存溢出
    HashMap和Hashtable的区别
    properties类是Hashtable的子类
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
    xgqfrms™, xgqfrms® : xgqfrms's offical website of GitHub!
  • 原文地址:https://www.cnblogs.com/GarfieldEr007/p/10171042.html
Copyright © 2011-2022 走看看