1

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

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

4

2 回答 2

0

Playorm for Cassandra 为包括联接在内的 SQL 提供了不错的支持。在http://buffalosw.com/wiki/SJQL-Support/上阅读更多信息,示例参见http://buffalosw.com/wiki/Command-Line-Tool/

于 2013-04-22T12:45:20.670 回答
0

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

于 2013-04-16T19:24:32.690 回答