mongodb数据库
文章平均质量分 69
小瑾
这个作者很懒,什么都没留下…
展开
-
Mongodb锁机制
Mongodb锁机制Mongodb使用读写锁来允许很多用户同时去读一个资源,比如数据库或者集合。读采用的是共享锁,写采用的是排它锁。对于大部分的读写操作,WiredTiger使用的都是乐观锁,在全局、数据库、集合级别,WiredTiger使用的是意向锁。当引擎探测到两个操作之间发生了冲突,将会产生一个写冲突,mongodb将会重新执行操作。只有如删除集合等操作需要排它锁。查看lock情况如果查看在M翻译 2017-03-10 10:03:15 · 21004 阅读 · 0 评论 -
mongodb_导入导出数据
Mongodb 导入导出数据 Mongodb的数据导入导出,可以使用两种方式:1.mongoexport,mongoimport这是一种导成json格式的方式。Json可以导入多种数据库,也可以在mongodb的不同版本之间进行操作 mongoexport 可以导成json及csv格式,但是csv格式必须使用-f 来表明需要导出的字段,如果是一个比较大的集合,那么需要指明每一个字段,针对原创 2017-02-12 10:30:35 · 5380 阅读 · 0 评论 -
Mongodb -副本集与读写分离(一)
Mongodb 副本集深入(一)采用读写分离技术可以减轻主库的压力,使主库提供写操作,从库提供读操作。如果所有的操作都放在主库中,那么当大量的读操作,将会锁住数据库。很多架构采用的是一主多从的方式。副本集在某种程度上可以支持读写分离,其优势为:1、 在实际生产环境中,一个Mongod风险会很高,在某段时间内,数据库发生了奔溃,会有一段时间内数据库不可用。硬件出原创 2017-04-18 10:08:25 · 6827 阅读 · 0 评论 -
mongodb --平衡器
Mongodb 平衡器 1. 概念 均衡器会周期的检查分片是否存在不平衡,每隔几秒,mongos就会尝试成为平衡器,s会对整个集群加锁,以防止配置服务器对集群进行修改。均衡并不会影响Mongos的正常路由,使用Mongos的客户端不会受到影响.当Mongos成为均衡器之后,判断各个分片中使用块的数量,不关心数据量的大小。只有在分片数量不对称原创 2017-04-18 19:04:08 · 2209 阅读 · 1 评论 -
Mongodb movePrimary
move Primary首先根据上一篇来短暂的回忆一下平衡器。Mongodb会开启一个线程balance专门负责数据的平衡工作,查看系统中所有的shard,发现不平衡的情况就选择将其中shard服务器的chunk迁移到其它服务器,让整个系统达到平衡Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markd原创 2017-07-11 10:24:48 · 1714 阅读 · 0 评论 -
mongodb -moveChunk
Move Chunk1. 基本概念在了解平衡之前,或许有必要好好的了解下分裂与迁移写入数据时,会先创建一个min,max的chunk,随着数据量不断增加,超过分裂阈值,就会触发chunk分裂,当各个分片的chunk分布不均衡,会触发移动过程。Balancer在工作时,会根据shardtag,集合的chunk数量,shard间的chunk数量差值来决定是否需要迁移。如果两个shardchunk数超过某原创 2017-07-11 10:59:31 · 3615 阅读 · 0 评论 -
mongodb C++ driver调用存储过程
mongodb C++driver调用存储过程 虽然存储过程调用要翻译成后台的BSON语句,但是在执行复杂的运算时还是非常有用的,不用将数据库的数据都加载到程序中,尤其是数据量大的时候,从SQL切到mongodb,一时之间还有很多的不透彻之处。存储过程的调用,顾名思义是JS代码的调用,在BSONObjbuilder中的appendCode或者appendCodeWSCope中可原创 2016-05-10 19:18:00 · 376 阅读 · 0 评论 -
Mongodb日志定时切换
Mongodb日志切割在最初设计mongodb数据库的时候,依据客户端查询来设计集合的片键及索引,最近几天突然需要查询历史数据进行分析,我们的有些集合count达到亿条以上,每个文档几百个字段。突如其来的查询分析,数据库非常的卡,尤其这几天刚刚加入一个新的分片。前天上午来看,发现主分片竟然奔溃了,至于为什么查询量大,数据库会奔溃,需要后续进行分析。遇到问题第一反应是看日志文件,拿到note原创 2017-02-22 11:34:34 · 2678 阅读 · 0 评论 -
mongodb 启动警告
Mongodb 启动警告Mongodb在启动时会发出若干的警告,今天好好看了下网上大牛们的讨论,发现这些警告很可能会是以后问题的导火索。遂,一个个慢慢解决。在没有完全进行任何处理的情况下,启动mongo,提示如下:Server has startup warnings: 2016-09-17T18:28:05.646+0800 I CONTROL [initand原创 2017-01-20 09:54:22 · 5008 阅读 · 1 评论 -
mongodb GridFS
MongoDB GridFS因为业务的原因,会存储到图片数据,以往在SQL中,都是利用文件系统来存放图片。但是文件系统存在的问题是,不可以备份,无法容灾。优势:那么使用GridFS的理由,好处具体有哪些:1)不再受文件目录下文件数目大小的限制,无论在linux还是windows中,某一个文件夹中下的文件数目是有限制的,分不同的文件系统。2)文件在访问的时候必须从磁盘中掉出整个文件以访问,如原创 2016-12-03 09:54:04 · 1805 阅读 · 1 评论 -
mongodb C++ driver CMakeList配置
mongodb C++ driver CMakeList配置最近在看Mongodb数据库,终于要用VSCode 替代CodeBlock了,用CMakelist来编译,另一个挑战啊在官网下载最新的驱动,首先安装了C driver,随后安装C++driver,一开始认为一些配置文件可要可不要,最后还是把官网上面提示的所有配置选项加入,在默认在/usr/local/lib下生原创 2016-05-10 19:15:00 · 1518 阅读 · 5 评论 -
mongodb分片
最近在测试mongodb分片,边看深入学习mongodb,边结合项目在测试,遇到部分问题,写下来作为参考。创建分片首先创建文件夹,为配置服务器、路由服务器创建配置文件,本文在本地创建3个分片: db.runCommand({addshard:”localhost:20000”}) db.runCommand({addshard:”localhost:20001”}) db.runCo原创 2016-07-14 10:56:32 · 3429 阅读 · 1 评论 -
mongodb.conf配置文件详解
摘要mongodb.conf配置文件详解启动MongoDB有2种方式,一是直接指定配置参数,二是指定配置文件。这里先介绍配置文件,启动方式如下:1.mongod --config /etc/mongodb.conf配置如下:verbose:日志信息冗余。默认false。提高内部报告标准输出或记录到logpath配置的日志文件中。要启用verbose或启用verbos转载 2016-07-14 16:57:18 · 10323 阅读 · 0 评论 -
SQL数据导入mongodb
SQLServer数据导入mongodb最近终于用上了mongodb,在面对数据如何导入的问题上,很是麻烦,主要是数据类型的不同本文采用的是Navicat(主要是用mongoVUE免费版的去导SQL失败)。首先安装Navicat.1、打开Navicat ,点击连接顺便命名连接名,然后输入SQLServer所在的Ip及需要登录的用户名及密码2、点击连接测试,测试成功后,确原创 2016-07-07 15:22:21 · 8518 阅读 · 1 评论 -
mongodb副本集
Mongodb 副本集mongodb支持副本集,通过异步复制 来达到故障转移和冗余,以保证一台服务器挂了以后数据依旧有备份。mongodb的高可用采用两种策略:1、主从复制某一个服务启动加上-master参数,另一个服务加上-slave及-source选项2、副本集 为mongodb推荐使用方式,能够实现故障自动切换。通过oplog实现数据复制,oplog是个固定原创 2016-09-16 16:58:29 · 2113 阅读 · 0 评论 -
mongodb 副本集+分片
Mongodb 副本集+分片 1.本地磁盘不足,将数据分散到其它的机器,实现大数据的存储,处理负载,->shard,2.故障恢复与冗余,读写分离->replica set本文尝试多种不同的架构:1. 副本集+分片1) 其架构图为:3台服务器,Server1作为主节点,3个分片,server2,server3作为副本集,对server1的原创 2016-09-17 18:00:07 · 7796 阅读 · 0 评论 -
mongodb固定集合、TTL集合
mongodb固定集合、TTL集合在数据量较少的情况下,或者只需要保存部分的数据,使用固定集合不失为一个比较好的选择。插入、查询的速度非常快。创建固定集合有点类似数据结构中的循坏队列,先进先出方式。满队列删除原来的元素。固定集合与普通集合有所不同,需要显示的创建,指定size,max参数。当其中某个条件满足,将会删除最先进来的元素。 db.createCollection(“test_lo原创 2016-08-17 15:27:21 · 1955 阅读 · 0 评论 -
mongodb-存储过程
mongodb 存储过程存储过程可以说是在SQL中非常的关键,突然换到mongodb,尽管有很多的优势,但是在表间的关联是的确不如从前了,JS可以说在某种程度上弥补了这一遗憾。比如函数:db.system.js.save({_id:"add",value:function(x,y){pint(x+y);}}); 调用方式:db.eval('add(3,4)')原创 2016-11-14 15:43:23 · 3669 阅读 · 0 评论 -
Mongodb 尝试去balancer
Mongodb 去平衡器从zh到hz,这真是一个大跨度,我发现mongodb在hz这个城市可能只有大企业会比较规模的使用,大部分还是mySQL,可惜,mySQL了解的并不深,心心念希望走大数据,走数据库,还是落空了,还是要走C++这条路的,至少目前是这样子的。自己的起点还是有点低了,想起之前处理的mongodb平衡化的过程最后一步,记下来,以免后续忘记了。由于我们的数据库原来的数据量问题,还有不断写原创 2017-10-10 22:24:12 · 967 阅读 · 0 评论