• mongoDB 初始


    一、NoSQL介绍

    1.简介

    NoSQL(NoSQL = Not Only SQL ),意即"不仅仅是SQL"。

    在现代的计算系统上每天网络上都会产生庞大的数据量,这些数据有很大一部分是由关系数据库管理系统(RDBMS)来处理,还有很多数据是由分关系型数据库处理的

    NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

    NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。


    2.为什么使用nosql

    关系型数据库数据要求严格,有些数据用非关系型数据库存储更加方便

    今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL 数据库的发展却能很好的处理这些大的数据。

    二、MongoDB 简介

    1.介绍

    MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
    在高负载的情况下,添加更多的节点,可以保证服务器性能。
    MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
    MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组
    json
    bjson
    {id:"1"}

    2.mongoDB与MySQL对比

    1)对比
    mysql mongoDB
    集合
    字段 键值
    真实数据行 文档
    2)mysql中的数据
    id name age
    1 qiudao 18
    2 egon 99
    3)MongoDB数据
    1){id:1,name:qiudao,age:18}
    2){id:2,name:egon,age:99,sex:nan}
    
    4)区别
    1.数据结构不同
    2.数据库添加数据,如果字段不存在则报错
    3.MongoDB添加数据可以创建额外字段
    4.MongoDB不需要提前创建好数据库和表,可以直接写入数据,会自动创建
    
    3.MongoDB特点:
    1.MongoDB 是一个面向文档存储的数据库,操作起来比较简单和容易。
    2.你可以在MongoDB记录中设置任何属性的索引来实现更快的排序。
    3.水平扩展能力强
    4.Mongo支持丰富的查询表达式。(CRUD)
    5.MongoDB支持各种编程语言: RUBY,PYTHON,JAVA,C++,PHP,C 等多种语言。
    6.MongoDB安装简单
    7.高性能:内存数据库,支持持久化
    8.高可用性:副本集
    9.支持多种存储引擎
    
    4.MongoDB的使用场景
    1.游戏场景:
    	1)存储游戏的相关信息,用户的用户名,排行榜,积分榜
    	
    2.物流:
    	1)使用MongoDB存储定单信息,运送过程中会记录位置不断更新
    	2)查询历史订单,直接显示所有内容
    	3)外卖
    
    3.社交场景:
    	1)使用集合的方式存储用户信息,取交集,并集
    	2)附近的人,摇一摇
    	
    4.电商:
    	1)使用MongoDB存储有特殊属性字段的数据可以全部放在一个库里面
    	
    5.直播:
    	1)使用MongoDB存储特别节日的礼物信息
    
  • 相关阅读:
    maven 常用命令
    navicat 破解
    linux命令
    Git常用命令
    关于近期工作的总结
    ES6新特性学习
    Hadoop初步学习
    串行、并行与并发的理解
    通过Spring profile方式实现多环境部署
    使用MySQL乐观锁解决超卖问题
  • 原文地址:https://www.cnblogs.com/xiaolang666/p/14116985.html
Copyright © 2020-2023  润新知