深入理解mongodb和hbase区别

2023-11-13

最近公司想要做数据分析,之前我们公司用的是免费的growing IO。他们分析仅限于界面跳转的转化率,不能详细地分析业务数据。我研究了一个需要埋点的产品,搞明白他们是在每个接口的调用埋点,将用户对接口的调用行为记录下来,进行分析。由于接口众多,每个接口的数据都不同。可以充分利用hbase宽表的特性,在一行中定义一个通用的字段来标示当前行的数据类型,操作人,然后定义不同的字段来记录每一种数据。在插入数据的时候,每一行只插入当前类型和当前数据。由于hbase的宽表特性,可以容纳上百万列。可以将一家公司所有的接口访问数据都记录到一张无限大的表中,再配合辅助的用户表,就可以在各种纬度上分析用户的行为了。
分析了他们的表结构,我想用mongodb也可以做同样的事情,并且mongo比hbase好的地方在于,他入门门槛相对较低,然后在索引方面,检索的速度远比hbase那种查询要快多了。hbase只能要么按照主键范围查询,要么全表检索。为什么大的互联网公司都在推行hbase呢,这个是困扰我的地方。问了一个前腾讯员工,搞明白了两者的区别。
原因就在于写入的速度,hbase由于只维护一个主键,写入的速度要比mongodb这种要维护所有索引的数据库快多了。hbase占用两台机器能完成的事情,mongodb要占用更多的机器,每台机器按一年20000的费用,几百台下来就是一笔很大的费用。但是代价就是hbase记录下东西以后,只能事后通过全表检索或按照索引范围的方式进行整体分析,而不能对具体每个人的数据进行实时分析,更强调数据分析能力而不是实时数据查询能力,因此各有千秋吧。像用户行为分析的这种,一开始产品经理可能会具体看某一个人的数据,但是新鲜过后,只会看程序的分析结果了。因此从经济的角度出发,对于用户行为分析这种不需要实时数据的需求来说,hbase+mysql就可以用最经济的方式解决了。mongodb比较适合需要实时返回数据的大数据应用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

深入理解mongodb和hbase区别 的相关文章

