Mongo入门(一)

前提:

    最近做项目,数据库用的是mongodb。之前没接触过。因此从零开始学习一下。

一:为什么要用mongo

1.MongoDB与MySQL的区别

   

   

   

   

2.MongoDB适用于什么场景

    MongoDB 的主要目标是在键/值存储方式(提供了高性能和高度伸缩性)和传统的RDBMS 系统(具有丰富的功能)之间架起一座桥梁,它集两者的优势于一身。根据官方网站的描述,Mongo 适用于以下场景。

● 网站数据:Mongo 非常适合实时的插入,更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。
● 缓存:由于性能很高,Mongo 也适合作为信息基础设施的缓存层。在系统重启之后,由Mongo 搭建的持久化缓存层可以避免下层的数据源过载。
● 大尺寸、低价值的数据:使用传统的关系型数据库存储一些数据时可能会比较昂贵,在此之前,很多时候程序员往往会选择传统的文件进行存储。
● 高伸缩性的场景:Mongo 非常适合由数十或数百台服务器组成的数据库,Mongo 的路线图中已经包含对MapReduce 引擎的内置支持。
● 用于对象及JSON 数据的存储:Mongo 的BSON 数据格式非常适合文档化格式的存储及查询。

    当公司数据模型无法具体确定,后期明确要进行扩展时,且表与表之间不需要进行JOIN操作,可以使用mongodb数据库。

    从网上看到下面这个表格

    

应用特征Yes/No?
我的数据量是有亿万级或者需要不断扩容 
需要2000-3000以上的读写每秒 
新应用,需求会变,数据模型无法确定 
我需要整合多个外部数据源 
我的系统需要99.999%高可用 
我的系统需要大量的地理位置查询 
我的系统需要提供最小的latency 
我要管理的主要数据对象<10 

3.MongoDB与NoSql的区别

类型例子典型应用场景数据模型优点缺点

key-value存储

Redis内容缓存,主要用于处理大量数据的高访问负载,也用于一些日志系统key-value查找数据速度快数据没有结构化。
列存储数据库Hbase分布式的文件系统以列簇族形式存储,将同一列数据存放在一起查找速度快,可扩展性强,更容易进行分布式扩展。功能相对局限
文档型数据库MongoDBWeb应用key-value数据结构要求不严格,表结构可变,易于扩展查询性能不高,缺乏统一的查询语法
图存储数据库Neo4J社交网络,关系图谱图结构利用图相关算法很多时候,需要对整个图进行计算才能获取需要的信息。

4.MongoDB概念解析

SQL术语MongoDB术语解释
databasedatabase数据库
tablecollection
rowdocument
columnfield数据字段
indexindex

索引

table join 表连接,MongoDB不支持
primary keyprimary key主键。MongoDB自动将_Id字段设置为主键













  • 3
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值