在宽列存储数据库中执行查询的读取次数

时间:2019-04-28 09:50:20

标签: cassandra nosql hbase disk

我正在攻读工程学硕士。在我的工作中,我需要比较两种不同的数据存储方法中执行查询的效率: -类似关系的-行存储在磁盘上其自身属性附近,例如在pets数据库中: id,动物,体重 磁盘表示 1,狗5.5 2,猫2.5 3,马,500.0 -列状-行未存储在磁盘上其自身属性附近,磁盘上的行附近属性是同一属性属于另一行,例如在pets数据库中: 对于id属性:1、2、3 对于动物属性:狗,猫,马 重量属性:5.5、2.5、500.0

在两个模型中比较查询的最简单方法是时间,但这取决于缓冲区高速缓存设置数据库和许多其他代理。我决定计算执行查询时读取的页面。例如,执行查询需要读取多少页:

    SELECT * FROM any_table;

在关系模型中,我尝试获取有关MySQL的信息,但找不到如何读取此信息。但是,在Microsoft SQL Server中,我找到了可以提供此信息的命令:

    SET STATISTICS IO ON
    GO
    SELECT * FROM any_table;
    GO

此查询后,我获得了有关读取的信息。在列式数据库中,我遇到了问题,因为我无法以这种简单方式找到此信息。我尝试在HBase和Cassandra上执行此操作。在Web界面的HBase中,我找到了“读取请求计数”字段,但是在Google搜索中,是获取查询的次数或扫描次数,它可能与执行查询的页面读取无关。在Cassandra中,我找不到任何有用的字段。

有人知道如何在列存储数据库中获取此信息吗?我想检查任何列存储数据库上的页面读取,没有必要使用Cassandra或HBase进行。

0 个答案:

没有答案