相关疑难解决方法(0)

了解Cassandra的存储开销

我一直在阅读Cassandra文档的这一部分,发现以下有点令人费解:

确定列开销:

regular_total_column_size = column_name_size + column_value_size + 15

counter - expiring_total_column_size = column_name_size + column_value_size + 23

Cassandra中的每一列都会产生15个字节的开销.由于表中的每一行都可以具有不同的列名以及不同的列数,因此会为每列存储元数据.对于计数器列和到期列,您应该再添加8个字节(总共23个字节).

我为CQL3定义的模式解释上述方法,例如:

CREATE TABLE mykeyspace.mytable(
  id text,
  report_id text,
  subset_id text,
  report_date timestamp,
  start_date timestamp,
  end_date timestamp,
  subset_descr text,
  x int,
  y double,
  z int,
  PRIMARY KEY (id, report_id, subset_id)
);
Run Code Online (Sandbox Code Playgroud)

是每一行将包含列名,如琴弦的元数据report_date,start_date,end_date,等及其类型与数据一起.但是,我不清楚表中的每一行可以有不同的列名是什么意思.这听起来不对我,因为上面的架构是完全静态的,即如果我尝试编写,Cassandra 2.0肯定会抱怨:

INSERT INTO mykeyspace.mytable (id, report_id , subset_id, x, y, z, w) 
VALUES ( 'asd','qwe','rty',100,1.234,12, 123.123);

Bad Request: Unknown identifier …
Run Code Online (Sandbox Code Playgroud)

cql cassandra cql3 cassandra-2.0

6
推荐指数
1
解决办法
3599
查看次数

标签 统计

cassandra ×1

cassandra-2.0 ×1

cql ×1

cql3 ×1