- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我们使用的是 cassandra 2.0.17,我们有一个包含 50% 选择、40% 更新和 10% 插入(无删除)的表。
为了对此类表具有较高的读取性能,我们发现建议使用 LeveledCompactionStrategy(它应该保证 99% 的读取将从单个 SSTable 中完成)。每天运行的时候nodetool cfhistograms
我每次阅读都会看到越来越多的 SSTtables。第一天我们有 1,比我们有 1,2,3 ...
今天早上我看到了这个:
ubuntu@ip:~$ nodetool cfhistograms prodb groups | head -n 20
prodb/groups histograms
SSTables per Read
1 sstables: 27007
2 sstables: 97694
3 sstables: 95239
4 sstables: 3928
5 sstables: 14
6 sstables: 0
7 sstables: 19
CREATE TABLE groups (
...
) WITH
bloom_filter_fp_chance=0.010000 AND
caching='KEYS_ONLY' AND
comment='' AND
dclocal_read_repair_chance=0.100000 AND
gc_grace_seconds=172800 AND
index_interval=128 AND
read_repair_chance=0.000000 AND
replicate_on_write='true' AND
populate_io_cache_on_flush='false' AND
default_time_to_live=0 AND
speculative_retry='99.0PERCENTILE' AND
memtable_flush_period_in_ms=0 AND
compaction={'class': 'LeveledCompactionStrategy'} AND
compression={'sstable_compression': 'LZ4Compressor'};
最佳答案
它确实取决于用例 - 但根据经验,我通常会查看 LCS 的 90% 读取与 10% 写入比率。根据您的描述,您最多只能看到 50/50。
LCS 提出的额外压缩要求使它非常需要 io。很可能压缩被备份并且您的级别不平衡。最简单的判断方法是为相关表运行 nodetool cfstats。
您正在寻找以下行:
每个级别的SSTables:[2042/4, 10, 119/100, 232, 0, 0, 0, 0, 0]
方括号中的数字显示了每个级别中有多少 sstable。 [L0, L1, L2 ...]。斜线后的数字是理想水平。根据经验,L1 应为 10、L2 100、L3 1000 等。
新的 sstable 进入 L0,然后逐渐上升。您可以看到上面的示例处于非常糟糕的状态。我们仍然有 2000 个 sstables 来处理比所有其他级别中存在的更多。这里的性能会比我刚刚使用 STCS 时差很多。
Nodetool cfstats 可以很容易地衡量 LCS 是否跟上您的用例。全天每 15 分钟倾倒一次。任何时候您的级别不平衡,读取性能都会受到影响。如果它一直落后,您可能想切换到 STCS。如果它在您加载数据时出现 10 分钟的峰值,但当天其余时间都很好 - 那么您可能会决定忍受它。如果它永远不会失去平衡——坚持使用 LCS——它完全适合你。
附带说明 - 2.1 允许 L0 执行 STCS 样式合并,这将有助于您遇到临时峰值的情况。如果您处于上述十分钟的场景中 - 几乎肯定值得升级。
关于Cassandra LeveledCompactionStrategy 和每次读取的高 SSTable 数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39868596/
nodetool cfstats 显示以下输出: Read Count: 746287 Read Latency: 8.772114064696291 ms. Write Count: 135629
有没有办法控制 SSTable 的最大大小,例如 100 MB,这样当 CF 的数据实际超过 100MB 时,Cassandra 会创建下一个 SSTable? 最佳答案 不幸的是,答案并不是那么简单
在 BigTable/GFS 和 Cassandra 术语中,SSTable 的定义是什么? 最佳答案 排序字符串表(借自google)是一个键/值字符串对的文件,按键排序 关于computer-sc
所以我正在研究 Cassandra 并试图了解其架构,并且我正在阅读 wiki 中的以下页面: http://wiki.apache.org/cassandra/MemtableSSTable 因此,
我试图更好地理解 Cassandra 中 sstables 的不变性。当数据存在于 memtable 中时,在插入操作或更新/删除操作中会发生什么非常清楚。但是不清楚当我想修改已经被刷新的数据时会发生
使用自制软件安装 cassandra12 后,它会退出并显示以下消息: java.lang.RuntimeException: Can't open incompatible SSTable! Cur
我们使用的是 cassandra 2.0.17,我们有一个包含 50% 选择、40% 更新和 10% 插入(无删除)的表。 为了对此类表具有较高的读取性能,我们发现建议使用 LeveledCompac
我已经意识到一些 sstables 不会被丢弃,即使它们只包含墓碑。 使用手动主要压缩这些 sstables 被删除。 也许它需要将 unchecked_tombstone_compaction 与
在 Cassandra 2.x 中,当我删除一列或多列时,它们会在 Memtable 中收到一个逻辑删除,但数据不会被删除。在某个时刻,Memtable 会刷新到 SSTable,其中包括已删除的数据
我正在尝试使用 sstable2json 实用程序将 sstables 转换为 json。它工作正常,但对于计数器列,它给出了一个非常长的字符串值。 我的建表语句:创建表计数器1 (值计数器, 名称变
根据我在 cassandra 中的理解 当客户端将数据写入单个服务器时,它会写入提交日志(仅追加日志而没有随机搜索)。然后将数据放入驻留在内存中的 MEMTable 中。然后确认写入成功。当 MEMT
根据: http://www.datastax.com/docs/1.0/ddl/column_family#about-column-family-compression RDBMS 看到压缩导致性
阅读 nodetool 标记的问题后编辑。 我们每天拍摄我们的单节点 cassandra 数据库的快照。如果我想在该节点上或在运行不同 cassandra 实例的临时服务器上恢复快照,我的理解是我必须
关闭。这个问题需要更多focused .它目前不接受答案。 想改进这个问题吗? 更新问题,使其只关注一个问题 editing this post . 关闭 4 年前。 Improve this qu
我最近开始使用 Cassandra 数据库。我已经在本地机器中安装了单节点集群。我正在使用 Cassandra 1.2.3。 我在互联网上阅读这篇文章,发现了这一行- Cassandra writes
当使用 LeveledCompactionStrategy 时,sstables 被组织在“级别”中。是否可以查看文件属于哪个级别? 背景:我有一堆我最终会压实的墓碑。我很好奇这些墓碑到底有多少层。
在我运行之后:- sudo service cassandra start 然后是 sudo service cassandra status 我得到一个无法访问 Cassandra 的 pidfil
我是Cassandra等nosql数据库的新手,目前看到这个二级索引和sstable附加二级索引。有些我对在 Cassandra 中使用二级索引的目的感到困惑,关系数据库和带二级索引的 Cassand
使用两个数据库来说明这个例子:CouchDB和 Cassandra . CouchDB CouchDB 使用 B+ 树作为文档索引(使用 a clever modification 在其仅附加环境中工
我在哪里可以找到有关哪个版本的 Cassandra 支持哪个版本的 SSTables 的更多信息。 最近我注意到 DSE Cassandra 正在生成 SSTables bti ,而 Apache C
我是一名优秀的程序员,十分优秀!