专栏首页无题mongoDB常见问题整理

抱歉,你查看的文章已删除

mongoDB常见问题整理

多方收集整理成此篇,以后也会持续更新。

为什么要使用Nosql

关系型数据库采用的结构化的数据,NoSQL采用的是键值对的方式存储数据。

mongo使用场景:

在处理非结构化/半结构化的大数据时; 在水平方向上进行扩展时; 随时应对动态增加的数据项时可以优先考虑使用NoSQL数据库。 高并发解决方案时;

以下特点使得MongoDB成为最好的NoSQL数据库:

面向文件的 高性能 高可用性 易扩展性 丰富的查询语言 完全索引

mongoDB的基本结构

MongoDB的最基本的数据单元,叫document,类似于关系式数据库中的行 row。一系列documents,组成了一个collection,相当于关系式数据库中的table。当一个 collection 数据量太大时,可以把该collection按documents切分,分成多个数据块,每个数据块叫做一个chunk,多个chunks聚集在一起,组成了一个shard。

Sharding 的意义,不仅保障了数据库的扩容(scalability),同时也保障了系统的负载均衡(load balance)。

MongoDB支持存储过程吗?如果支持的话,怎么用?

MongoDB支持存储过程,它是JavaScript写的,保存在db.system.js表中。

如何执行事务/加锁?

MongoDB没有使用传统的锁或者复杂的带回滚的事务,因为它设计的宗旨是轻量,快速以及可预计的高性能。可以把它类比成MySQL MylSAM的自动提交模式。通过精简对事务的支持,性能得到了提升,特别是在一个可能会穿过多个服务器的系统里。

什么是“片键”

片键是拆分集合的依据,管理员设置的“片键”将数据分摊到自己管理的mongod集群,数据 和片的对应关系以及相应的配置信息保存在”config服务器”上。

什么是master或primary?

它是当前备份集群(replica set)中负责处理所有写入操作的主要节点/成员。在一个备份集群中,当失效备援(failover)事件发生时,一个另外的成员会变成primary。

主从复制模式:master slave 副本集 :primary(活跃) secondary(备份)

什么是secondary或slave?

Seconday从当前的primary上复制相应的操作。它是通过跟踪复制oplog(local.oplog.rs)做到的。

数据库的整体结构

键值对–》文档–》集合–》数据库

mongodb的结构介绍

数据库中存储的对象设计bson,一种类似json的二进制文件,由键值对组成

为什么mongodb的数据文件那么庞大

mongodb会积极的预分配预留空间,防止文件系统碎片

名字空间(namespace)是什么?

在collection中,数据库名+集合名叫做名字空间。也就是一个集合的完整名

数据在什么时候才会扩展到多个分片(shard)里?

mongodb分片是基于区域的,所以一个集合的所有对象都放置在同一个块中,只有当存在多余一个块的时候,才会有多个分片获取数据的选项

当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么?

会立即更新旧的分片,然后更改才会在所有权转移前复制到新的分片上

能否使用日志特征进行安全备份?

是的。

更新操作立刻fsync到磁盘?

一般磁盘的写操作都是延迟执行的

如果用户移除对象的属性,该属性是否从存储层中删除?

是的,用户移除属性然后对象会重新保存(re-save())。

分析器在MongoDB中的作用是什么?

分析器就是explain 显示每次操作性能特点的数据库分析器。通过分析器可能查找比预期慢的操作

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MongoDB 收购mLab 巩固全球云数据库地位

    MongoDB 公司日前宣布,公司已经就收购位于旧金山的云数据库服务商mLab达成最终协议。在满足惯例成交条件的情况下,此次收购预计将在截至2019年1月31日...

    MongoDB中文社区
  • 平安科技汪洋:MongoDB 的平安路

    1月5日至6日即将在深圳举办的2018 MongoDB 年终盛会正在火热报名中,为使大家能对大会嘉宾及议题有更深的了解,在现场更好地互动,我们特地采访了部分嘉宾...

    MongoDB中文社区
  • MongoDB 收购mLab 巩固全球云数据库地位

    MongoDB 公司日前宣布,公司已经就收购位于旧金山的云数据库服务商mLab达成最终协议。在满足惯例成交条件的情况下,此次收购预计将在截至2019年1月31日...

    MongoDB中文社区
  • MongoDB系列---入门安装操作

      在 Linux 平台的 MongoDB 为解压版。我们只要解压 tgz 文件就可以使用。

    Arebirth
  • MongoDB中文社区有话说: 卫报迁移和58简历事件专家剖析

    最近InfoQ发布了“别了,MongoDB”(翻译自卫报作者Philip McMahon等发表的英文博客 ) 一文引起比较大的反响。如果关心技术社区的朋友们都...

    MongoDB中文社区
  • MongoDB中文社区有话说: 卫报迁移和58简历事件专家剖析

    最近InfoQ发布了“别了,MongoDB”(翻译自卫报作者Philip McMahon等发表的英文博客 ) 一文引起比较大的反响。如果关心技术社区的朋友们都...

    MongoDB中文社区
  • 云MongoDB优化使LBS服务性能提升十倍

    随着国内服务共享化的热潮普及,共享单车,共享雨伞,共享充电宝等各种服务如雨后春笋,随之而来的LBS服务定位问题成为了后端服务的一个挑战。MongoDB对LBS...

    腾讯云数据库 TencentDB

扫码关注云+社区

领取腾讯云代金券