MapReduce和online实时访问共存的一种架构——MongoDB

原创 2011年01月14日 10:18:00

     这两天阅读有关MongoDB的技术文章,也一直在思考一个问题。使用MongoDB的MapReduce在做数据的统计运算时,如何不影响MongoDB提供的实时访问服务。结合HBase的使用经验,谈谈自己的体会。

     这段时间,我一直思考并打算使用MongoDB替换MySQL,存储社区的相关数据,提供实时的数据查询服务。除此之外,MongoDB还支持MapReduce计算模型和GridFS分布式文件系统。那么就问自己:除了让MongoDB提供实时的数据查询服务,能不能同时担当数据的统计、分析工作,这是MapReduce的强项。

     在淘宝做产品搜的项目的时候(hbase),由于其他原因,ops当时临时拼凑了45台服务器,搭建产品搜的离线运算集群。这45台机器和淘宝的主搜索(宝贝搜索)在一个机房内,并且分散在不同交换机下,导致在做运算的时候,挤占了大量带宽,致使主搜索丢弃了大量用户请求。MongoDB同时担当两种角色,服务器的网络拓扑结构就更显得重要。

     假设存在MongoDB里的数据可以有3份拷贝,那么我们可以让两份数据放在一个机柜(机柜A)下面,第三份数据放在另一个机柜(机柜B)下,这样机柜B也有一份完整的数据。master优先选择机柜A的两份数据,机柜A提供实时数据访问服务,机柜B提供MapReduce数据统计、分析服务。这样两边的网络流量就互不影响了。

     这样的架构还有一个好处,就是当一个机柜坏掉的时候,还有另一个机柜有完整的数据。

     这是一个基本模型,多个机柜的情况下,可以按此逻辑扩展。

那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。

那位帮忙提供一个java mongodb多个collection进行mapreduce的操作。代码下载地址:http://www.zuidaima.com/share/1550463227890688...
  • yaerfeng
  • yaerfeng
  • 2014年06月22日 20:03
  • 1651

MongoDB与Hadoop结合之使用MapReduce官方实例

Hadoop 是一个开源的分布式的并行计算系统,其Map/Reduce 运算功能被广泛地应用在数据分析领域。mongo-hadoop 是一个将MongoDB 与Hadoop 相整合的开源工具。...
  • liuguangrong
  • liuguangrong
  • 2016年09月14日 11:12
  • 1565

mongo数据库 mapreduce 与 group 效率比较

参考: http://www.oecp.cn/hi/yongtree/blog/2001 http://www.360doc.com/content/11/0517/07/2660674_1173...
  • shuzui1985
  • shuzui1985
  • 2012年12月22日 22:53
  • 2007

MongoDB中group() mapReduce() aggregate()之比较

对于SQL而言,如果从users表里查询每个team所有成员的number,查询语句如下: SELECT team, no FROM users GROUP BY team ...
  • huntzw
  • huntzw
  • 2013年03月13日 19:26
  • 8200

MongoDB MapReduce 使用(一)

MongoDB 聚合操作 之 MapReduce的详细使用说明!
  • Crazy__Programmer
  • Crazy__Programmer
  • 2013年11月15日 16:30
  • 10969

MongoDB mapReduce使用

转载自:http://blog.csdn.net/qqiabc521/article/details/6330783 MongoDB的MapReduce相当于Mysql中的group使用MapRed...
  • guoqianqian5812
  • guoqianqian5812
  • 2016年10月11日 10:07
  • 2514

Mongodb3.0 java MapReduce实例

String mapFunction2 = "function() {  "+                       " var key = this.userid;  "+        ...
  • R28_11
  • R28_11
  • 2015年11月26日 18:53
  • 915

java操作mongodb mapreduce

最近有一个需求:需要通过mongodb某一个字段来分组统计其它几个字段的数量,因为这是要更新线上千万以上的数据量,所以需要同时更新到mysql表中,而尽量不让延迟:代码如下: package com...
  • jiangfullll
  • jiangfullll
  • 2013年10月29日 10:12
  • 4036

MongoDB MapReduce(转)

MongoDB MapReduce(转) 博客分类: NoSql   MapReduce MapReduce是一种计算模型,简单的说就是将大批量的工作(数据)分解(MAP)执行,然后再将结果合并...
  • strawbingo
  • strawbingo
  • 2015年07月30日 10:36
  • 815

MongoDB MapReduce介绍

1、概述 MongoDB中的MapReduce相当于关系数据库中的group by。
  • yyywyr
  • yyywyr
  • 2014年05月19日 22:31
  • 18598
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MapReduce和online实时访问共存的一种架构——MongoDB
举报原因:
原因补充:

(最多只允许输入30个字)