对于最多200列的行的交互式查询,最佳的大数据解决方案是什么?

时间:2013-04-15 23:05:57

标签: hadoop cassandra hbase bigdata apache-storm

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

------------------------------------------------------------------------
|   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等)方面的最佳选择是什么,用于上面的交互式查询。 / p>

2 个答案:

答案 0 :(得分:0)

像Vertica(封闭源代码)或MonetDB(开源代码 - 但我还没有使用它)这样的柱状数据库将处理您有效提到的查询。在50000英尺的视图中,原因是它们分别存储每个列,因此在需要查询数据时不会读取任何不需要的列 - 对于您的示例,将读取3个属性,而其他197将不会

答案 1 :(得分:0)

Playss for Cassandra为SQL提供了不错的支持,包括Joins。请阅读http://buffalosw.com/wiki/SJQL-Support/的详情,有关示例,请参阅http://buffalosw.com/wiki/Command-Line-Tool/