我正在构建一个需要大量数据处理和分析的应用程序(同时处理大量文件)。
我计划使用Hadoop(Map-reduce,Hbase(HDFS文件系统))。
同时我拥有小型数据集,如用户设置,应用程序用户列表,支付信息等,可以在任何RDMS数据库(如sql或Mongo)上轻松管理。
有些时候,它可能只有很少的聚合和分析数据,这些数据是由Hadoop计算的,但数据也不是那么大。
我的问题是我是否应该选择2个像Mysql / Mongo这样的数据库来存储小数据集和HBase用于大数据集?
或者我的HBase可以有效地完成这两项工作吗?
答案 0 :(得分:2)
My opinion you cant compare apple with banana. Hbase是模式较少的,从CAP theorem开始,CP是hbase的主要关注点。
CA用于RDBMS的位置。请看我的答案。 RDBMS具有这些属性具有模式,集中,支持连接,支持ACID,支持引用完整性。
Hbase架构较少,分布式,不支持连接,没有内置的ACID支持。
现在,您可以根据自己的要求决定选择哪一种。
希望这有帮助!