Docker最全教程——MongoDB容器化(十三)

640上一节我们讲述了数据库容器化之持久保存数据,本节将讲诉MongoDB容器化实践,并且接下来将逐步讲解其他数据库(MySql、Redis等等)的容器化实践,然后将讲诉一些分布式架构的项目实践。由于实践需要花费大量的时间,而目年前业务繁忙,只能加班来进行一些实践并编写,如果编写比较慢,请多多海涵。另外,考虑到文本内容表达有限,2月份将会推出视频教程,并且提供脚本、代码和笔记。


MongoDB容器化


MongoDB是一个免费的、开源的、跨平台分布式面向文档存储的数据库C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。

官网:https://www.mongodb.com/


640?wx_fmt=png



适用场景


  • 网站实时数据处理。它非常适合实时的插入、更新与查询,并具备网站实时数据存储所需的复制及高度伸缩性。

  • 缓存。由于性能很高,它适合作为信息基础设施的缓存层。在系统重启之后,由它搭建的持久化缓存层可以避免下层的数据源过载。

  • 高伸缩性高可用的场景。MongoDB使用分片水平缩放,并且可以运行在多个服务器上,平衡负载或复制数据,以便在硬件出现故障时保持系统正常运行。

  • 海量数据。

 

640?wx_fmt=png



不适用的场景


  • 要求高度事务性的系统。

  • 传统的商业智能应用。

  • 复杂的跨文档(表)级联查询。



镜像说明


官方镜像地址:

https://hub.docker.com/_/mongo

 


主要环境变量说明


  • MONGO_INITDB_ROOT_YSERNAME:管理员账号,例如:root

  • MONGO_INITDB_ROOT_PASSWORD:管理员密码,例如:12345



运行MongoDB容器镜像


Powershell:

docker run  -p 27017:27017 --name myMongodb `

   -d mongo

 

640?wx_fmt=png

 


使用主机目录保存数据库文件


PowerShell:

docker run  -p 27017:27017 --name myMongodb `

   -v d:/temp/data/mongodb:/data/db `

   -d mongo

执行之后如下图所示:

 

640?wx_fmt=png

注意:Windows和OS X上的Docker默认设置使用VirtualBox VM来托管Docker守护程序。但是VirtualBox用于在主机系统和Docker容器之间共享文件夹的机制与MongoDB使用的内存映射文件不兼容(请参阅vbox bug,docs.mongodb.org和相关的jira.mongodb.org错误)这意味着无法运行映射到主机的数据目录的MongoDB容器。



管理Mongodb


640?wx_fmt=gif使用nosqlbooster管理MongoDB


nosqlboostershell为中心的跨平台GUIMongoDB管理工具,它提供全面的服务器监控工具,流畅的查询构建器,SQL查询支持ES2017语法支持和真正的智能感知体验,是非常值得推荐的一个MongoDB管理工具。

官方网址:https://nosqlbooster.com

 

640?wx_fmt=gif

 

非常值得推荐的是,NoSQLBooster支持我们使用SQL查询语法来执行查询(MongoDB本身不支持,是由NoSQLBooster进行了验证和转换处理)。

例如以下MongoDB查询语法:

db.employees.aggregate([{

        $group: { _id:   "$department", total: { $sum: "$salary" }}

}])

可以使用我们熟悉的SQL查询语法来查询:

mb.runSQLQuery(`

 

       SELECT department, SUM(salary) AS total FROM employees GROUP BY department

       

