我们有一个简单的表格,如下所示:

------------------------------------------------------------------------
|   Name   | Attribute1 | Attribute2 | Attribute3 | ... | Attribute200 |
------------------------------------------------------------------------
| Name1    | Value1     | Value2     | null       | ... | Value3       |
| Name2    | null       | Value4     | null       | ... | Value5       |
| Name3    | Value6     | null       | Value7     | ... | null         |
| ...                                                                  |
------------------------------------------------------------------------

但是最多可能有数亿行/名称。
数据将每小时大约填充一次。

目标是在几秒钟内获得针对数据的交互式查询的结果。

大多数查询如下所示:
select count(*) from table
where Attribute1 = Value1 and Attribute3 = Value3 and Attribute113 = Value113;

where子句包含任意数量的属性名称-值对。

我是大数据的新手,我想知道在像上述交互式查询的数据存储(MySQL,HBase,Cassandra等)和处理引擎(Hadoop,Drill,Storm等)方面最好的选择是什么。

最佳答案

诸如Vertica(封闭源)或MonetDB(开放源-但我还没有使用过)之类的列式数据库将有效地处理您提到的查询。在50000英尺 View 中,这样做的原因是它们分别存储每个列,因此当他们需要查询数据时不会读取任何不需要的列-例如,将读取3个属性,而不会读取其他197个属性

关于hadoop - 最多200列的行的交互式查询的最佳大数据解决方案是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16026085/

10-12 17:48
查看更多