后台眼中的Mongo
Nosql、Mongo的安装、基础操作、分片即使
坐等故国扶风起
这个作者很懒,什么都没留下…
展开
-
MongoDB中副本集-Replication
之前的博文 MongoDB主从复制架构中 ,讲述了MongoDB用来实现数据冗余的一种方式,也提到了主从复制的缺点,当主节点出现故障时,数据库服务不可用,因此很多数据库也都选择了新的方式替代主从复制 , 比如MongoDB的复制集、redis的哨兵机制等,本文就是描述 MongoDB的复制集的相关特性。1. MongoDB中副本集的特点副本集(或者叫复制集,名字无所谓)是MongoDB用来实...原创 2019-10-18 19:39:41 · 430 阅读 · 0 评论 -
ubuntu中实测mongodb 的安装和简单配置
1. Ubuntu虚拟机的简单优化安装完ubuntu系统之后,略微不太友好,因此需要简单优化一下。语言支持 (language support)安装其他语言 :chinese (Simplified)菜单和窗口的语言,将汉语拖到第一行地区格式,添加汉语重启系统安装搜狗输入法下载安装包,安装完成终端输入 im-config , 选择输入法重启软件更新器,更新一下应用同理, ...原创 2019-10-16 16:35:30 · 211 阅读 · 0 评论 -
MongoDB中的主从复制架构
本文主要讲述什么是主从复制架构,为何采用这种架构, MongoDB如何搭建主从复制架构,需要进行怎样的过程,有哪些基本的命令,如何测试其效果。1. 单台服务器的局限在学习和开发测试中,是可以采用单台服务器,启动一个mongod服务器进程。但实际生产环境中,这样处理会存在很高的风险,比如服务器崩溃、访问不到了… 这样会影响到数据库服务的使用,也可能跟严重,比如硬盘坏了,不仅数据库服务无法...原创 2019-10-11 18:18:28 · 329 阅读 · 0 评论 -
Java连接MongoDB数据库的例子
之前的博文介绍了,MongoDB利用shell命令进行增删改查的的操作。实际上,更常用的是利用mongodb给的一些驱动插件,利用第三方的工具对MongoDB进行数据库的操作,本文就是利用java连接MongoDB数据库基本的步骤先下载mongodb-java的驱动,maven依赖如下<!-- mongo java框架jongo --> <dependency>...原创 2019-10-08 16:25:52 · 973 阅读 · 0 评论 -
Mongodb3.6中如何处理上层事务
在早期的mongodb中,为了性能,放弃了事务,基本上交给mongo的一些工具来处理,所以呢,基本上事务性要求高的数据,不适用于mongo ,通常用MongoDB记录一些日志记录等。 后来的版本中呢,逐渐加强了事务处理,下边的文章中,就是转载自 mongodb中文社区上的 Mongodb事务模型分析 本文基于Mongodb3.6,对于Mongodb上层事务中会让人困惑的几点进行源码层面的...转载 2019-10-08 11:19:32 · 887 阅读 · 0 评论 -
MongoDB中聚合和MapReduce
MongoDB作为一款数据,拥有一套聚合的操作构件,也有一些聚合函数,而MapReduce是时下最流行的聚合工具,两者的结合,会产生怎样的火花1. MongoDB中的聚合函数和聚合框架的关系mongodb提供了一些聚合函数,不过很多功能都被聚合构件给实现了,所以,聚合构件和聚合函数是目的是一样,常见的聚合函数有 group 、count、distinct等,接下来就简单聊一下求文档...原创 2019-09-28 17:22:04 · 253 阅读 · 0 评论 -
浅谈一下MongoDB中的聚合
很多时候,从数据库中查出来的数据不一定满足我们的需求,需要进行再次二次加工,比如求和,分组,排序,分页等。这里就由此展开,说一下MongoDB中如何处理聚合,常用的函数、常用的聚合框架,并简单说一下MapReduce1. 先提一下,何为聚合概念和例子其实单纯说概念,有点绕,但实际上已经用了很多次了,比如mysql中我们对结果集进行再次加工,举例来说select avg(salary) ...原创 2019-09-28 16:45:27 · 274 阅读 · 0 评论 -
mongoDB中的特殊索引
本片文章,主要去了解一下mongoDB中一些相对特殊的索引。使用面没那么广,适用于特定场合下,比如类队列数据的固定集合、TTL索引、简单字符串搜索的全文本索引等,这种情形下,会有对应的特殊索引.1. mongoDB中固定集合固定集合的特点和创建方式mongodb中 普通集合是可以动态创建的,可以自增长。此外,mongodb中也有 一种固定大小的集合,叫固定集合在创建的时候,指定大小...原创 2019-09-27 16:02:03 · 137 阅读 · 0 评论 -
mongoDB中常见的几种索引
数据库中,会有好几种索引,比如唯一索引,普通字段上的索引等1. 唯一索引和mysql中唯一索引用法类似, 用来保证集合中每一个document的指定键都有唯一值,比如 Id字段,同样,如果某一个字段设置了唯一索引,那么只可以插入相同的值一次,如果有一个null,则不允许再次插入该键为null的记录 比如一个网站注册用户,可以用手机号或者邮箱,然后手机号和邮箱需要做唯一索引,此时就会存在一个问...原创 2019-09-26 00:36:17 · 1220 阅读 · 0 评论 -
研究一下MongoDB中的复合索引
上边讲述了mongoDB中也可以用索引提高查询速度,并简单了解了如何利用explain去分析查询语句,需要注意的一点,查询条件key上有索引才会提高效率 。简单的字段索引,比如在name字段建立索引,用name查询时效率肯定块,不过 如果是同时用多个字段查询的时候,还能不能用上索引呢, 接下来,我们就去研究一下 ”复合索引“1. 先引出问题索引与查询字段的先后顺序有关么比如下边的数据结构...原创 2019-09-25 23:45:17 · 1857 阅读 · 1 评论 -
在mongoDB中的创建索引,利用explain()优化查询
对于任何一个数据库, 不管是SQL型还是NOSQL型,为了提高查询效率, 都需要对索引有一定了解 ,对于mongoDB ,也是可以利用索引去优化查询,实际上,mongoDB中索引和mysql等索引很多地方都是共通的1. mongoDB中的索引使用索引的优势不用索引,查询的时候会进行”全表扫描“ , 倘若1000万条数据,会扫描整个1000万数据,从中筛选,速度可想而知 。索引可以根据给...原创 2019-09-25 17:08:57 · 423 阅读 · 0 评论 -
shell脚本中mongoDB查询详解
1. 基本的查询shell命令 :“find"或"findOne”findOne和 findmongoDB中查询命令是find ,基本语法如下db.collectionName.find()上边的语句会返回这个集合中所有的document , 上边的语句中没有指定document , 默认就是 db.collectionName.find({})如果想要查询比如 , age是14的学...原创 2019-09-24 21:23:40 · 2809 阅读 · 0 评论 -
mongo中增删改的高阶用法
之前的博文 ”MongoDB基本的增删改“介绍了mongodb如何处理基本的修改操作, 但是对于一些相对复杂的操作并没有说,比如批量、优化等。本文就主要讲一下如何进行这些处理1. 批量插入insertManyshell中,可以直接用这个函数实现,语法与insert类似db.peo.insert({_id:11,name:'z1'}) // 单条插入db.peo.insertMany(...原创 2019-09-23 20:48:17 · 525 阅读 · 0 评论 -
深入理解mongo中的数据类型,了解Mongo的Id生成策略
mongoDB的document与javaScript中对象类似,document类似JSON, 但是 JSON本身有一些局限性, 比如JSON数据类型相对较少, 没有日期类型;只有一种数字类型,无法区分浮点和整数,无法表示通用类型,比如正则表达式或者函数MongoDB中,document在保留JSON key-value的基础上,添加了一些数据类型 ,下面就展开说一下,mongo中的基本数据...原创 2019-09-20 19:07:23 · 982 阅读 · 0 评论 -
MongoDB基本的增删改
mongoDB是一个非关系型数据库,自然, 数据库需要的增删改查和事务,肯定都可以满足,只不过适应于异于普通数据库的结构, mongoDB的增删改查采用自己的语法,从整体结构上看,类似于javascriptmongoDB提供了shell脚本、和java对接的API、和python对接的,各种方式都有,非常方便灵活。这里的 “增删改查” 均是基于“mongo的shell脚本”。 下边简单整理一些基...原创 2019-09-20 16:37:24 · 153 阅读 · 0 评论 -
mongoDB的服务器端安装和客户端连接
前边的博文讲述了mongo的产生背景,和关系型数据类比,mongo的数据库结构。本文中,从实际应用的角度,讲述如何安装mongo、服务器端如何启动、客户端按照mongo并连接到服务器,mongo的shell脚本安装mongoDB服务器实际开发的服务器肯定不敢乱动,只敢在我本地的环境安装一下,生产环境一般是linux, 安装过程类似,只不过细节不同,网上也有很多例子,比如 “服务器搭建–Lin...原创 2019-09-19 20:38:42 · 452 阅读 · 0 评论 -
MongoDB的核心概念和术语解释
MongoDB之所以流行,是因为它的特点 : 灵活、强大、易扩展的通用型数据库 。应用面很广。可以做一个小型项目的数据库;处理网站实时数据,处理实时的数据插入、更新、查询作为缓存层, mongo是介于关系型和非关系型数据库之间,可以作为持久化缓存层适合多态服务器的数据库,比如几十台服务器的数据库,支持MapReduce说了这么多,MongoDB是什么,简单说一下MongoDB...原创 2019-09-19 18:58:20 · 1062 阅读 · 0 评论 -
mongoDB的登场
身处在一个互联网急速发展的今天,记得刚毕业的时候,公司还是用MYSQL+ Spring +hibernate用一台服务器,建立备份数据,避免出现大量的读取和不时地宕机后来,发现查询太多了,于是加了一份缓存,记得还是用spring + EhCache , 就是hibernate的一个缓存框架,在dao层添加缓存,传入相同参数时无需查询数据库,直接从缓存中获取,一定程度上提高了效率简单配置如下 :...原创 2019-09-19 15:21:14 · 120 阅读 · 0 评论