锡拉数据库:空表上的SELECT(*)超时



我有一个表,过去有很多数据,但这些数据很久以前就因为ttl而消失了。

但当我运行诸如SELECT * FROM my_table LIMIT 10SELECT count(*) FROM my_table之类的查询时,几秒钟的超时时间就用完了。

当我使用spark-cassandra连接器(它在内部按令牌范围查询表)读取数据时,实际上需要几分钟才能获得0个条目。

我怀疑压缩有问题,tombstone没有被删除,但表数据目录看起来并不大:

/var/lib/scylla$sudo ls-la

/data/scyla/data/my_space/my_table-75f8388035c211e9bc8500000011

总计2604 drwx------4"锡拉"锡拉8192"11月27日15:55。

drwx-----215"锡拉"11月15日19:00。。

-rw-r--r-1"锡拉"锡拉538 11月25日22:58 mc-1552402-big-CompressionInfo.db

-rw-r-r-1锡拉锡拉162869 11月25日22:58 mc-1552402-big-Data.db

-rw-r--r-1"锡拉"锡拉10"11月25日22:58 mc-1552402-big-Digest.crc32

-rw-r-r-1"锡拉"656 11月25日22:58 mc-1552402-big-Filter.db

-rw-r-r-1"锡拉"锡拉72244 11月25日22:58 mc-1552402-big-Index.db

-rw-r-r-1"锡拉"锡拉54"11月25日22:58 mc-1552402-big-cylla.db

-rw-r--r-1"锡拉"锡拉6234 11月25日22:58 mc-1552402-big-Statistics.db

-rw-r-r-1"锡拉"锡拉176"11月25日22:58 mc-1552402-big-Summary.db

-rw-r-r-1"锡拉"锡拉102"11月25日22:58 mc-1552402-big-TOC.txt

-rw-r-r-1"锡拉"锡拉474"11月25日22:38 mc-1578193-big-CompressionInfo.db

-rw-r-r-1"锡拉"135730 11月25日22:38 mc-1578193-big-Data.db

-rw-r--r-1"锡拉"锡拉10"11月25日22:38 mc-1578193-big-Digest.crc32

-rw-r-r-1"锡拉"496 11月25日22:38 mc-1578193-big-Filter.db

-rw-r-r-1锡拉锡拉67215 11月25日22:38 mc-1578193-big-Index.db

-rw-r-r-1"锡拉"锡拉54"11月25日22:38 mc-1578193-big-cylla.db

-rw-r--r-1"锡拉"锡拉6234 11月25日22:38 mc-1578193-big-Statistics.db

-rw-r-r-1"锡拉"锡拉148"11月25日22:38 mc-1578193-big-Summary.db

-rw-r-r-1"锡拉"锡拉102"11月25日22:38 mc-1578193-big-TOC.txt

-rw-r-r-1"锡拉"锡拉202"11月25日23:12 mc-1582107-big-CompressionInfo.db

-rw-r-r-1"锡拉"11月25日23:12 mc-1582107-big-Data.db

-rw-r--r-1"锡拉"锡拉10"11月25日23:12 mc-1582107-big-Digest.crc32

-rw-r-r-1锡拉176 11月25日23:12 mc-1582107-big-Filter.db

-rw-r--r-1"锡拉"24733 11月25日23:12 mc-1582107-big-Index.db

-rw-r-r-1"锡拉"11月25日23:12 mc-1582107-big-Cylla.db

-rw-r--r-1"锡拉"锡拉6234 11月25日23:12 mc-1582107-big-Statistics.db

-rw-r-r-1"锡拉"锡拉92"11月25日23:12 mc-1582107-big-Summary.db

-rw-r-r-1"锡拉"锡拉102"11月25日23:12 mc-1582107-big-TOC.txt

-rw-r-r-1锡拉锡拉1826年11月25日22:39 mc-1601869-big-CompressionInfo.db

-rw-r-r-1锡拉锡拉639833 11月25日22:39 mc-1601869-big-Data.db

-rw-r--r-1"锡拉"锡拉10"11月25日22:39 mc-1601869-big-Digest.crc32

-rw-r-r-1"锡拉"2096年11月25日22:39 mc-1601869-big-Filter.db

-rw-r--r-1"锡拉",251799年11月25日22:39 mc-1601869-big-Index.db

-rw-r-r-1"锡拉"98年11月25日22:39 mc-1601869-big-cylla.db

-rw-r--r-1锡拉锡拉6234 11月25日22:39 mc-1601869-big-Statistics.db

-rw-r-r-1"锡拉"锡拉428 11月25日22:39 mc-1601869-big-Summary.db

-rw-r-r-1"锡拉"锡拉102"11月25日22:39 mc-1601869-big-TOC.txt

-rw-r-r-1"锡拉"锡拉514"11月25日23:40 mc-1664251-big-CompressionInfo.db

-rw-r-r-1"锡拉"146270 11月25日23:40 mc-1664251-big-Data.db

-rw-r--r-1"锡拉"锡拉10"11月25日23:40 mc-1664251-big-Digest.crc32

-rw-r-r-1"锡拉"496 11月25日23:40 mc-1664251-big-Filter.db

-rw-r-r-1"锡拉"11月25日23:40 mc-1664251-big-Index.db

-rw-r-r-1"锡拉"11月25日23:40 mc-1664251-big-Cylla.db

