
MongoDB
文章平均质量分 76
分享MongoDB的相关知识
嫩草终结者
一个渴望成为大牛的小程序猿
展开
-
MongoDB单机与集群的用户鉴权
一、单机注:这里单机采用配置文件的方式启动先使用无验证的方式启动mongo,进入shell界面,输入mongo进入客户端创建root用户use admindb.createUser({user:"root", pwd:"123456", roles: [ { role: "root", db: "admin" }]})接下来创建有只读权限的普通用户u...原创 2019-10-25 10:29:40 · 939 阅读 · 0 评论 -
MongoDB单机与集群性能测试对比
一、测试环境:数据库名称:test表名称:user数据结构:{ "_id" : ObjectId("5da041aa097f398cc2ab295f"), "username" : "zhou92001", "password" : "abcd" }数据总数:800000客户端并发数:64(多次测试改变此条件)客户端Mongo 参数 connectionsPerHost:6...原创 2019-10-24 10:06:25 · 4664 阅读 · 0 评论 -
MongoDB操作最佳实践(十)
MongoDB Atlas:作为MongoDB服务的数据库MongoDB Atlas提供了MongoDB的所有特性,而无需任何新应用程序所需的操作繁重。MongoDB Atlas通过现收现付模式按需提供,并按小时计费,让您专注于您最擅长的工作。很容易开始——使用一个简单的GUI来选择所需的实例大小、区域和特性。MongoDB Atlas提供: 保护数据访问的安全特性 内置复...翻译 2018-12-23 11:10:34 · 545 阅读 · 0 评论 -
MongoDB操作最佳实践(九)
灾难恢复:备份与恢复备份和恢复策略对于保护任务关键型数据免受灾难性故障或人为错误(例如代码错误或意外丢弃集合)是必需的。有了备份和恢复策略,管理员可以在没有数据丢失的情况下恢复业务操作,并且组织可以满足法规和遵从性要求。定期备份还有其他优点。备份可用于为开发、阶段或QA部署新的环境,而不影响生产系统。Ops Manager和Cloud Manager备份是连续维护的,仅比操作系统晚几...翻译 2018-12-23 10:44:45 · 320 阅读 · 0 评论 -
MongoDB操作最佳实践(八)
管理MongoDB:准备、监视和灾难恢复Ops Manager是由开发数据库的工程师创建的,是运行MongoDB的最简单方法,使操作团队易于部署、监视、备份和扩展MongoDB。Ops Manager的许多功能在托管在云中的MongoDB Cloud Manager服务中也是可用的。今天,云管理器支持成千上万的部署,包括从一台到几百台服务器的系统。使用MongoDB Enterprise Ad...翻译 2018-12-22 20:23:09 · 955 阅读 · 0 评论 -
MongoDB操作最佳实践(七)
网络 始终在可信任的网络规则环境中运行MongoDB以阻止所有未知的访问。与MongoDB系统通信的预定义进程数量很多:应用程序服务、监视进程和在副本集或分片集群中运行的其他MongoDB进程。默认情况下,MongoDB进程将绑定到系统上的所有可用网络接口。如果系统具有多个网络接口,则将MongoDB进程绑定到私有或内部网络接口。MongoDB安全教程提供了有关MongoDB默认端...翻译 2018-12-22 16:37:09 · 575 阅读 · 0 评论 -
MongoDB操作最佳实践(六)
每台主机进程为了获得最佳性能,用户应该在每个主机上运行一个mongod进程。通过使用虚拟化或容器技术来进行适当的大小调整和资源分配,可以在单个服务器上运行多个MongoDB进程,而不会争用资源。使用WiredTiger存储引擎,管理员将需要计算每个实例的适当缓存大小,方法是评估每个实例应该使用总RAM的哪个部分,并在每个实例之间分割默认的cache_size。为了高可用性,同一副本集...翻译 2018-12-20 23:47:17 · 260 阅读 · 0 评论 -
MongoDB操作最佳实践(五)
工作集MongoDB广泛使用RAM来加速数据库操作。在MongoDB中,所有数据都是通过数据的内存表示来读取和操作的。WiredTiger存储引擎通过其内部缓存管理数据,但它也受益于保存在文件系统缓存中的页面。MMAPv1使用内存映射的文件。从内存读取数据以纳秒为单位,从磁盘读取数据以毫秒为单位;从内存读取数据比从磁盘读取数据快10万倍。在正常操作期间访问的数据和索引集称为工作集。最佳实践...翻译 2018-12-16 19:59:25 · 275 阅读 · 0 评论 -
MongoDB操作最佳实践(四)
ProfiingMongoDB提供了名为Database Profier的profiing能力,它记录关于数据库操作的五种粒度信息。profier 能够记录所有事件的信息,或者仅记录持续时间超过可配置阈值(缺省值为100ms)的那些事件。探查数据存储在一个有上限的集合中,在那里可以方便地搜索相关事件。它可能比解析日志fies更容易查询这个集合。MongoDB Ops Manager和...翻译 2018-12-15 21:25:26 · 238 阅读 · 0 评论 -
MongoDB操作最佳实践(三)
空间分配调优(仅与MMAPv1存储引擎有关) 当在MongoDB MMAPv1存储引擎中更新文档时,如果有足够的空间,则就地更新数据。如果文档的大小大于分配的空间,那么可能需要在新位置重写文档。移动文档和更新其关联索引的过程可能是I/O密集型的,并且可能不必要地影响性能。为了预测未来的增长,在每个集合上默认启用usePowerOf2Sizes属性。默认情况下(来自MongoDB ...翻译 2018-12-15 11:53:13 · 481 阅读 · 0 评论 -
MongoDB操作最佳实践(二)
MongoDB部署前的准备 MongoDB可拔插存储引擎MongoDB公开了存储引擎API,支持集成可插入存储引擎,这些可插入存储引擎使用新功能扩展MongoDB,并且支持优化使用指定的硬件体系结构。MongoDB 这艘船拥有多个支持的存储引擎:默认的 是WiredTiger存储引擎。对于大多数应用程序,WiredTiger的粒度并发控制和本地压缩将为最广泛的应用程序提供最佳的综合...翻译 2018-12-08 11:29:50 · 235 阅读 · 0 评论 -
MongoDB操作最佳实践(一)
MongoDB 3.4(ps:文章大部分内容都是借助百度翻译,然后在上面作一些修正的。翻译不是目的,主要目的是强迫自己沉下心来将英文的技术文章看下去) 简介MongoDB是一种高性能、可扩展、分布式、为现代应用而设计的数据库。它被各种大大小小的组织用来处理关键任务,低延迟的操作应用程序,高吞吐量以及持续可用性等有严格要求的系统。虽然MongoDB的一些方面不同于传统的关系数据...翻译 2018-12-08 11:02:44 · 319 阅读 · 0 评论 -
MongoDB分配的内存与吞吐率的测试
测试条件: 服务端:CPU:8核 内存:32G 系统: Ubuntu 16.04 客户端: ycsb-0.5.0 (与服务端在不同的两台机器上) M...原创 2018-09-08 23:12:55 · 3126 阅读 · 0 评论 -
MongoDB内存限制
用过MongoDB的人应该会发现一个问题,就是随着时间的推移,MongoDB占用的物理内存会越来越大,甚至到达不可想象的地步。或者在短时间内,用压力测试MongoDB的性能,内存也会飚的很高,而且会一直保持在最高的状态。下面的测试是在我的虚拟机上进行的,配置是1核4G,压力测试工具是YCSB,测试命令是./bin/ycsb load mongodb -s -P wor...原创 2018-08-30 13:51:16 · 34673 阅读 · 5 评论 -
YCSB的调研使用(针对MongoDB)
1 YCSB是什么 YCSB(Yahoo! Cloud Serving Benchmark)是雅虎开源的一款通用的性能测试工具。通过这个工具我们可以对各类NoSQL产品进行相关的性能测试,包括:HBase、Cassandra、Mongodb、Voldemort、Redis等。通过配置workload文件,YCSB可以灵活的模拟不同的测试负载和读写模式。 YCSB的几大特性:...原创 2018-08-28 14:05:09 · 2667 阅读 · 2 评论 -
mongo+spring配置文件
applicationContext.xml<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:p="http://www.springframework.org/schema/p" xmlns:con原创 2018-01-12 09:12:11 · 627 阅读 · 0 评论 -
MongoDB创建过期索引的三种方法
1,db.log_events.createIndex( { "expireAt": 1 }, { expireAfterSeconds: 0 } )其中,log_events是表名,expireAt是索引所在的字段,为Date格式,expireAfterSeconds表示0秒之后过期。该方式,可以传入一个过期时间到数据库中,到了指定时间,数据即删除2,db.log_events.原创 2017-05-15 17:37:27 · 7194 阅读 · 0 评论 -
如何检查当前mongodb使用的存储引擎
mongo进入客户端以后,执行db.serverStatus()在结果中查找"storageEngine" "storageEngine" : { "name" : "wiredTiger", "supportsCommittedReads" : true, "readOnly" : false, "persistent" : true }此时的存储殷勤是wi原创 2017-04-05 17:30:16 · 5120 阅读 · 0 评论 -
MongoDB整合Spring
MongoDB版本:3.4.2主要所需jar包: mongo-java-driver-3.4.0.jar· spring-data-mongodb-1.4.1.RELEASE.jarspring-data-commons-1.6.1.RELEASE.jarspring的包,我是使用MyEclipse自动生成的,如下:1, 首先是applicati原创 2017-03-29 19:42:51 · 855 阅读 · 0 评论 -
cassandra 、mongodb、mariadb集群总结
今天还是在弄数据库的集群,在验证和测试各种东西,简单总结一下: 1,cassandra数据库,新增节点的时候,所有节点的token值会重新计算一次,然后再平均分配给所有节点,数据也会平均分配,不过在老的节点上的数据不会自动减少,所以老节点每隔一段时间需要手动的清理一下重复的数据 nodetool cleanup 2,mongodb原创 2016-12-03 00:33:13 · 1249 阅读 · 0 评论 -
mongodb副本集和分片部署命令
在本文 mongos为 20000, config server 为 21000, shard1为 22001 , shard2为22002, shard3为22003.原创 2016-12-29 09:46:17 · 791 阅读 · 0 评论 -
MongoDB-分片片键
1.分片 分片是什么?分片就是将数据存储在多个机器上。当数据集超过单台服务器的容量,服务器的内存,磁盘IO都会有问题,即超过单台服务器的性能瓶颈。此时有两种解决方案,垂直扩展和水平扩展(分片)。 垂直扩展就是增加CPU,增加容量,但高性能系统的CPU和容量不成比例,这样扩展成本大,并且有上限。 水平扩展分片,将数据分发到多个服务器,每个服务器是转载 2017-01-20 17:10:31 · 1097 阅读 · 0 评论 -
MongoDB常用命令以及数据类型
1常用命令1.1插入文档db.collection.insertOne({name:"sue", age: 19, status: "P"}) 向集合插入单个文档db.users.insertMany( [ { name: "bob", age: 42, status: "A", }, { name: "ahn", age: 22,原创 2017-03-20 15:48:58 · 1189 阅读 · 0 评论