
mongodb
文章平均质量分 85
追寻北极
没有月亮的晚上,我们相信星光。没有路可走的时候,我们相信远方.--
展开
-
接口限流算法总结
背景曾经在一个大神的博客里看到这样一句话:在开发高并发系统时,有三把利器用来保护系统:缓存、降级和限流。那么何为限流呢?顾名思义,限流就是限制流量,就像你宽带包了1个G的流量,用完了就没了。通过限流,我们可以很好地控制系统的qps,从而达到保护系统的目的。本篇文章将会介绍一下常用的限流算法以及他们各自的特点。算法介绍计数器法计 数器法是限流算法里最简单也是最容易实现转载 2017-11-02 19:11:36 · 427 阅读 · 0 评论 -
MongoDB 聚合管道(Aggregation Pipeline)
管道概念POSIX多线程的使用方式中, 有一种很重要的方式-----流水线(亦称为“管道”)方式,“数据元素”流串行地被一组线程按顺序执行。它的使用架构可参考下图:以面向对象的思想去理解,整个流水线,可以理解为一个数据传输的管道;该管道中的每一个工作线程,可以理解为一个整个流水线的一个工作阶段stage,这些工作线程之间的合作是一环扣一环的。靠输入口越近的工作线程,是时序较早的工作阶段转载 2016-02-25 18:18:08 · 2096 阅读 · 0 评论 -
varnish / squid / nginx cache 有什么不同?
毛伟,什么都略懂一点,生活就多彩一些James Liu、谷侯、张帆 等人赞同squid是缓存服务器科班出生varnish是觉得squid性能不行,纯内存缓存服务器方案nginx cache是属于不务正业,得益于nginx强大的性能发布于 2013-03-20 2 条评论 • 作者保留权利赞同13反对,不会显示你的姓转载 2015-08-04 10:35:16 · 1184 阅读 · 0 评论 -
leveldb源码阅读分析笔记
这是本人在阅读leveldb源代码的基础上写的读书笔记,现贡献出来供大家交流之用。内容主要来源于leveldb官网的文档和阅读leveldb的源码。转载请注明出处,谢谢Leveldb的实现1. 调研目的互联网业务中大量的数据都是简单地key-value类型,查询时不需要复杂的关系数据块支持。在大量涌现出来的NoSq转载 2015-07-30 18:21:06 · 5405 阅读 · 0 评论 -
mongodb journal文件格式(不错)
如果开启journal,在dbpath选项指定的目录下会创建journal目录来存放journal文件,文件名形如j._。journal文件用于数据库异常退出时恢复数据。这里是解析journal文件的示例代码。journal文件的大小定义如下,smallfiles选项可以指定为128M。 DataLimitPerJournalFilejournal文件什么时候会被删除?数据转载 2015-07-30 17:54:49 · 1936 阅读 · 0 评论 -
mongodb持久化(不错)
先上一张图(根据此处重画),看完下面的内容应该可以理解。mongodb使用内存映射的方式来访问和修改数据库文件,内存由操作系统来管理。开启journal的情况,数据文件映射到内存2个view:private view和write view。对write view的更新会刷新到磁盘,而对private view的更新不刷新到磁盘。写操作先修改private view,然后批量提交(group转载 2015-07-30 17:53:09 · 6301 阅读 · 0 评论 -
mongodb源码分析
转:http://blog.youkuaiyun.com/yhjj0108/article/details/8252005原创 2015-07-30 17:50:22 · 1631 阅读 · 0 评论 -
mongodb源码分析
见:http://www.cnblogs.com/daizhj/category/260889.html原创 2015-07-30 16:07:27 · 685 阅读 · 0 评论 -
Mongodb亿级数据量的性能测试
进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目:(所有插入都是单线程进行,所有读取都是多线程进行)1) 普通插入性能 (插入的数据每条大约在1KB左右)2) 批量插入性能 (使用的是官方C#客户端的InsertBatch),这个测的是批量插入性能能有多少提高3) 安全插入功能 (确保插入成功,使用的是SafeMode.True开关),这个转载 2015-07-23 12:54:18 · 4046 阅读 · 0 评论 -
MongoDB 3.0 WT 引擎性能测试
大家好,我是E叔,在这给大家分享下MongoDB 3.0WT引擎下的性能测试供大家参考。本测试过程使用了2类机器。机器A(cache 12G,即内存>数据):数据:{_id:默认,Name:”Edison”,Num:随机数}使用引擎:WiredTiger索引:除了_id的索引外,Num字段也有索引。 OS:centos6.5 64Cpu:8核 E5 2407 2.4GHZRAM转载 2015-07-23 12:39:16 · 1222 阅读 · 0 评论 -
视觉中国的NoSQL之路:从MySQL到MongoDB
视觉中国网站(www.chinavisual.com)是国内最大的创意人群的专业网站。2009年以前,同很多公司一样,我们的CMS和社区产品都构建于PHP+Nginx+MySQL之上;MySQL使用了Master+Master的部署方案;前端使用自己的PHP框架进行开发;Memcached作为缓存;Nginx进行Web服务和负载均衡;Gearman进行异步任务处理。在传统的基于静态内容(如文章,资转载 2015-07-23 12:13:23 · 773 阅读 · 0 评论 -
MySQL和MongoDB的性能测试
软硬件环境MySQL版本:5.1.50,驱动版本:5.1.6(最新的5.1.13有很多杂七杂八的问题)MongoDB版本:1.6.2,驱动版本:2.1操作系统:Windows XP SP3(这个影响应该不大)CPU:Intel Core2 E6550 2.33G内存:2G(足够了) MySQL启动参数:bin\mysqld --no-defaults --console转载 2015-07-23 10:25:37 · 2017 阅读 · 0 评论 -
Mysql及MongoDB并发测试对比
我在前面的文章内说过,准备做一个MongoDB与Mysql的并发对比测试,经过近一周的测试,已经完成,结果如下:MongoDB与Mysql的并发对比测试曲线图:我们大致总结一下:通过数据和图表可以看到,在并发测试下,MongoDB对Mysql的优势没有在单用户那么大.了(可参考本空间前面的测试文章)。Mongodb的insert及update性能大约是Mysql的2转载 2015-07-23 10:25:01 · 2760 阅读 · 0 评论 -
MongoDB和MySQL性能测试及其结果分析2010
编者用四组数据的查询和插入操作说明MongoDB、HandlerSocket和MySQL在QPS、CPU、IO三种情况下性能的差异。 AD: 一、测试环境 1、测试服务器状况 共涉及4台测试服务器: 压力测试服务器 Web服务器 MongoDB服务器 MySQL服务器。 机器配置为: CPU:Int转载 2015-07-23 10:24:21 · 698 阅读 · 0 评论 -
MongoDB3.0发布--新特性
2015.3.3 在经历了改版本号和11个rc版本之后,期待已久的Mongodb3.0.0终于发布,举群欢腾,下面我们就来看一下这个跳票版本主要有哪些改进。一、插件式存储引擎API MongoDB向MySQL看齐,开发了插件式存储引擎API,为第三方的存储引擎厂商加入Mongodb提供了方便。已经支持和即将支持的一些存储引擎:MMAP v1 默认存储引擎Wired转载 2015-07-20 12:40:06 · 589 阅读 · 0 评论 -
Mongodb持久化--journal探究(一)
Mongodb在1.8版本之后开始支持journal,就是我们常说的redo log,用于故障恢复和持久化。 一、启动 启动journal功能使用mongod --journal选项,也可以关闭--nojournal,在2.0之后的版本,journal都是默认打开的,以确保数据安全。在version 由于Mongodb会事先初始化journal空间,而且在转载 2015-07-20 10:57:06 · 2937 阅读 · 0 评论 -
mongodb 持久化
当系统启动时,mongodb会将数据文件映射到一块内存区域,称之为Shared view,在不开启journal的系统中,数据直接写入shared view,然后返回,系统每60s刷新这块内存到磁盘,这样,如果断电或down机,就会丢失很多内存中未持久化的数据。当系统开启了journal功能,系统会再映射一块内存区域供journal使用,称之为private view,mongodb默认每转载 2015-07-20 10:54:46 · 1171 阅读 · 0 评论 -
Redis作者:深度剖析Redis持久化
Redis是一种面向“key-value”类型数据的分布式NoSQL数据库系统,具有高性能、持久存储、适应高并发应用场景等优势。它虽然起步较晚,但发展却十分迅速。 近日,Redis的作者在博客中写到,他看到的所有针对Redis的讨论中,对Redis持久化的误解是最大的,于是他写了一篇长文来对Redis的持久化进行了系统性的论述。文章主要包含三个方面:Redis持久化是如何工作的、这一性能是转载 2015-07-14 14:11:28 · 417 阅读 · 0 评论 -
MongoDB最佳实践
将MongoDB加入到我们的服务支持列表中,是整个团队年初工作计划中的首要任务。但我们感觉如果先添加一项对NoSQL存储的支持,而不是先升级已支持的关系型数据库,可能对用户不太好,毕竟目前的用户都使用关系型数据库。 所以我们决定将引入MongoDB这项工作放到升级MySQL和PostgreSQL之后来做。到目前为止,MySQL 5.5的Beta版已在进行中,而PostgreSQL的9转载 2015-07-14 12:46:42 · 450 阅读 · 0 评论 -
从关系型数据库到非关系型数据库
1. 关系型数据库关系型数据库,是指采用了关系模型来组织数据的数据库。关系模型是在1970年由IBM的研究员E.F.Codd博士首先提出的,在之后的几十年中,关系模型的概念得到了充分的发展并逐渐成为主流数据库结构的主流模型。简单来说,关系模型指的就是二维表格模型,而一个关系型数据库就是由二维表及其之间的联系所组成的一个数据组织。关系模型中常用的概念:关系:可以理解为一张二维转载 2015-07-10 18:00:10 · 541 阅读 · 0 评论 -
最近在纠结,到底用 MongoDB 还是 MySQL
参考:https://ruby-china.org/topics/15961转载 2015-07-10 17:59:06 · 698 阅读 · 0 评论 -
MongoDB 使用的一些经验(优秀)
这是一篇关于 MongoDB 使用经验的一篇文章,MongoDB 相对于 MySQL 简单很多,关于 MySQL 的调优可以看另一篇博文: MYSQL 调优和使用必读。MongoDB 的单进程,多线程模型充分利用 MongoDB 的 oplogMongoDB 的 MMAP 内存模型MongoDB 的索引MongoDB 需要注意的几点对线上库的批量操作要控制频率实时将数据同步到关转载 2015-07-10 17:57:11 · 4519 阅读 · 0 评论 -
mongdb性能优化收集
一、数据库最大连接数问题当你在后台日志中,发现大量“connection refused because too many open connections: 819”信息时,一般跟你没有设置合适的最大连接数值有关。默认情况下,在LINUX系统中,MONGODB默认连接数为819,你可以适当调大这个值,但注意这个值不是无限大,最多可设置成20000, 参见MONGODB的官方说明。转载 2015-07-10 17:40:58 · 733 阅读 · 0 评论 -
MongoDB数据库的备份,恢复与迁移,回滚 (优秀)
MongoDB数据库的备份,恢复与迁移,回滚备份与恢复在创建MongoDB服务的时候,通过--dbpath指定目录就是存放mongdb数据库文件目录,我们可以通过复制这些文件实现数据库的冷备,但是这种方式不太安全。因此在冷备前,要关闭服务器,这个在第一节中介绍过平滑关闭server的命令。>use admin >db.shutdownServer() 或者可以通过fs转载 2015-07-10 17:40:15 · 4681 阅读 · 0 评论 -
MongoDB数据备份与恢复
备份:mongodump mongodump --help#命令帮助mongodump -h 192.168.0.1 -u "mydbuser" -p "123" -d mydb -o d:\mydb#备份192.168.0.1上的mydb库到本地的 d:\mydb 目录,如果mongod服务启用了认证,则必须使用用户名密码进行谁#注意此处的认证用转载 2015-07-10 17:30:41 · 504 阅读 · 0 评论 -
MongoDB与RDBMS的比较与使用场景
MongoDB与RDBMS的比较与使用场景不要简单的拿MongoDB与其它的RDBMS进行性能读写的场景比较,如mysql中的一个单表带索引的查询,与将这些数据放到mongoDB中,来比较谁的查询效率会更高,这种比较是没有意义的,就像飞机、轮船,汽车和自行车比较谁更快一样,如果是在很短的路程范围之内,是无法比较的,并且他们各自有各自的应用场景,在各处的应用场景中都能够发挥出很好的性能。Mong转载 2015-07-10 17:27:32 · 1145 阅读 · 0 评论 -
mongobackup mongodb的增量备份恢复工具
mongodb数据量变大后,备份数据就会成为头疼的问题了,备份耗时会越来越长了。下面介绍一款mongodb增量备份与恢复工具mongobackup。1. 介绍mongobackup是用于复制集的增量备份与恢复工具。在恢复时,需要结合全量备份与恢复使用。参见:http://pan.baidu.com/s/1u1vwu#dir2. 增量备份2.1 全量备份?转载 2015-07-10 17:26:38 · 1806 阅读 · 0 评论 -
mongodb不停机备份
一、备份1.锁定数据库:use admindb.runCommand({fsync:1,lock:1}){“info” : “now locked against writes, use db.fsyncUnlock() to unlock”,“seeAlso” : “http://www.mongodb.org/display/DOCS/fsync+Command”,转载 2015-07-10 17:25:32 · 1626 阅读 · 1 评论 -
mongodb备份与恢复(下)—ttlsa教程系列之mongodb(九)
一. 适用于mongodb任何架构(standalon、replic set、sharding)备份脚本需要安装perl的MongoDB模块,安装方法参见:使用cpanm安装perl相关模块 http://www.ttlsa.com/html/2030.html 。代码这东西,仁者见仁智者见智,一分价钱一分货,所以对于优秀的程序员不要抠门。对语言的熟练度高,编程经验丰富的程序员,写出来的代码,转载 2015-07-10 17:22:04 · 563 阅读 · 0 评论 -
MongoDB oplog 深入剖析
MongoDB 的Replication是通过一个日志来存储写操作的,这个日志就叫做oplog。在默认情况下,oplog分配的是5%的空闲磁盘空间。通常而言,这是一种合理的设置。可以通过mongod --oplogSize来改变oplog的日志大小。oplog是capped collection,因为oplog的特点(不能太多把磁盘填满了,固定大小)需要,MongoDB才发明了capped转载 2015-07-10 17:18:45 · 2184 阅读 · 0 评论 -
使用Node.js + MongoDB实现一个简单的日志分析系统
在最近的项目中,为了便于分析把项目的日志都存成了JSON格式。之前日志直接存在了文件中,而MongoDB适时闯入了我的视线,于是就把log存进了MongoDB中。log只存起来是没有意义的,最关键的是要从日志中发现业务的趋势、系统的性能漏洞等。之前有一个用Java写的分析模块,运行在Tomcat下。实现相当的重量级,添加一个新指标的流程也比较繁琐,而且由于NFS的原因还导致分析失败。一直想改写,最转载 2015-07-10 17:05:31 · 864 阅读 · 0 评论 -
MongoDB数据库优化:Mongo Database Profiler
在MySQL中,慢查询日志是经常作为我们优化数据库的依据,那在MongoDB中是否有类似的功能呢?答案是肯定的,那就是Mongo Database Profiler.不仅有,而且还有一些比MySQL的Slow Query Log更详细的信息。它就是我们这篇文章的主题。 开启 Profiling 功能 有两种方式可以控制 Profiling 的开关和级别,第一种是直接在启动参数里直接进行转载 2015-06-29 15:26:02 · 933 阅读 · 0 评论 -
mongodb性能优化
1,修改mongodb最大连接数 a,ulimit -n 20000 b,./mongod --dbpath=/var/lib/mongo --fork --logpath=/var/log/mongodb/mongod.log --master --maxConns=200002,mongostat是mongdb自带的状态检测工具[root@localhost bin]# ./mong原创 2015-06-24 17:21:59 · 3904 阅读 · 0 评论 -
MongoDB常用操作命令大全
一、数据库常用命令1、Help查看命令提示复制代码代码如下:helpdb.help();db.yourColl.help();db.youColl.find().help();rs.help();2、切换/创建数据库复制代码代码如下:use yourDB; 当创建一个集合(table)的时候会自动创建当前数据库3、查询所有数据库复制代码代转载 2015-06-24 17:18:49 · 573 阅读 · 0 评论 -
Nginx搭建图片服务器
Nginx下载地址:http://nginx.org/en/download.html 本例下载的是window版本nginx-1.6.1以下是我本机操作说明:下载完后,解压,并把它放到D:\tools\nginx-1.6.1,双击nginx.exe即可运行nginx。可通http://127.0.0.1访问到nginx欢迎界面,如下 也可在cmd中通过命令进行启停启动ng转载 2015-06-24 17:17:07 · 2680 阅读 · 0 评论 -
山寨技术下的网站图片服务器(NGINX)
网站数据存储需要做好前期的规划,不然数据量上来以后无论是管理还是性能上都带来很多问题,对于需要存储大量文件、图片的网站来说是个重点的话题,通常网页文字内容和网页图片内容 所占用的存储空间相比较的话,显然是图片存储占用的空间要远远超过网站文字内容所需要存储的空间,从另外一个角度上来看访问图片所占用的网络带宽要远远超过文字内容所占用的带宽。在系统运行上的瓶颈对于互联网用户来说往往不是落在系统内部计转载 2015-06-24 17:12:47 · 667 阅读 · 0 评论 -
Linux日志文件系统及性能分析
日志文件系统可以在系统发生断电或者其它系统故障时保证整体数据的完整性,Linux是目前支持日志文件系统最多的操作系统之一,本文重点研究了Linux常用的日志文件系统:EXT3、ReiserFS、XFS和JFS日志技术,并采用标准的测试工具PostMark和Bonnie++对它们进行了测试,给出了详细的性能分析,对Linux服务器应用具有重要的参考价值。0 评论:文江 张转载 2015-06-24 17:10:11 · 890 阅读 · 0 评论 -
图片路径处理
参照:http://segmentfault.com/q/1010000000403769原创 2015-06-24 17:08:58 · 636 阅读 · 0 评论 -
文件存储的选择
谭明智 2013-5-30 8:41:45 为啥不使用成熟的文件系统呢,还可以更方便的管理图片,图片多了,还可以分布式部署,对前端调用没有任何的影响。很多文件系统还可以追加其他信息,保存图片的时候可以将一些元数据保存起来,说不定以后可能就用到了呢。我们利用文件系统做的文件存储,又增加了一个管理端,能对图片进行修改和删除,同时能对图片进行二次组织,从而在未来可能会衍生出其他的产品,比如图转载 2015-06-24 17:06:52 · 861 阅读 · 0 评论 -
电子商务文件存储及读取服务的设计和开发思路
商品图片,平均200-500K,说大不大,说小不小,但量大且细碎,通常通过页面上传,全部保存在文件里,管理和索引都很慢,几乎无法备份,读取也很慢。传统的基于磁盘存储的缺陷:1、 图片存储和应用程序在一个服务器上,图片的读取占用大量的磁盘IO,在访问量高的时候,图片读取和应用程序相互影响。特别互联网环境下的文件多以几K,几十K的小文件为主,磁盘寻址和读取,缓存命中率都比较低。2、 当规模转载 2015-06-24 17:04:07 · 722 阅读 · 0 评论