我正在构建一个需要大量数据处理和分析(同时处理大量文件)的应用程序。
我计划使用hadoop(map reduce,hbase(hdfs文件系统))来实现这个。
同时,我有小数据集,如用户设置,应用程序用户列表,支付信息和其他,可以很容易地管理任何rdms数据库,如sql或mongo。
有时,hadoop计算的聚合和分析数据可能很少,但数据也不是那么大。
我的问题是,我是否应该选择mysql/mongo这样的2个数据库来存储小数据集,而选择hbase来存储大数据集?
或者我的hbase可以有效地完成这两项工作?
1条答案
按热度按时间7lrncoxx1#
我认为你不能把苹果和香蕉作比较。hbase是无模式的,从cap定理来看,cp是hbase的主要关注点。
其中as ca代表rdbms。请看我的答案。rdbms具有以下属性:具有模式、集中、支持连接、支持acid、支持引用完整性。
因为hbase是无模式的,分布式的,不支持连接,没有对acid的内置支持。
现在你可以根据你的要求决定哪一个是什么。
希望这有帮助!