采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
老師,你好! 我好幾個問題想請教你。 1. 這個課程里,由於考慮到要儲存千萬多條數據,你選擇使用HBase,為甚麼不使用MongoDB?
HBase比MongoDB更加有優勢?
甚麼情況適合用HBase,甚麼情況適合用MongoDB?能舉些例子嗎?
同学你好:
MongoDB 是文档型数据库,更适合存储大的文本数据(JSON 格式)。而 HBase 是列式存储数据库,从结构上看,如果不考虑列族,与 MySQL 的存储形式类似。
这里之所以使用 HBase 存储大数据,并不是考虑到 HBase 比 MongoDB、MySQL 更好,而是对 HBase 这项比较流行的技术做介绍和学习。HBase 的学习成本低和使用成本都很低,且目前已经在许多互联网公司的核心业务中使用(小米,新浪,百度等等)。
对于在具体的业务技术选择上,如果存储的数据更方便的表达为文档(JSON 格式),且不经常修改,那么,使用 MongoDB 是更合适的;如果数据在存储结构上有行列的概念,那么,使用 HBase 是更合适的。
欢迎来 QQ 群随时交流、讨论,也非常感谢同学的支持!
老師: 1. 如果數據頻繁寫入到數據庫,不修改,如:記錄日誌,2秒會寫入一筆資料,但查詢速度要求要快,這樣比較適合便用MongoDB,還是HBase? 2. 老師,我還是不太了解,甚麼時候應該選擇MongoDB,甚麼時候應該選擇HBase,你能舉幾個實際例子嗎?
第一个问题:频繁写入不做修改的话,MongoDB 和 HBase 都是适合的。但是,HBase 更适合存储行列式的数据,对于记录日志的话,由于格式不固定,最好是使用 MongoDB 做半结构化存储。 第二个问题:简单的说,MongoDB 中存储的数据就是 JSON 格式的,所以,它适合存储 CMS 系统数据、API 结果缓存(返回给客户端的 JSON 数据)等等;HBase 的话,与 MySQL 是很相似的,比如,用户聊天系统数据(米聊),卡包优惠券等等。HBase 作为大数据存储开源解决方案,是对 MySQL 等关系型数据库的扩展。所以,当你的数据适合存储在 MySQL 的时候,就可以考虑划分为类(列族),将各个列存储到 HBase 中。
非常感谢!
登录后可查看更多问答,登录/注册
从零到一完整搭建企业级架构的通用卡包工程,让你迈到百度T4+ 。
1.6k 1
1.0k 1
847 11
1.3k 8
905 6