请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

在課程里,你選擇使用HBase,為甚麼不使用MongoDB?

老師,你好!
我好幾個問題想請教你。
1.
這個課程里,由於考慮到要儲存千萬多條數據,你選擇使用HBase,為甚麼不使用MongoDB?

HBase比MongoDB更加有優勢?

甚麼情況適合用HBase,甚麼情況適合用MongoDB?能舉些例子嗎?

正在回答

1回答

同学你好:

    MongoDB 是文档型数据库,更适合存储大的文本数据(JSON 格式)。而 HBase 是列式存储数据库,从结构上看,如果不考虑列族,与 MySQL 的存储形式类似。

    这里之所以使用 HBase 存储大数据,并不是考虑到 HBase 比 MongoDB、MySQL 更好,而是对 HBase 这项比较流行的技术做介绍和学习。HBase 的学习成本低和使用成本都很低,且目前已经在许多互联网公司的核心业务中使用(小米,新浪,百度等等)。

    对于在具体的业务技术选择上,如果存储的数据更方便的表达为文档(JSON 格式),且不经常修改,那么,使用 MongoDB 是更合适的;如果数据在存储结构上有行列的概念,那么,使用 HBase 是更合适的。


    欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持! 

1 回复 有任何疑惑可以回复我~
  • 提问者 devin_0003 #1
    老師:
    
    1.
    如果數據頻繁寫入到數據庫,不修改,如:記錄日誌,2秒會寫入一筆資料,但查詢速度要求要快,這樣比較適合便用MongoDB,還是HBase?
    
    2.
    老師,我還是不太了解,甚麼時候應該選擇MongoDB,甚麼時候應該選擇HBase,你能舉幾個實際例子嗎?
    回复 有任何疑惑可以回复我~ 2019-02-07 22:44:25
  • 张勤一 回复 提问者 devin_0003 #2
    第一个问题:频繁写入不做修改的话,MongoDB 和 HBase 都是适合的。但是,HBase 更适合存储行列式的数据,对于记录日志的话,由于格式不固定,最好是使用 MongoDB 做半结构化存储。
    
    第二个问题:简单的说,MongoDB 中存储的数据就是 JSON 格式的,所以,它适合存储 CMS 系统数据、API 结果缓存(返回给客户端的 JSON 数据)等等;HBase 的话,与 MySQL 是很相似的,比如,用户聊天系统数据(米聊),卡包优惠券等等。HBase 作为大数据存储开源解决方案,是对 MySQL 等关系型数据库的扩展。所以,当你的数据适合存储在 MySQL 的时候,就可以考虑划分为类(列族),将各个列存储到 HBase 中。
    回复 有任何疑惑可以回复我~ 2019-02-07 23:11:32
  • 提问者 devin_0003 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2019-02-08 09:58:55
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信