Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Cassandra 行合并在compactionhistory中意味着什么?_Cassandra_Datastax Enterprise_Datastax - Fatal编程技术网

Cassandra 行合并在compactionhistory中意味着什么?

Cassandra 行合并在compactionhistory中意味着什么?,cassandra,datastax-enterprise,datastax,Cassandra,Datastax Enterprise,Datastax,当我发布 $ nodetool compactionhistory 我明白了 什么是{1:3,3:1}意思?我能找到的唯一文档是哪些状态 合并的分区数 这并不能解释为什么有多个值和冒号的含义。所以基本上它意味着{tables:rows}例如{1:3,3:1}意味着从一个sstable(1:3)中获取3行,从3(3:1)个sstable中获取1行,所有这些都是为了在压缩操作中生成一个sstable 我自己尝试过,下面是一个例子,我希望这有帮助: 创建键空间和表: cqlsh> create

当我发布

$ nodetool compactionhistory
我明白了

什么是
{1:3,3:1}
意思?
我能找到的唯一文档是哪些状态

合并的分区数


这并不能解释为什么有多个值和冒号的含义。

所以基本上它意味着{tables:rows}例如{1:3,3:1}意味着从一个sstable(1:3)中获取3行,从3(3:1)个sstable中获取1行,所有这些都是为了在压缩操作中生成一个sstable

我自己尝试过,下面是一个例子,我希望这有帮助:

创建键空间和表:

cqlsh> create keyspace space1 WITH replication = {'class': 'SimpleStrategy', 'replication_factor': 1};

cqlsh> create TABLE space1.tb1 ( key text, val1 text, primary KEY (key));

cqlsh> INSERT INTO space1.tb1 (key, val1 ) VALUES ( 'key1','111');
cqlsh> INSERT INTO space1.tb1 (key, val1 ) VALUES ( 'key2','222');
cqlsh> INSERT INTO space1.tb1 (key, val1 ) VALUES ( 'key3','333');
cqlsh> INSERT INTO space1.tb1 (key, val1 ) VALUES ( 'key4','444');
cqlsh> INSERT INTO space1.tb1 (key, val1 ) VALUES ( 'key5','555');
cqlsh> exit
现在我们刷新以创建sstable

$ nodetool flush space1
我们看到只创建了表的一个版本

$ sudo ls -lR /var/lib/cassandra/data/space1

/var/lib/cassandra/data/space1:
total 4
drwxr-xr-x. 2 cassandra cassandra 4096 Feb  3 12:51 tb1

/var/lib/cassandra/data/space1/tb1:
total 32
-rw-r--r--. 1 cassandra cassandra   43 Feb  3 12:51 space1-tb1-jb-1-CompressionInfo.db
-rw-r--r--. 1 cassandra cassandra  146 Feb  3 12:51 space1-tb1-jb-1-Data.db
-rw-r--r--. 1 cassandra cassandra   24 Feb  3 12:51 space1-tb1-jb-1-Filter.db
-rw-r--r--. 1 cassandra cassandra   90 Feb  3 12:51 space1-tb1-jb-1-Index.db
-rw-r--r--. 1 cassandra cassandra 4389 Feb  3 12:51 space1-tb1-jb-1-Statistics.db
-rw-r--r--. 1 cassandra cassandra   80 Feb  3 12:51 space1-tb1-jb-1-Summary.db
-rw-r--r--. 1 cassandra cassandra   79 Feb  3 12:51 space1-tb1-jb-1-TOC.txt
检查sstable2json,我们可以看到我们的数据

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-1-Data.db
[
{"key": "6b657935","columns": [["","",1422967847005000], ["val1","555",1422967847005000]]},
{"key": "6b657931","columns": [["","",1422967817740000], ["val1","111",1422967817740000]]},
{"key": "6b657934","columns": [["","",1422967840622000], ["val1","444",1422967840622000]]},
{"key": "6b657933","columns": [["","",1422967832341000], ["val1","333",1422967832341000]]},
{"key": "6b657932","columns": [["","",1422967825116000], ["val1","222",1422967825116000]]}
]
此时,“notetool compactionhistory”对此表没有显示任何内容,但让我们运行compact查看得到的内容(向右滚动)

现在让我们删除两行并刷新

cqlsh> delete from space1.tb1 where key='key1';
cqlsh> delete from space1.tb1 where key='key2';
cqlsh> exit

$ nodetool flush space1

