Scylla DB:空表上的SELECT(*)超时

时间:2019-11-28 15:23:34

标签: cassandra scylla

我有一个表,该表曾经有很多数据,但是由于ttl很久以前,这些数据就消失了。

但是,当我运行诸如SELECT * FROM my_table LIMIT 10SELECT count(*) FROM my_table之类的查询时,其超时时间为数秒。

当我使用spark-cassandra-connector(内部通过令牌范围查询表)读取数据时,实际上需要花费几分钟时间才能获得0条记录。

我怀疑压缩存在问题,并且逻辑删除没有删除,但是表数据目录看起来并不大:

  

/ var / lib / scylla $ sudo ls -la

     

/ data / scylla / data / my_space / my_table-75f8388035c211e9bc85000000000011

     

总2604 drwx ------ 4 scylla scylla 8192 Nov 27 15:55。

     

drwx ------ 215 scylla scylla 16384 11月15日19:00 ..

     

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

     

-rw-r--r-- 1 scylla scylla 162869 Nov 25 22:58 mc-1552402-big-Data.db

     

-rw-r--r-- 1 scylla scylla 10 Nov 25 22:58 mc-1552402-big-Digest.crc32

     

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

     

-rw-r--r-- 1 scylla scylla 72244 Nov 25 22:58 mc-1552402-big-Index.db

     

-rw-r--r-- 1 scylla scylla 54 Nov 25 22:58 mc-1552402-big-Scylla.db

     

-rw-r--r-- 1 scylla scylla 6234 Nov 25 22:58 mc-1552402-big-Statistics.db

     

-rw-r--r-- 1 scylla scylla 176 Nov 25 22:58 mc-1552402-big-Summary.db

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 22:58 mc-1552402-big-TOC.txt

     

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

     

-rw-r--r-- 1 scylla scylla 135730 Nov 25 22:38 mc-1578193-big-Data.db

     

-rw-r--r-- 1 scylla scylla 10 Nov 25 22:38 mc-1578193-big-Digest.crc32

     

-rw-r--r-- 1 scylla scylla 496 Nov 25 22:38 mc-1578193-big-Filter.db

     

-rw-r--r-- 1 scylla scylla 67215 Nov 25 22:38 mc-1578193-big-Index.db

     

-rw-r--r-- 1 scylla scylla 54 Nov 25 22:38 mc-1578193-big-Scylla.db

     

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

     

-rw-r--r-- 1 scylla scylla 148 Nov 25 22:38 mc-1578193-big-Summary.db

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 22:38 mc-1578193-big-TOC.txt

     

-rw-r--r-- 1 scylla scylla 202 Nov 25 23:12 mc-1582107-big-CompressionInfo.db

     

-rw-r--r-- 1 scylla scylla 49607 Nov 25 23:12 mc-1582107-big-Data.db

     

-rw-r--r-- 1 scylla scylla 10 Nov 25 23:12 mc-1582107-big-Digest.crc32

     

-rw-r--r-- 1 scylla scylla 176 Nov 25 23:12 mc-1582107-big-Filter.db

     

-rw-r--r-- 1 scylla scylla 24733 Nov 25 23:12 mc-1582107-big-Index.db

     

-rw-r--r-- 1 scylla scylla 54 Nov 25 23:12 mc-1582107-big-Scylla.db

     

-rw-r--r-- 1 scylla scylla 6234 Nov 25 23:12 mc-1582107-big-Statistics.db

     

-rw-r--r-- 1 scylla scylla 92 Nov 25 23:12 mc-1582107-big-Summary.db

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 23:12 mc-1582107-big-TOC.txt

     

-rw-r--r-- 1 scylla scylla 1826 Nov 25 22:39 mc-1601869-big-CompressionInfo.db

     

-rw-r--r-- 1 scylla scylla 639833 Nov 25 22:39 mc-1601869-big-Data.db

     

-rw-r--r-- 1 scylla scylla 10 Nov 25 22:39 mc-1601869-big-Digest.crc32

     

-rw-r--r-- 1 scylla scylla 2096 Nov 25 22:39 mc-1601869-big-Filter.db

     

-rw-r--r-- 1 scylla scylla 251799 Nov 25 22:39 mc-1601869-big-Index.db

     

-rw-r--r-- 1 scylla scylla 98 Nov 25 22:39 mc-1601869-big-Scylla.db

     

-rw-r--r-- 1 scylla scylla 6234 Nov 25 22:39 mc-1601869-big-Statistics.db

     

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

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 22:39 mc-1601869-big-TOC.txt

     

-rw-r--r-- 1 scylla scylla 514 Nov 25 23:40 mc-1664251-big-CompressionInfo.db

     

-rw-r--r-- 1 scylla scylla 146270 Nov 25 23:40 mc-1664251-big-Data.db

     

-rw-r--r-- 1 scylla scylla 10 Nov 25 23:40 mc-1664251-big-Digest.crc32

     

