zoukankan      html  css  js  c++  java
  • mongoDB 数据库简介

    背景概念-数据库类型

    对比关系型数据库

    优点 :

    • 逻辑清晰.容易理解,结构类似表格
    • 使用 sql 语句技术成熟,使用方便
    • 数据一致性好,完整性好
    • 关系型数据库比较成熟,可以使用一些复杂操作

    缺点 :

      关键词: 慢 

    • 每次操作需要解析 sql 语句
    • 内部加锁,影响效率
    • 不能很好处理海量高并发需求
    • 读写能力差

    非关系型数据库

    NoSql ---> Not only sql 

    常见数据库:

    • 键值型数据库: Redis(散列表)
    • 列存储数据库: HBase
    • 文档型数据库: MongoDB, CouchDB
    • 图形数据库: Graph

    优点

    • 读写速度快,更好的应对处理需求
    • 灵活多样,容易扩展

    缺点

    • 没有统一的语句操作
    • 技术成熟度较差,缺少复杂操作

    使用场景

    对数据格式一致性要求不严格
    较强的扩展需要数据库做缓存时

    MongoDB 数据库

    特性

    • 非关系型数据库的文档型整理库
    • 开源数据库,使用广泛,更新较快
    • 由C++ 编写
    • 支持丰富的存储类型和数据操作
    • 有众多的编程语言提供接口
    • 方便扩展和部署,使用方便

    安装

    Liunx :

    sudo apt-get install mongodb

    windows :

    www.mangodb.com ----> try free ---> Server ---> 选版本下载

    Mac OS :

    brew install mongodb

    安装目录

    linux :

    自动安装位置 : /var/lib/mangodb
    配置文件: /etc/mangodb.conf
    命令集: /usr/bin

    命令

    mongod 配置基本信息

    常用参数,其他不常用的在 -h 里面自己查吧

    -h / help 查看帮助
    --dbpath 设置数据库存储位置
    --port 设置端口,默认 27017

    mongo 进入moongo shell 界面

    quit() / ctrl+c 退出

    数据结构

    组成:

    键值对----> 文档-----> 集合-----> 数据库

    概念对比

    ------------------------------------
    | mysql | mongoDB | 含义 |
    ------------------------------------
    | database | database | 表/集合 |
    ------------------------------------
    | table | collection | 字段/域 |
    ------------------------------------
    | row | field | 记录/文档 |
    ------------------------------------
    | index | index | 索引 |
    ------------------------------------

    示例

    mysql:

    -----------------
    ID | NAME | AGE |
    -----------------
    1 | yang | 18 |
    -----------------
    2 | tuo | 16 |
    -----------------

    mongoDB:

    {
      "ID" : 1, 
      "NAME" : "yang",
      "AGE" : 18
    }, 
    {
      "ID" : 2,
      "NAME" : "tuo",
      "AGE" : 16
    },

    特点:

    所谓灵活性: 一个集合中,不需要对文档的结构有限制,每个文档(记录)都可以随意自主的格式
    简单来说,mysql 中的表的每行数据都要有固定的格式,不存在的字段必须要设置为空。

  • 相关阅读:
    .net core2.2
    9_山寨系统调用 SystemCallEntry
    7_API调用
    8_InlineHook
    6_再次开中断STI的正确姿势
    5_中断现场下
    4_中断现场中
    3_中断现场上
    2_多核复杂性
    1_中断提权
  • 原文地址:https://www.cnblogs.com/shijieli/p/10446480.html
Copyright © 2011-2022 走看看