我正在构建一个需要大量数据处理和分析的应用程序(同时处理大量文件)。
为此,我打算使用Hadoop (Map-reduce,Hbase(HDFS文件系统))。
同时,我有像用户设置,应用程序用户列表,支付信息和其他小数据集,可以很容易地管理任何RDMS数据库,如sql或Mongo。
有时它可能只有很少聚合和分析数据,这些数据是由Hadoop计算的,但数据也不是那么大。
我的问题是,我是否应该选择像Mysql/Mongo这样的2个数据库来存储小数据集,而选择HBase来存储大数据集?
或者我的HBase可以高效地完成这两项工作?
发布于 2016-06-20 21:24:26
My opinion you cant compare apple with banana. hbase是无模式的,从CAP theorem,CP是Hbase的主要关注点。
其中as CA表示RDBMS。请看我的回答。RDBMS具有以下属性:模式、集中化、支持连接、支持ACID、支持引用完整性。
因为Hbase是无模式的、分布式的,不支持joins,没有对ACID的内置支持。
现在,您可以根据您的需求决定哪个是用于什么。
希望这能有所帮助!
https://stackoverflow.com/questions/37920009
复制相似问题