随机推荐

  • 华为防火墙默认密码是什么?

    华为默认密码是什么 分享至 小王邀请您加入牛B的IT关键业务推动者社区 点击领取12G的软考 PMP资料包 特训营名额 gt gt 售前工程师系列 教你写解决方案 gt gt ld11235813 荣誉会员 Rank 12Rank 12Ra
  • 华为动态pnat配置

  • 微软宣布IE9正式版发布日期

    微软上月曾透露会在3月14日于美国德克萨斯州奥斯汀市SXSW音乐电影节上举办一个庆祝派对 从那时起就有很多猜想 我们才曾猜测微软届时会正式发布IE9 今天 微软终于不再卖关子 3月14日 也就是下周一 微软将正式发布IE9 微软证实 美国太
  • TensorFlow之双隐含层多层感知器(MLP)

    程序改自上一篇博客 使用了双隐含层 第二层隐含层初始w需要和第一层类似 否则程序正确率一直在0 1左右 修改后的程序正确率也在98 左右 coding utf 8 from tensorflow examples tutorials mni
  • 整理一些windows的bat命令及语法

    ver 在DOS窗口下显示版本信息 winver 弹出一个窗口显示版本信息 内存大小 系统版本 补丁版本 计算机名 format 盘符 FS 类型 格式化磁盘 类型 FAT FAT32 NTFS 例 Format D FS NTFS md
  • python基础系列之元组

    元组应用场景 储存多个数据 但是这些数据不可修改 我们知道列表可以储存多个数据 但是数据可增加 修改 删除 这也是元组和列表不一样的地方 如何定义一个元组 多个数据元组 t1 10 20 30 单个数据元组 t2 10 注意在定义单个数据的
  • 常量表达式函数

    我们可以在函数返回类型前加入关键字constexpr来使其成为常量表达式函数 但并非所有的函数都有资格成为常量表达式函数 事实上 常量表达式函数的要求非常严格 总结如下 函数体只有单一的return返回语句 函数必须返回值 不能是void函
  • 合并排序-递归分治

    按我的想法 简单地说 合并排序的思路就是 先递归 后排序 include
  • Java中的运算符

    1 算术运算符 基本四则运算符 1 规则比较简单 需要注意的是除法 int int 的结果还是 int 要想结果中有小数需要使用 double 类型 0 不能用来做除数 2 在Java中 表示取余 不仅可以对 int 求模 也可以对 dou
  • Tomcat Server处理一个http请求的过程

    Tomcat Server处理一个http请求的过程 假设来自客户的请求为 http localhost 8080 wsota wsota index jsp 1 请求被发送到本机端口8080 被在那里侦听的Coyote HTTP 1 1
  • 爬虫逆向实战(13)-某课网登录

    一 数据接口分析 主页地址 某课网 1 抓包 通过抓包可以发现登录接口是user login 2 判断是否有加密参数 请求参数是否加密 通过查看 载荷 模块可以发现有一个password加密参数 还有一个browser key这个可以写死不
  • C++ Pat甲级1013 Battle Over Cities (25 分)(求图的连通分量dfs)

    1013 Battle Over Cities 25 分 It is vitally important to have all the cities connected by highways in a war If a city is
  • 数字SOC设计之低功耗设计入门(六)——门级电路低功耗设计优化

    三 门级电路低功耗设计优化 1 门级电路的功耗优化综述 门级电路的功耗优化 Gate Level Power Optimization 简称GLPO 是从已经映射的门级网表开始 对设计进行功耗的优化以满足功耗的约束 同时设计保持其性能 即满
  • 【STM32篇】驱动MXL90614红外测温模块

    本次实验使用的测温模块型号GY 906 DCC模块 测距为10cm左右 一 简介 MLX90614 是一款红外非接触温度计 TO 39 金属封装里同时集成了红外感应热电堆探测器芯片和信处理专用集成芯片 由于集成了低噪声放大器 17 位模数转
  • 文件读/写操作 import pickle

    文件写 开 文件变量 open 文件路径文件名 web 存 pickle dump 待写入的变量 文件变量 关 文件变量 close 文件读 开 文件变量 open 文件路径文件名 rb 取 放内容的变量 pickle load 文件变量
  • 小程序 -- 分包

    来源 1 什么是分包 分包指的是把一个完整的小程序项目 按照需求划分为不同的子包 在构建时打包成不同的分包 用户在使用时按需进行加载 2 分包的好处 对小程序进行分包的好处主要有以下两点 可以优化小程序首次启动的下载时间 在多团队共同开发时
  • 二叉树之层次遍历(js)

    二叉树之层次遍历 输入一棵二叉树 你的任务是从上到下 从左到右的顺序输出各个结点的值 每个结点都是按照从根节点到它移动序列给出 L表示左 R表示右 在输入中 每个结点的左右括号之间没有空格 相邻节点之间用一个空格隔开 输入 11 LL 7
  • GameFi 大爆发?五款令人期待的链游

    大家好 我是晴天defi 在今年 有许多游戏公司陆续推出自家的IP大作 像是任天堂出的宝可梦 阿尔宙斯 Sony 的地平线 西域禁地 Techland 的垂死之光 2 就连那位喜欢虐待玩家的宫崎英高 也跟着推出他的全新虐待新作 艾二登 法环
  • Qt使用QGraphicsView实现滑动窗体效果 .

    源码已上传至CSDN http download csdn net source 2808505 QGraphicsView用来显示一个滚动视图区的QGraphicsScene内容 QGraphicsScene提供了QGraphicsIte
  • 深入理解mongodb和hbase区别

    最近公司想要做数据分析 之前我们公司用的是免费的growing IO 他们分析仅限于界面跳转的转化率 不能详细地分析业务数据 我研究了一个需要埋点的产品 搞明白他们是在每个接口的调用埋点 将用户对接口的调用行为记录下来 进行分析 由于接口众