-rw-r--r-- 1 scylla scylla 496 Nov 25 23:40 mc-1664251-big-Filter.db

     

-rw-r--r-- 1 scylla scylla 69800 Nov 25 23:40 mc-1664251-big-Index.db

     

-rw-r--r-- 1 scylla scylla 54 Nov 25 23:40 mc-1664251-big-Scylla.db

     

-rw-r--r-- 1 scylla scylla 6234 Nov 25 23:40 mc-1664251-big-Statistics.db

     

-rw-r--r-- 1 scylla scylla 148 Nov 25 23:40 mc-1664251-big-Summary.db

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 23:40 mc-1664251-big-TOC.txt

     

-rw-r--r-- 1 scylla scylla 522 Nov 25 23:39 mc-1679659-big-CompressionInfo.db

     

-rw-r--r-- 1 scylla scylla 147350 Nov 25 23:39 mc-1679659-big-Data.db

     

-rw-r--r-- 1 scylla scylla 9 Nov 25 23:39 mc-1679659-big-Digest.crc32

     

-rw-r--r-- 1 scylla scylla 496 Nov 25 23:39 mc-1679659-big-Filter.db

     

-rw-r--r-- 1 scylla scylla 70504 Nov 25 23:39 mc-1679659-big-Index.db

     

-rw-r--r-- 1 scylla scylla 54 Nov 25 23:39 mc-1679659-big-Scylla.db

     

-rw-r--r-- 1 scylla scylla 6234 Nov 25 23:39 mc-1679659-big-Statistics.db

     

-rw-r--r-- 1 scylla scylla 148 Nov 25 23:39 mc-1679659-big-Summary.db

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 23:39 mc-1679659-big-TOC.txt

     

-rw-r--r-- 1 scylla scylla 562 Nov 25 23:05 mc-1742082-big-CompressionInfo.db

     

-rw-r--r-- 1 scylla scylla 181106 Nov 25 23:05 mc-1742082-big-Data.db

     

-rw-r--r-- 1 scylla scylla 8 Nov 25 23:05 mc-1742082-big-Digest.crc32

     

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

     

-rw-r--r-- 1 scylla scylla 69320 Nov 25 23:05 mc-1742082-big-Index.db

     

-rw-r--r-- 1 scylla scylla 54 Nov 25 23:05 mc-1742082-big-Scylla.db

     

-rw-r--r-- 1 scylla scylla 6234 Nov 25 23:05 mc-1742082-big-Statistics.db

     

-rw-r--r-- 1 scylla scylla 176 Nov 25 23:05 mc-1742082-big-Summary.db

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 23:05 mc-1742082-big-TOC.txt

     

-rw-r--r-- 1 scylla scylla 554 Nov 25 23:24 mc-1774537-big-CompressionInfo.db

     

-rw-r--r-- 1 scylla scylla 176335 Nov 25 23:24 mc-1774537-big-Data.db

     

-rw-r--r-- 1 scylla scylla 9 Nov 25 23:24 mc-1774537-big-Digest.crc32

     

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

     

-rw-r--r-- 1 scylla scylla 67974 Nov 25 23:24 mc-1774537-big-Index.db

     

-rw-r--r-- 1 scylla scylla 54 Nov 25 23:24 mc-1774537-big-Scylla.db

     

-rw-r--r-- 1 scylla scylla 6234 Nov 25 23:24 mc-1774537-big-Statistics.db

     

-rw-r--r-- 1 scylla scylla 176 Nov 25 23:24 mc-1774537-big-Summary.db

     

-rw-r--r-- 1 scylla scylla 102 Nov 25 23:24 mc-1774537-big-TOC.txt drwx ------ 2 scylla scylla 21年2月6日   2019分期drwx ------ 2 scylla scylla 2019年2月6日上传

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

我的表配置:

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';

可能是什么问题?

2 个答案:

答案 0 :(得分:4)

  1. 在执行这些较长的CQL时,您是否看到对CPU,IO,网络的任何负载?参见https://docs.scylladb.com/troubleshooting/report_scylla_problem/#report-a-performance-problem
  2. 您可以将nodetool cfstats https://docs.scylladb.com/operating-scylla/nodetool-commands/cfstats/中的统计信息进行比较,以检查已知的表大小和逻辑删除的平均数量,以了解您在磁盘上看到的内容。
  3. 您可以尝试为查询启用跟踪,并查看查询的执行方式。是否有正常的执行计划?哪些步骤很慢?它涉及多少个分区/节点?
  4. 这个How to get tombstone count for a cql query?的主要意思是,运行了带有跟踪的查询后,您可以看到执行该查询的总读取次数以及那里有多少个墓碑。

考虑到结果,您将可以从那里移走。

答案 1 :(得分:4)

墓碑在gc_grace_period上保持活动状态,默认情况下为10天。这是为了防止数据复活,即确保每个数据落入逻辑删除的节点都能通过修复获得该逻辑删除。

您的查询可能正在读取成千上万的墓碑,而没有找到任何要返回的内容。