摘要:readConcern 问题综述:(在读取数据的过程中需要关注以下两个问题) 从哪里读?即关注数据节点的位置。 什么样的数据可以读?关注数据的隔离性。 第一个问题是由 readPreference 来解决的。 readPreference 在很早的版本就有了。 readPreference 以下五个
阅读全文
摘要:writeConcern writeConcern决定一个写操作落在多少个节点上才算成功。writeConcern的取值包括: writeConcern 虽然会增加写操作延迟时间,但并不会显著增加集群压力,因此无论是否等待,写操作最终都会复制到所有节点上。设置writeConcern只是让写操作等待
阅读全文
摘要:一个好的设计模式可以显著地 提升数据读写的效率,降低资源的需求。 更多MongoDB的设计模式: | 表现形式类 | 数据访问类 | 组织结构类 | | : : | : : | : : | | 列转行 | 子集 | 分桶 | | 文档版本 | 近似处理 | 预聚合 | 下面开始具体的问题 问题1:大
阅读全文
摘要:文档模型设计之三:套用设计模式 文档模型:无范式,无思维定式,充分发挥想象力。 设计模式:实战过程屡试不爽的设计技巧,快速应用。 举例:一个 loT 场景的分桶设计模式,可以帮助把存储空间降低10倍并且查询效率提升数十倍。 { "_id": "20160101050000:CA2790", "ica
阅读全文
摘要:文档模型设计之二:根据读写工况细化 最频繁的数据查询模式; 最常用的查询参数; 最频繁的数据写入模式; 读写操作的比例; 数据量的大小; 基于内嵌的文档模型 根据业务需求: 使用适当的引用来避免性能瓶颈; 使用冗余来优化访问性能; 比如把group的名字改一下 细化举例: 联系人管理应用的分组需求
阅读全文
摘要:文档模型设计之一:建立基础文档模型 根据概念模型或业务需求推导出逻辑模型 - 找到对象 Contact 联系人信息 Group 分组 Address 地址(多个) Portrait 头像 列出实体之间的关系(及基数) - 明确关系 一个联系人(Contact)有一个头像(Portraits)1 :
阅读全文
摘要:文档模型 vs 文档模型 关系数据库 JSON 文档模型 模型设计层次 概念模型逻辑模型物理模型 概念模型逻辑模型 模型实体 表 集合 模型属性 列 字段 模型关系 关联关系,主外键 内嵌数组,引用字段 MongoDB文档设计三部曲 基础 过程 结果 一、建立基础文档模型 业务需求及逻辑模型 --
阅读全文
摘要:什么是数据模型? 数据模型是一组由符号、文本组成的集合,用以准确表达信息,达到有效交流、沟通的目的。 数据模型设计的元素 实体 Entity 描述业务的主要数据集合 谁,什么,何时,何地,为何,如何... 属性 Attribute 描述实体里面的单个信息。 关系 Relationship 描述实体与
阅读全文
摘要:软件模块 描述 mongod MongoDB 数据 mongo MongoDB 命令行工具,管理 MongoDB 数据库。 mongos MongoDB 路由进程,分片环境下使用。 mongodump/mongorestore 命令行数据库备份及恢复工具。 monogexport/mongoimpo
阅读全文
摘要:目标: 通过在一台机器上运行3个实例来搭建一个最简单的复制集。通过实验,学会以下三点: 如果启动一个MongoDB实例; 如何将3个MongoDB实例搭建成一个复制集; 如何对复制集运行参数做一些常规调整和数据的操作; 1.准备 安装最新的MongoDB版本; 事先配置,Windows中配置好Mon
阅读全文
摘要:1.复制集的作用 主要意义在于实现服务的高可用性。 它的实现依赖于两方面: 数据写入时将数据迅速复制到另一个独立节点上。 在接受写入的节点发生故障时自动选举出一个新的替代节点。 在实现高可用的同时,复制集实现了其他几个附加作用: 数据分发:将数据从一个区域复制到另一个区域,减少另一个区域的读延迟。
阅读全文
摘要:演示数据模型,一条订单,如下 //> db.orders.findOne() { "_id" : ObjectId("5dbe7a545368f69de2b4d36e"), "street" : "493 Hilll Curve", "city" : "Champlinberg", "state"
阅读全文
摘要:MongoDB 聚合框架(Aggregtaion Framework)是一个计算框架,它可以: 作用在一个或几个集合上; 对集合中的数据进行一系列的运算; 将这些数据转化为期望的形式; 从效果而言,聚合框架相当于 SQL 查询中的: Group By Left Outer Join As等 管道(P
阅读全文
摘要:Find 关于 find find 是 MongoDB 中查询数据的基本指令,相当于 SQL 中的 SELECT。 find 返回的是游标(迭代器)。 find 示例: db.movies.find({"year": 1975}) // 单条件查询 db.movies.find({"year": 1
阅读全文
摘要:use mock # 切换数据库 show collection # 列出所有的表 db.orders.findOne() # 查询orders表中第一个 db.fruit.insertOne({name:"apple"}) # fruit表中插入一个水果 # 结果:插入成功,并成功添加一个默认主键
阅读全文
摘要:为了在实验中使用MongoDB,我们先启动一个临时mongod实例: mongod --dbpath /data --port 27017 #该指令使用`/data`作为数据目录(如果不存在需要手动创建),在默认端口`27017`启动一个临时mongod示例 用 mongorestore 命令导入当
阅读全文
摘要:General 配置 中文说明 说明 --quiet 安静输出。 Quieter output. --port arg 指定服务端口号,默认端口27017。 Specify port number - 27017 by default. --bind_ip arg 绑定服务IP,若绑定127.0.0
阅读全文
摘要:首先确保 brew版本brew简介 别太老。然后能支持services启动,不支持就更新一下brew update。 tap切换到第三方的库。 brew tap mongodb/brew 执行安装,这里安装的是社区版 (最后面的@4.2是指定版本号可以不写。注意MongoDB的正式版本号小数点后都是
阅读全文