mongo
natureXin
这个作者很懒,什么都没留下…
展开
-
Mongodb亿级数据量的性能测试
进行了一下Mongodb亿级数据量的性能测试,分别测试如下几个项目:(所有插入都是单线程进行,所有读取都是多线程进行)1) 普通插入性能 (插入的数据每条大约在1KB左右)2) 批量插入性能 (使用的是官方C#客户端的InsertBatch),这个测的是批量插入性能能有多少提高3) 安全插入功能 (确保插入成功,使用的是SafeMode.True开关),这个测的是安转载 2013-05-20 10:34:27 · 1116 阅读 · 0 评论 -
MongoDB分片实战(三):性能和优化
插入、查询和更新插入:MongoDB会根据片键和conifg中的信息写入到指定的分片上。读取:以下内容摘抄自《深入学习MongoDB》关于读取:上一节故障恢复中已经有所验证。更新:如果要更新单个文档一定要在片键中使用片键(update的第一个参数)。我们现在OSSP10.bizuser(已经在_id上进行哈希分片)中插入一条记录:1. mong转载 2013-06-05 16:02:46 · 918 阅读 · 0 评论 -
查找附近的xxx 球面距离以及Geohash方案探讨
随着移动终端的普及,很多应用都基于LBS功能,附近的某某(餐馆、银行、妹纸等等)。基础数据中,一般保存了目标位置的经纬度;利用用户提供的经纬度,进行对比,从而获得是否在附近。目标:查找附近的XXX,由近到远返回结果,且结果中有与目标点的距离。针对查找附近的XXX,提出两个方案,如下:一、方案A:================================转载 2013-06-05 12:05:34 · 710 阅读 · 0 评论 -
图解 MongoDB 地理位置索引的实现原理
地理位置索引支持是MongoDB的一大亮点,这也是全球最流行的LBS服务foursquare 选择MongoDB的原因之一。我们知道,通常的数据库索引结构是B+ Tree,如何将地理位置转化为可建立B+Tree的形式,下文将为你描述。首先假设我们将需要索引的整个地图分成16×16的方格,如下图(左下角为坐标0,0 右上角为坐标16,16):单纯的[x,y]的数据是无转载 2013-06-05 10:39:03 · 573 阅读 · 0 评论 -
MongoDB分片实战(二):Sharding
分片逻辑图上节搭建的分片集群从逻辑上看如下图所示: 片:可以普通的mongod进程,也可以是副本集。但是即使一片内有多台服务器,也只能有一个主服务器,其他的服务器保存相同的数据。mongos路由进程:它路由所有请求,然后将结果聚合。它不保存存储数据或配置信息。配置服务器:存储集群的配置信息。整个分布式的集群通过mongos对客户端提供了一个透转载 2013-06-05 16:01:25 · 789 阅读 · 0 评论 -
Mysql or Mongodb LBS快速实现方案
查找附近的xxx 球面距离以及Geohash方案探讨 (http://www.wubiao.info/372)微信、陌陌 架构方案分析 (http://www.wubiao.info/401)探讨了,LBS查找附近的XXX;其中包括了,Mysql自定义存储函数方案,以及通过GeoHash、redis自建索引方案。===============================转载 2013-06-05 11:24:37 · 1188 阅读 · 0 评论 -
深入浅出Symfony2 - 结合MongoDB开发LBS应用
简介随着近几年各类移动终端的迅速普及,基于地理位置的服务(LBS)和相关应用也越来越多,而支撑这些应用的最基础技术之一,就是基于地理位置信息的处理。我所在的项目也正从事相关系统的开发,我们使用的是Symfony2+Doctrine2 ODM+MongoDB的组合。我们将这些技术要点整理成文,希望能够通过本文的介绍和案例,详细解释如何使用MongoDB进行地理位置信息的查询和处理。在转载 2013-06-05 11:11:34 · 1254 阅读 · 0 评论 -
[精华] ITPUB 索引树-mongodb 知识体系
本帖最后由 杨奇龙 于 2012-2-19 13:45 编辑MongoDB是一个“绿色”免安装直接解压(unzip)即可运行的高性能,开源,无 关系型(NoSQL)的文档型数据库,它在许多场景下可用于替代传统的关系型数据库或键(key)/值(value)存储方式。Mongo使用C++开 发,提供了以下功能: * 面向集合的存储:适合存储对象及JSON形式的数据。 *转载 2013-05-29 14:47:44 · 568 阅读 · 0 评论 -
Mongodb源码分析--Replication之主从模式--Slave
在上文中介绍了主从(master-slave)模式下的一些基本概念及master的执行流程。今天接着介绍一下从(slave)结点是如何发起请求,并通过请求获取的oplog信息来构造本地数据的。 不过开始今天的正文前,需要介绍一下mongodb在slave结点上进行数据同步时的一个大致流程: 1.当一个从结点启动时,它会对主结点进行一次彻底同步。从结点将复制主结点转载 2013-05-13 17:42:14 · 767 阅读 · 0 评论 -
Mongodb源码分析--Replication之主从模式--Master
mongodb中提供了复制(Replication)机制,通过该机制可以帮助我们很容易实现读写分离方案,并支持灾难恢复(服务器断电)等意外情况下的数据安全。 在老版本(1.6)中,Mongo提供了两种方式的复制:master-slave及replica pair模式(注:mongodb最新支持的replset复制集方式可看成是pair的升级版,它解决pair只能在两个结点间同步的转载 2013-05-13 10:35:00 · 443 阅读 · 0 评论 -
Mongodb源码分析--链接池(ConnPool)
在之前的一篇文章中,介绍了mongos的balaner的执行流程,其中在源码中的Balancer::run()方法里简单说明了为了连接到configserver,balancer通过构造ScopedDbConnection实现来链接并执行相应操作,因为当时篇幅所限,只是该链接使用池化的方式一带而过,今天就专门介绍一下mongodb中使用池化方式来管理链接对象以提升链接效率的原理。转载 2013-05-13 10:30:53 · 465 阅读 · 0 评论 -
Mongo读写分离
Mongo的主从和复制集结构提供良好的读写分离环境,Mongo的java-driver也实现了读写分离的参数,这给程序开发减少了很多工作。现在我们看一下Mongo-Java-Driver读写分离的一些机制。 MongoJavaDriver的读是通过设置ReadReference参数,顾名思义,读参照,或者读偏好。与之对应的是WriteConcern,字面意思写涉及,就是规定了写的一些参数转载 2013-05-13 10:53:45 · 736 阅读 · 0 评论 -
Mongodb源码分析--Mongos
MongoDB提供了auto-sharding 功能。因为其是auto-sharding,即mongodb通过mongos(一个自动分片模块,用于构建一个大规模的可扩展的数据库集群,这个集群可以并入动态增加的机器)自动建立一个水平扩展的数据库集群系统,将数据库分表存储在sharding的各个节点上。 一个mongodb集群包括一些shards(包括一些mongod进程),mongos转载 2013-05-12 15:47:19 · 605 阅读 · 0 评论 -
MongoDB 性能瓶颈分析
一、前情简介 半个月前,公司的MongoDB压力由于用户量暴增导致压力急剧增加,读写能力下降。 因为对于Mongos 的集群分片机制的了解和测试还不是很充分,所以开始使用最简单的办法来解决:提高配置。 众所周知,MongoDB是出了名的吃内存。当时定义出来提高MongoDB的办法很简单,插内存。 但是由于机房问题,插内存需要拔电源,导致停止产品的服务,所以经过研究后。 用我转载 2013-05-20 10:29:29 · 1734 阅读 · 0 评论 -
MongoDB分片实战(一):集群搭建
环境准备Linux环境主机OS备注192.168.32.13CentOS6.3 64位普通PC192.168.71.43CentOS6.2 64位服务器,NUMA CPU架构MongoDB版本:mongodb-linux-x86_64-2.4.1,下载地址:www.mon转载 2013-06-05 16:00:19 · 768 阅读 · 0 评论