【问题标题】:Cassandra storage engine representation of data in Cassandra 2.0.XCassandra 2.0.X 中数据的 Cassandra 存储引擎表示
【发布时间】:2014-05-20 13:58:46
【问题描述】:

Cassandra CLI 在 Cassandra 3.0 中被弃用。想知道是否有可能获得宽行(动态列)的存储引擎表示,而不是关系视图。

例如,在 cassandra-cli 中执行以下命令将产生键“COEXEIGLE”,具有动态列和计数器值:

list table;

RowKey: COEXEIGLE
=> (counter=2014-04-07 18\:45\:00-0700:count, value=5)
=> (counter=2014-04-07 19\:30\:00-0700:count, value=1)
=> (counter=2014-04-07 19\:31\:00-0700:count, value=1)
=> (counter=2014-04-08 19\:31\:00-0700:count, value=2)

1 Row Returned.

虽然,使用 cqlsh,下面的 sql 语句,我们会得到传统的数据关系视图:

select * from table;

 serialId    | time                     | count
-------------+--------------------------+-------
   COEXEIGLE | 2014-04-07 18:45:00-0700 |     5
   COEXEIGLE | 2014-04-07 19:30:00-0700 |     1
   COEXEIGLE | 2014-04-07 19:31:00-0700 |     1
   COEXEIGLE | 2014-04-08 19:31:00-0700 |     2

(4 rows)

再次,好奇我们是否还能看到存储引擎表示而不是关系视图。

Cassandra 版本:

[cqlsh 4.1.1 | Cassandra 2.0.6 | CQL spec 3.1.1 | Thrift protocol 19.39.0]

【问题讨论】:

    标签: cassandra cassandra-2.0 cqlsh cassandra-cli cassandra-3.0


    【解决方案1】:

    Cassandra-Cli 实际上并没有向您显示数据的引擎表示(没有显示大量信息)。实际查看数据在磁盘上的布局方式的唯一方法是使用 sstable2json 程序。这将显示存储引擎看到的数据在磁盘上的实际表示。

    如果您真的需要查看此视图​​,我的建议是刷新一个表并使用 sstable2json 将其转换为人类可读的格式。

    【讨论】:

      【解决方案2】:

      Cassandra 3.0 将采用来自 CASSANDRA-8099 (https://issues.apache.org/jira/browse/CASSANDRA-8099) 的修改后的存储引擎,它本质上将存储本身更改为可识别 cql(cql 行/列,而不是 sstable 分区/列),因为这就是如何Cassandra 的大多数现代用户都会考虑他们的数据。

      【讨论】:

        猜你喜欢
        • 2019-01-02
        • 1970-01-01
        • 2012-08-12
        • 2014-01-03
        • 2019-07-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多