`)

这里附上一个MySql和MongoDB的语法对比示例:


640?wx_fmt=png

 

同时,NoSQLBooster提供丰富的性能监视和分析工具,如Visual Explain Plan


640?wx_fmt=png

 


640?wx_fmt=gif使用MongoDB Compass

MongoDB CompassMongoDB的可视化工具,适用于Linux,Mac或Windows,能够非常直观的查看和管理数据,并且可以轻松识别可能导致性能问题的瓶颈或慢查询,这意味着我们可以更快地解决问题。

 

640?wx_fmt=png


640?wx_fmt=png


Docker最全教程——从理论到实战(一)

Docker最全教程——从理论到实战(二)

Docker最全教程——从理论到实战(三)

Docker最全教程——从理论到实战(四)

Docker最全教程——从理论到实战(五)

Docker最全教程——从理论到实战(六)

Docker最全教程——从理论到实战(七)

Docker最全教程——从理论到实战(八)    

Docker最全教程——从理论到实战(九)

Docker最全教程之使用TencentHub来完成CI(十)

Docker最全教程——数据库容器化(十一)

Docker最全教程——数据库容器化之持久保存数据(十二)


.NET社区新闻,深度好文,欢迎访问公众号文章汇总 http://www.csharpkit.com

640?wx_fmt=jpeg


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/317555.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

一些数学小公式/定理的证明

文章目录定理①:类欧几里得算法公式①:等比数列求和②:等差数列一次方和③:等差数列二次方和结论①:n&11⇒3∣(2n−2)n\&11\Rightarrow 3|(2^n-2)n&11⇒3∣(2n−2)②:1222...n2n(n1)(2n1)61^22…

背包模型题目集合

文章目录背包模型01背包AcWing 423. 采药AcWing 1024. 装箱问题Luogu 2925 干草出售Proud Merchants完全背包P1616 疯狂的采药P1853 投资的最大效益Piggy-Bank多重背包Luogu P1776 宝物筛选HDU 1059 Dividing混合背包P1833 樱花二维费用背包问题P1507 NASA的食物计划HDU 2159 F…

CF1063F-String Journey【SAM,线段树】

正题 题目链接:https://www.luogu.com.cn/problem/CF1063F 题目大意 给出一个字符串,求选出kkk个不交子串满足按照起始位置排序后,满足下一个是上一个的真子串。 求kkk的最大值。 1≤n≤51051\leq n\leq 5\times 10^51≤n≤5105 解题思路 首先我们肯…

CF1406D:Three Sequences(贪心、构造)

解析 本题说明了样例的重要性 完全可以通过仔细观察样例得出一些结论 首先最大值显然就是max⁡(b1,cn)\max(b_1,c_n)max(b1​,cn​) 考虑最优策略 如果a上升了,就让b上升 因为假设前面都拼的严丝合缝了,让c上升前面全得上升,肯定会对答案有…

在.NET Core中使用Exceptionless分布式日志收集框架

一.Exceptionless简介Exceptionless 是一个开源的实时的日志收集框架,它可以应用在基于 ASP.NET,ASP.NET Core,Web Api,Web Forms,WPF,Console,MVC 等技术栈的应用程序中,并且提供了…

YbtOJ-选点构形【欧拉函数】

正题 题目链接:https://www.ybtoj.com.cn/contest/351/problem/1 题目大意 一个圆上,你需要在3∼n3\sim n3∼n中选出kkk个作为aia_iai​,然后再圆上选择最少的点使得对于每个aia_iai​你都能用选出的点连成一个正aia_iai​边形。 k2≤n≤106k2\leq n\l…

CF1406E:Deleting Numbers(构造、根号分块)

解析 打表发现1e5以内的质因子是9592个 就是它没错了 容易想到枚举因子判断答案是否异常来判断是否包含该质因子 但是这个方法在最小质因子处是不奏效的 那么如何找到最小的质因子呢? 考虑把所有的质因子分成m\sqrt mm​块 然后每扫完一块,问一下 (A,…

test1 3-15 模拟赛1

文章目录考试复盘matrixsetstring考试复盘 首先先说T1T1T1,嗯,发现了列是相互独立的,所以分开考虑了 但是实在没想到线性基,就顺着自己的思路硬搞了505050跑路 老实说,505050分的部分分写得都是迷迷糊糊的,…

华为云提供针对Nuget包管理器的缓存加速服务测试

在Visual Studio 2013、2015、2017中,使用的是Nuget包管理器对第三方组件进行管理升级的。而且 Nuget 是我们使用.NET Core的一项基础设施,.NET的软件包管理器NuGet.org是一项面向全球用户搭建的服务,不论用户身在何处,NuGet.org都…

Consumer

Consumer 题意: n个游戏机,有w钱 每个游戏机上有游戏,每个游戏有价格和娱乐值,游戏机有价格,没有娱乐值,玩游戏必须要用对应的游戏机,问娱乐值最大是多少 题解: 有依赖关系的背包…

Loj#6405-「ICPC World Finals 2018」征服世界【模拟费用流,左偏树】

正题 题目链接:https://loj.ac/p/6405 题目大意 给出nnn个点的一棵树,每个点有xix_ixi​个军队,需要yiy_iyi​个军队,你可以移动军队,求使得满足所有点要求的情况下,军队移动路径和的最小值。 1≤n≤2500001\leq n\l…

兰道定理(竞赛图)

所谓兰道定理,就是兰道定下的道理 (逃) 解析 每条边被规定了方向的完全图叫做竞赛图 竞赛图中,设每个点的出度为uiu_iui​ 显然有: ∑uin(n−1)2\sum u_i\dfrac{n\times(n-1)}{2}∑ui​2n(n−1)​ 而兰道定理的内容是…

test2 3-16 2021 模拟赛two

文章目录考试复盘染色问题芬威克树礼物考试复盘 先说T1T1T1 染色,以为是道数学题,推了有一会儿的公式,从颜色1到颜色m,感觉是dpdpdp转移 发现颜色重叠的方案可以转化为另外一种相邻不重叠的染色 但是推到颜色4的时候就发现自己…

ASP.NET Core 2.2 : 扒一扒新的Endpoint路由方案

ASP.NET Core 从2.2版本开始,采用了一个新的名为Endpoint的路由方案,与原来的方案在使用上差别不大,但从内部运行方式上来说,差别还是很大的。上一篇ASP.NET Core;图解路由(2.1 earler)详细介绍了原版路由方案的运行机制&#xff…

郊区春游题解

郊区春游 题意: 给定一张图,求从某个起点出发,经过其中R个点(R个点给出)的最短路径(每个点经过且只经过一遍) 题解: 首先我们用floyed处理出任意两点的距离 dp[i][j]表示当前状态…

2021牛客暑期多校训练营3A-Guess and lies【dp】

正题 题目链接:https://ac.nowcoder.com/acm/contest/11254/A 题目大意 现在有一个y∈[1,n]y\in[1,n]y∈[1,n],BobBobBob每次可以选择问AliceAliceAlice是否y≥xy\geq xy≥x,AliceAliceAlice可以说一次谎。BobBobBob要在最少次数内确定yyy的值&#xf…

CF453C:Little Pony and Summer Sun Celebration(dfs、构造)

解析 比较巧妙的一道题 首先做一棵dfs生成树出来 尝试把它的欧拉序列作为答案 但是这样可能会有的地方不符合条件 如果x点的奇偶性不符合,就在序列中加入一个(x,fa) 同时改变x和fa的奇偶性 显然不会超过4*n 如果根需要改奇偶性怎么办? 最后一次回溯删掉…

开源中国 2018 新增开源软件最受欢迎 TOP 50

本周开源中国陆续公布了两个年度榜单,分别是国产新秀榜 TOP 30 和国产新增榜 TOP 50。由于两个榜单的数据来源都是国内开源项目,所以会有部分项目同时出现在两个榜单上。今天公布的这份榜单 —— 开源中国 2018 新增开源软件最受欢迎 TOP 50,…

简单环题解

简单环 题解: 题目求环的情况 如果我们直接枚举会有很多重复,为了避免重复,我们枚举起点,其他的点的序号都必须比起点大,也就是x->y,x一定小于y dp[i][j]表示的是以i的第一个点作为起点的链的数量,j是…

AT2339-[AGC011C]Squared Graph【黑白染色】

正题 题目链接:https://www.luogu.com.cn/problem/AT2339 题目大意 给出nnn个点mmm条边的一张无向图,然后有一张nnn\times nnn的图,每个点是一个二元组(a,b)(a,b)(a,b)。(a,b)(a,b)(a,b)和(c,d)(c,d)(c,d)连边当且仅当aaa和ccc有连边,bbb和…