【发布时间】:2014-07-27 23:06:31
【问题描述】:
伙计们,
我目前已经开始阅读与 NOSQL 相关的数据库,因为我目前正在研究与数据库仓库相关的应用程序。
我有以下问题。我已经阅读了基础知识。
问题 1) 当具有相同列的数据存储在一起时,如何在面向列的数据库中检索整个原始数据?
假设我们以以下格式存储数据,因此在内部它将像这样存储在面向列的数据库中。
test|test1 一起和 5|10 一起。
键 1:{名称:测试,值:5} 键 2:{名称:test1,值:10}
那么,如果我们必须检索 key1 的数据,它是如何发生的呢? (A和B是我的猜测)
A) 如果它必须从每个列存储中分别提取数据,那将非常昂贵
B) 是否有任何索引机制来获取给定原始键的所有列的数据?
问题2)
我正在阅读一些文档,发现面向列的数据库更适合在单列上运行聚合函数,因为 I/O 会更少。
我没有在 cassandra 和 HBASE 等 NOSQL 列式存储中找到对 SUM、AVG 等聚合函数的适当支持。 (可能会有一些调整/黑客/更多代码编写如下)
How does Apache Cassandra do aggregate operations? realtime querying/aggregating millions of records - hadoop? hbase? cassandra? How to use hbase coprocessor to implement groupby?
问题 3 ) 在面向列的数据库中,连接是如何在内部进行的?
【问题讨论】:
标签: cassandra hbase nosql-aggregation nosql