随笔分类 -  mongodb

摘要:在实际生产环境下,某场景下,数以千万乃至上亿的数据会批量落入db,nosql,而根据数据的ttl过期,会在某个多久之后的时间给这批数据del. 加入每天9点都在批量insert—all,而前n天的数据恰好在这个时间节点(n天后的9点)ttl过期,观察db的io负载,会急速飚上去,io打的很高,甚至到 阅读全文
posted @ 2020-01-16 17:08 孤独信徒 阅读(2989) 评论(0) 推荐(1) 编辑
摘要:前序:由于公司业务需求,对于3个月前的过期数据需要进行删除动作,以释放空间和方便维护本来想的是使用crontab写个脚本定时执行,但是看到Mongo本身就有自动删除过期数据的功能,所以还是用一下吧这个方法就是使用TTL索引,后续我再写一个脚本定时删除的任务介绍:TTL索引是MongoDB中一种特殊的 阅读全文
posted @ 2019-12-05 10:36 孤独信徒 编辑
摘要:由于业务原因,需要将过期数据删除,但有一个问题出现了,频繁删除数据之后,会产生很多磁盘碎片,这些碎片如果没有被重复利用, 进而会影响查询性能(表查询时仍然会扫描这部分删除数据的磁盘空间块),随需要处理。 当从MongoDB中删除文档(Documents)或集合(Collections)后,Mongo 阅读全文
posted @ 2017-10-25 14:22 孤独信徒 阅读(2043) 评论(0) 推荐(0) 编辑
摘要:逻辑存储空间与物理存储空间有差距的主要原因 而上述case里,集合数据先分到一个shard,然后启用分片后,迁移一部分到其他shard,就是一个典型的产生大量存储碎片的例子。存储碎片对服务通常影响不大,但如果因为空间不够用了需要回收,如何去强制的回收这些碎片空间? 数据清理掉重新加入复制集同步数据, 阅读全文
posted @ 2017-10-21 18:55 孤独信徒 阅读(914) 评论(0) 推荐(0) 编辑
摘要:需求:要想在一个调度中,从mongo中查出大于一个时间戳的所有的数据总和。 这个需求很简单,一个是scheduler,还有另一个就是查出来大于某个时间戳的总和,比如大于每天0点时间点的和. 需要注意的是:mongo中的date类型以UTC(Coordinated Universal Time)存储, 阅读全文
posted @ 2016-11-04 02:56 孤独信徒 阅读(371) 评论(0) 推荐(0) 编辑
摘要:在项目中,mongo中要创建日期类型,根据这个日期类型进而对mongo设置过期时间expire,加上对应的index索引自动删除。 而mongo中的日期类型,使用ISO格式,例如:ISODate("2012-11-02T07:58:51.718Z") 在java中,例如: db.tianyc04.i 阅读全文
posted @ 2016-11-04 02:41 孤独信徒 阅读(1803) 评论(0) 推荐(0) 编辑
摘要:部署mongodb的生产服务器,给出如下相关建议:使用虚拟化环境;系统配置 1)推荐RAID配置RAID(Redundant Array of Independent Disk,独立磁盘冗余阵列)是一种可以让我们把多块磁盘当做单独一块磁盘来使用的技术。可使用它来提高磁盘的可靠性或者性能,或... 阅读全文
posted @ 2015-03-02 15:16 孤独信徒 阅读(2456) 评论(4) 推荐(2) 编辑
摘要:为何需要水平分片1 减少单机请求数,将单机负载,提高总负载2 减少单机的存储空间,提高总存空间。下图一目了然:mongodb sharding 服务器架构简单注解:1 mongos 路由进程, 应用程序接入mongos再查询到具体分片。2 config server 路由表服务。 每一台都具有全部c... 阅读全文
posted @ 2015-03-02 12:18 孤独信徒 阅读(709) 评论(0) 推荐(0) 编辑
摘要:转自:http://www.mongoing.com/archives/295 MongoDB的复制集具有自动容忍部分节点宕机的功能,在复制集出现问题时时,会触发选举相关的过程,完成主从节点自动切换.每个复制集成员都会在后台运行与复制集所有节点的心跳线程,在两种情况下会触发状态检测过程:复制集... 阅读全文
posted @ 2014-11-28 14:48 孤独信徒 阅读(507) 评论(0) 推荐(0) 编辑
摘要:”mongo群友在群里问了个问题,问的是--quiet启动参数如何用的? 如何理解安静的输出?“ 看到这个问题,之前看过--quiet这个参数,没有认真研究过,也没在生产中使用过。 在mongodb启动时候,有个启动参数--quiet,在生产中没有用过,./mongo --help 看到对于... 阅读全文
posted @ 2014-11-26 18:45 孤独信徒 阅读(2414) 评论(0) 推荐(0) 编辑
摘要:之前没发现mongoperf这个工具,测试IO的状态用的是iostat来进行观察。mongoperf , fileSizeMB:, sleepMicros:, mmf:, r:, w:, recSizeKB:, syncDelay:}具体文件见mongodb官网:http://docs... 阅读全文
posted @ 2014-11-24 17:41 孤独信徒 阅读(1390) 评论(1) 推荐(0) 编辑
摘要:在mongodb的启动时,在数据目录下,会生成一个mongod.lock文件。如果在正常退出时,会清除这个mongod.lock文件,若要是异常退出,在下次启动的时候,会禁止启动,从而保留一份干净的一份副本数据。有人可能会想到删除这个文件,建议请不要这么做。如果这么做,我们也不知道数据文件是否... 阅读全文
posted @ 2014-11-21 16:05 孤独信徒 阅读(12701) 评论(0) 推荐(0) 编辑
摘要:MongoDB的destinct命令是获取特定字段中不同值列表。该命令适用于普通字段,数组字段和数组内嵌文档.mongodb的distinct的语句:db.users.distinct('last_name')等同于 SQL 语句:select DISTINCT last_name from u... 阅读全文
posted @ 2014-09-15 14:38 孤独信徒 阅读(14974) 评论(0) 推荐(0) 编辑
摘要:1) mongodb查看连接数: db.serverStatus().connections;2) mongodb查看同步时间: db.printSlaveReplicationInfo(); %%查看从服务器上的同步时间3) mongodb查看oplog分磁盘空间: db.printRepl... 阅读全文
posted @ 2014-07-14 16:29 孤独信徒 阅读(3298) 评论(0) 推荐(0) 编辑
摘要:可根据rs.status() 查询集群服务器状态.字段解释:self 这个信息出现在执行rs.status()函数的成员信息中stateStr用户描述服务器状态的字符串。有SECONDARY,PRIMARY,RECOVERING等uptime 从成员可到达一直到现在经历的时间,单位是秒。optime... 阅读全文
posted @ 2014-05-27 20:48 孤独信徒 阅读(4373) 评论(0) 推荐(0) 编辑
摘要:默认每个连接数占用10M内存ulimit -a 查看stack sizeMongoDB服务器内存要满足 connection overhead + data size + index size即连接数开销+热点数据+索引连接数太多的问题:如果在日志中遇到类似如下的错误信息:"too many ope... 阅读全文
posted @ 2014-05-23 18:22 孤独信徒 阅读(21739) 评论(1) 推荐(0) 编辑
摘要:原文地址:http://blog.nosqlfan.com/html/3548.html1.MongoDB是什么MongoDB介绍PPT分享MongoDB GridFS介绍PPT两则初识 MongoDB GridFSMongoDB GridFS 介绍一个NoSQL与MongoDB的介绍PPTMong... 阅读全文
posted @ 2014-05-23 01:05 孤独信徒 阅读(401) 评论(0) 推荐(0) 编辑
摘要:最近阅读了>,发现这本书比之前的第一版好,很多地方讲解很详细.下面就翻译下谈下这个文件。首先,启动shell的时候,mongorc.js文件会被加载自动运行,如果某些脚本会频繁加载,则把它添加在这个文件里面是个好办法。若想在启动shell的时候,显示一句欢迎语,则在文件中添加脚本即可.1 var... 阅读全文
posted @ 2014-05-22 20:22 孤独信徒 阅读(2942) 评论(2) 推荐(0) 编辑
摘要:开启 Profiling 功能,对慢查询进行优化:mongodb可以通过profile来监控数据,进行优化。查看当前是否开启profile功能用命令db.getProfilingLevel() 返回level等级,值为0|1|2,分别代表意思:0代表关闭,1代表记录慢命令,2代表全部db.setPr... 阅读全文
posted @ 2014-05-19 15:35 孤独信徒 阅读(4938) 评论(0) 推荐(1) 编辑
摘要:mongotop也是mongodb-win32-x86_64-2.2.1\bin下的一个内置工具,mongotop提供了一个方法,用来跟踪一个MongoDB的实例,查看哪些大量的时间花费在读取和写入数据。 mongotop提供每个集合的水平的统计数据。默认情况下,mongotop返回值的每一秒。用法... 阅读全文
posted @ 2014-05-19 11:37 孤独信徒 阅读(494) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示