-rw-r--r-1"锡拉"锡拉6234 11月25日23:40 mc-1664251-big-Statistics.db

-rw-r-r-1"锡拉"锡拉148"11月25日23:40 mc-1664251-big-Summary.db

-rw-r-r-1"锡拉"锡拉102"11月25日23:40 mc-1664251-big-TOC.txt

-rw-r-r-1"锡拉"锡拉522"11月25日23:39 mc-1679659-big-CompressionInfo.db

-rw-r-r-1"锡拉"147350 11月25日23:39 mc-1679659-big-Data.db

-rw-r-r-1"锡拉"11月25日23:39 mc-1679659-big-Digest.crc32

-rw-r-r-1"锡拉"496 11月25日23:39 mc-1679659-big-Filter.db

-rw-r-r-1"锡拉"11月25日23:39 mc-1679659-big-Index.db

-rw-r-r-1"锡拉"11月25日23:39 mc-1679659-big-cylla.db

-rw-r--r-1"锡拉"锡拉6234 11月25日23:39 mc-1679659-big-Statistics.db

-rw-r-r-1"锡拉"锡拉148"11月25日23:39 mc-1679659-big-Summary.db

-rw-r-r-1"锡拉"锡拉102"11月25日23:39 mc-1679659-big-TOC.txt

-rw-r-r-1"锡拉"锡拉562"11月25日23:05 mc-1742082-big-CompressionInfo.db

-rw-r-r-1"锡拉"锡拉181106"11月25日23:05 mc-1742082-big-Data.db

-rw-r--r-1"锡拉"11月25日8日23:05 mc-1742082-big-Digest.crc32

-rw-r-r-1"锡拉"656 11月25日23:05 mc-1742082-big-Filter.db

-rw-r-r-1"锡拉"锡拉69320"11月25日23:05 mc-1742082-big-Index.db

-rw-r-r-1"锡拉"锡拉54"11月25日23:05 mc-1742082-big-Sylla.db

-rw-r--r-1"锡拉"锡拉6234 11月25日23:05 mc-1742082-big-Statistics.db

-rw-r--r-1"锡拉"锡拉176"11月25日23:05 mc-1742082-big-Summary.db

-rw-r--r-1"锡拉"锡拉102"11月25日23:05 mc-1742082-big-TOC.txt

-rw-r-r-1"锡拉"锡拉554"11月25日23:24 mc-1774537-big-CompressionInfo.db

-rw-r-r-1"锡拉"176335 11月25日23:24 mc-1774537-big-Data.db

-rw-r-r-1"锡拉"11月25日23:24 mc-1774537-big-Digest.crc32

-rw-r--r-1锡拉锡拉656 11月25日23:24 mc-1774537-big-Filter.db

-rw-r--r-1"锡拉"67974 11月25日23:24 mc-1774537-big-Index.db

-rw-r-r-1"锡拉"11月25日23:24 mc-1774537-big-Cylla.db

-rw-r--r-1"锡拉"锡拉6234 11月25日23:24 mc-1774537-big-Statistics.db

-rw-r-r-1"锡拉"锡拉176"11月25日23:24 mc-1774537-big-Summary.db

-rw-r-r-1"锡拉"11月25日23:24 mc-1774537-big-TOC.txt drwx------2"锡拉2019年2月21日上传

修改时间非常新鲜,因此可能确实发生了一些压缩。

我的表配置:

CREATE TABLE my_table (
f1 uuid,
f2 tinyint,
c boolean,
PRIMARY KEY (f1, f2)
) WITH CLUSTERING ORDER BY (f1 ASC)
AND bloom_filter_fp_chance = 0.01
AND caching = {'keys': 'ALL', 'rows_per_partition': 'ALL'}
AND comment = ''
AND compaction = {'class': 'SizeTieredCompactionStrategy'}
AND compression = {'sstable_compression': 'org.apache.cassandra.io.compress.LZ4Compressor'}
AND crc_check_chance = 1.0
AND dclocal_read_repair_chance = 0.1
AND default_time_to_live = 0
AND gc_grace_seconds = 864000
AND max_index_interval = 2048
AND memtable_flush_period_in_ms = 0
AND min_index_interval = 128
AND read_repair_chance = 0.0
AND speculative_retry = '99.0PERCENTILE';

可能是什么问题?

  1. 在执行这些长CQL时,您看到CPU、IO和网络负载了吗?看见https://docs.scylladb.com/troubleshooting/report_scylla_problem/#report-a性能问题
  2. 您可以比较nodetool cfstats的统计数据https://docs.scylladb.com/operating-scylla/nodetool-commands/cfstats/以检查已知的表大小和tombstone的平均值与您在磁盘上看到的内容
  3. 您可以尝试为查询启用跟踪,并查看查询的执行情况。是否有正常的执行计划?哪些步骤比较慢?它接触了多少个分区/节点
  4. 主要是这个如何获取cql查询的tombstone计数?说,运行带有跟踪的查询后,您可以看到查询总共执行了多少次读取,以及有多少个tombstone

考虑到结果,您将能够从那里移动。

墓碑在gc_grace_period期间保持活动状态,默认情况下为10天。这是为了防止数据复活,也就是说,确保每个有数据落在tombstone下的节点都能接收到该tombstone(通过修复)。

您的查询可能正在读取数千个tombstone,但没有找到任何可返回的内容。

最新更新