$ sudo ls -l /var/lib/cassandra/data/space1/tb1/
[sudo] password for datastax: 
total 64
-rw-r--r--. 1 cassandra cassandra   43 Feb  3 12:58 space1-tb1-jb-2-CompressionInfo.db
-rw-r--r--. 1 cassandra cassandra  146 Feb  3 12:58 space1-tb1-jb-2-Data.db
-rw-r--r--. 1 cassandra cassandra  336 Feb  3 12:58 space1-tb1-jb-2-Filter.db
-rw-r--r--. 1 cassandra cassandra   90 Feb  3 12:58 space1-tb1-jb-2-Index.db
-rw-r--r--. 1 cassandra cassandra 4393 Feb  3 12:58 space1-tb1-jb-2-Statistics.db
-rw-r--r--. 1 cassandra cassandra   80 Feb  3 12:58 space1-tb1-jb-2-Summary.db
-rw-r--r--. 1 cassandra cassandra   79 Feb  3 12:58 space1-tb1-jb-2-TOC.txt
-rw-r--r--. 1 cassandra cassandra   43 Feb  3 13:02 space1-tb1-jb-3-CompressionInfo.db
-rw-r--r--. 1 cassandra cassandra   49 Feb  3 13:02 space1-tb1-jb-3-Data.db
-rw-r--r--. 1 cassandra cassandra   16 Feb  3 13:02 space1-tb1-jb-3-Filter.db
-rw-r--r--. 1 cassandra cassandra   36 Feb  3 13:02 space1-tb1-jb-3-Index.db
-rw-r--r--. 1 cassandra cassandra 4413 Feb  3 13:02 space1-tb1-jb-3-Statistics.db
-rw-r--r--. 1 cassandra cassandra   80 Feb  3 13:02 space1-tb1-jb-3-Summary.db
-rw-r--r--. 1 cassandra cassandra   79 Feb  3 13:02 space1-tb1-jb-3-TOC.txt
让我们检查一下表的内容

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-2-Data.db
[
{"key": "6b657935","columns": [["","",1422967847005000], ["val1","555",1422967847005000]]},
{"key": "6b657931","columns": [["","",1422967817740000], ["val1","111",1422967817740000]]},
{"key": "6b657934","columns": [["","",1422967840622000], ["val1","444",1422967840622000]]},
{"key": "6b657933","columns": [["","",1422967832341000], ["val1","333",1422967832341000]]},
{"key": "6b657932","columns": [["","",1422967825116000], ["val1","222",1422967825116000]]}
]

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-3-Data.db
[
{"key": "6b657931","metadata": {"deletionInfo": {"markedForDeleteAt":1422968551313000,"localDeletionTime":1422968551}},"columns": []},
{"key": "6b657932","metadata": {"deletionInfo": {"markedForDeleteAt":1422968553322000,"localDeletionTime":1422968553}},"columns": []}
]
现在让我们来压缩

$ nodetool compact space1
现在只有一家像预期的那样稳定

$ sudo ls -l /var/lib/cassandra/data/space1/tb1/
total 32
-rw-r--r--. 1 cassandra cassandra   43 Feb  3 13:05 space1-tb1-jb-4-CompressionInfo.db
-rw-r--r--. 1 cassandra cassandra  133 Feb  3 13:05 space1-tb1-jb-4-Data.db
-rw-r--r--. 1 cassandra cassandra  656 Feb  3 13:05 space1-tb1-jb-4-Filter.db
-rw-r--r--. 1 cassandra cassandra   90 Feb  3 13:05 space1-tb1-jb-4-Index.db
-rw-r--r--. 1 cassandra cassandra 4429 Feb  3 13:05 space1-tb1-jb-4-Statistics.db
-rw-r--r--. 1 cassandra cassandra   80 Feb  3 13:05 space1-tb1-jb-4-Summary.db
-rw-r--r--. 1 cassandra cassandra   79 Feb  3 13:05 space1-tb1-jb-4-TOC.txt
现在让我们检查一下新马厩里的东西,我们可以看到墓碑

$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-4-Data.db
[
{"key": "6b657935","columns": [["","",1422967847005000], ["val1","555",1422967847005000]]},
{"key": "6b657931","metadata": {"deletionInfo": {"markedForDeleteAt":1422968551313000,"localDeletionTime":1422968551}},"columns": []},
{"key": "6b657934","columns": [["","",1422967840622000], ["val1","444",1422967840622000]]},
{"key": "6b657933","columns": [["","",1422967832341000], ["val1","333",1422967832341000]]},
{"key": "6b657932","metadata": {"deletionInfo": {"markedForDeleteAt":1422968553322000,"localDeletionTime":1422968553}},"columns": []}
]
最后,让我们检查压缩历史(向右滚动)


哇,这是一个精彩的答案!完全同意。谢谢
$ sudo ls -l /var/lib/cassandra/data/space1/tb1/
total 32
-rw-r--r--. 1 cassandra cassandra   43 Feb  3 13:05 space1-tb1-jb-4-CompressionInfo.db
-rw-r--r--. 1 cassandra cassandra  133 Feb  3 13:05 space1-tb1-jb-4-Data.db
-rw-r--r--. 1 cassandra cassandra  656 Feb  3 13:05 space1-tb1-jb-4-Filter.db
-rw-r--r--. 1 cassandra cassandra   90 Feb  3 13:05 space1-tb1-jb-4-Index.db
-rw-r--r--. 1 cassandra cassandra 4429 Feb  3 13:05 space1-tb1-jb-4-Statistics.db
-rw-r--r--. 1 cassandra cassandra   80 Feb  3 13:05 space1-tb1-jb-4-Summary.db
-rw-r--r--. 1 cassandra cassandra   79 Feb  3 13:05 space1-tb1-jb-4-TOC.txt
$ sudo -u cassandra /usr/bin/sstable2json /var/lib/cassandra/data/space1/tb1/space1-tb1-jb-4-Data.db
[
{"key": "6b657935","columns": [["","",1422967847005000], ["val1","555",1422967847005000]]},
{"key": "6b657931","metadata": {"deletionInfo": {"markedForDeleteAt":1422968551313000,"localDeletionTime":1422968551}},"columns": []},
{"key": "6b657934","columns": [["","",1422967840622000], ["val1","444",1422967840622000]]},
{"key": "6b657933","columns": [["","",1422967832341000], ["val1","333",1422967832341000]]},
{"key": "6b657932","metadata": {"deletionInfo": {"markedForDeleteAt":1422968553322000,"localDeletionTime":1422968553}},"columns": []}
]
$ nodetool compactionhistory | awk 'NR == 2 || /space1/'
id                                       keyspace_name      columnfamily_name            compacted_at              bytes_in       bytes_out      rows_merged
5725f890-aba4-11e4-9f73-351725b0ac5b     space1             tb1                          1422968305305             146            146            {1:5}
46112600-aba5-11e4-9f73-351725b0ac5b     space1             tb1                          1422968706144             195            133            {1:3, 2:2}