mongdb的优势和不足
l 面向文档的数据库。
l 一个介于关系型数据库和非关系型数据库之间的产品,是非关系系数据库中功能最丰富,最像关系型数据库的。
l 特征是模式自由,schema-free。无需定义表结构。
l Mongodb在保存数据的时候,会把数据本身和数据的结构一起,按照一定的格式(BSON,JSON的二进制话产物)保存起来。
l 表在文档数据库中叫做集合(collection),表中的记录在文档数据库中叫做文档(document)。
优势:
- 容易扩展,可以支持T级别的数据量。只需要增加节点,Mongodb就会将数据自动的分散在各个节点上,同时会平衡集群的数据和负载。自动重拍文档。
- 支持索引(唯一索引 复合索引)
- 存储JavaScript。
- 聚合:支持MapReduce。
- 性能卓越。这是Mongodb设计中参考的重要因素。如它采用自定义的传输协议来和服务器通信(不使用HTTP或者Rest)、对文档进行动态填充,预分配数据文件、默认的存储引擎中使用内存映射文件,将内存交给操作系统去管理、动态查询优化器会记住执行查询的最搞笑的方式。
- 简便的管理。除了启动服务器之外基本不需要额外的管理操作,如果主服务器挂了,会自动切换到备用服务器。尽可能让服务器自动配置,只在必须的时候需要管理员介入。
不足:
- Mongodb不支持事务处理和Join操作。这个不足是Nosql的通病,如果可以解决这个不足,那么就不需要NoSQL了。直接当成用关系型数据库就可以了。如果要通过集群来减轻并发写的压力,就要舍弃Join操作和事务处理。
- Mongodb在保存数据的时候,不是实时写入到硬盘的,所以有可能出现数据丢失的情况。
mongdb的优势和不足的更多相关文章
- HBase与MongDB等NoSQL数据库对照
HBase概念学习(十)HBase与MongDB等NoSQL数据库对照 转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数 ...
- HBase概念学习(十)HBase与MongDB等NoSQL数据库对照
转载请注明出处: jiq•钦's technical Blog - 季义钦 一.开篇 淘宝之前使用的存储层架构一直是MySQL数据库,配合以MongDB,Tair等存储. MySQL因为开源,而且生态 ...
- MongDB篇,第一章:数据库知识2
MongDB 数据库知识2 非关系型数据库和关系型数据库的比较1. 不是以关系模型构建数据结构,结构比较自由 不保证数据的一致性2. 非关系型数据库弥补了关系型数据库的一些不足,能 够在处理高并 ...
- mongdb与mysql的联系和区别
与关系型数据库相比,MongoDB的优点:①弱一致性(最终一致),更能保证用户的访问速度举例来说,在传统的关系型数据库中,一个COUNT类型的操作会锁定数据集,这样可以保证得到“当前”情况下的精确值. ...
- 缓存系统redis操作、mongdb、memeche
mongdb :默认数据持久化,存在内存的同时也向硬盘写数据. redis:可配置数据持久化,默认数据在内存中 memeche:only support 内存模式 redis操作 https://ww ...
- 06.移动先行之谁主沉浮----我的代码我来写(Xaml的优势)
如果移动方向有任何问题请参考===> 异常处理汇总-移动系列(点) 前面几节课,我们都是在前台创建对象,进行一些设置,那么我们为什么不用传统的方法来编程呢? 我们今天来试试你就明了了~~ 打开M ...
- 女生学Web前端优势往往很明显
学Web前端的女生不算少数,女生学习的成果也往往不比男生差,前端偏向设计.交互和产品方向,需要更加贴合用户,女生心思细腻,对页面细节把控更好,更具美感,对用户心理把握更准,这样的优势往往是男生所不具备 ...
- SQL Server 2016五大优势挖掘企业用户数据价值
SQL Server 2016五大优势挖掘企业用户数据价值 转载自:http://soft.zdnet.com.cn/software_zone/2016/0318/3074442.shtml 3月1 ...
- CYQ.Data V5 从入门到放弃ORM系列:框架的优势
前言: 框架开源后,学习使用的人越来越多了,所以我也更加积极的用代码回应了. 在框架完成了:数据库读写分离功能 和 分布式缓存功能 后: 经过三天三夜的不眠不休,终于完成框架第三个重量级的功能:自动化 ...
随机推荐
- ES5与ES6常用语法教程之 ④展开运算符...在数组和对象中的作用
展开操作符(spread) 展开运算符(spread operator)允许一个表达式在某处展开.展开运算符在多个参数(用于函数调用)或多个元素(用于数组字面量)或者多个变量(用于解构赋值)的地方可以 ...
- 利用fiddler+nginx模拟流量识别与转发
最近看到一些关于全链路压测的文章,全链路压测主要处理以下问题: 数据清洗压测流量标记,识别 压测流量标记的传递测试数据与线上数据隔离等等... 要实现全链路压测,必然要对原有的业务系统进行升级,要怎么 ...
- Python知识点面试题
一. DB类 索引相关: 1. mysql索引种类 2. 什么是覆盖索引? MySQL目前主要有以下几种索引类型:1.普通索引2.唯一索引3.主键索引4.组合索引:遵循最左前缀规则5.全文索引 其他: ...
- Vi或者Vim下按了ctrl+s后终端卡住了咋办?
在Vi或者Vim下按了ctrl+s后终端卡住了咋办? 习惯了在windows下写程序,也习惯了按ctrl+s 保存代码. 在用vim的时候,也习惯性的按ctrl+s结果就是如同终端死掉了一样. 原因: ...
- C#实现多线程的方式:使用Parallel类
简介 在C#中实现多线程的另一个方式是使用Parallel类. 在.NET4中 ,另一个新增的抽象线程是Parallel类 .这个类定义了并行的for和foreach的 静态方法.在为 for和 f ...
- linux批量删除
find . -name "*.bcp" | xargs rm -rf "*.bcp"
- java 给不同成绩分等级
题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示. 程序分析:(a>b)?a:b这是条件运算符的基本例子. pack ...
- 查找担保圈-step2-拆分成员表函数
USE [test] GO /****** Object: UserDefinedFunction [dbo].[tf_split_char] Script Date: 2019/7/8 14:39: ...
- MSSQL读取某视图中的字段类型及相关属性
SELECT 新字段类型 = '',表名 = case when a.colorder=1 then d.name else '' end,表说明 = case when a.colorder=1 t ...
- C++练习 | 铁轨问题
#include <iostream> #include <cmath> #include <cstring> #include <string> #i ...