gpt4 book ai didi

latency - Scylla 如何处理写入工作负载的激进 memflush 和压缩?

转载 作者:行者123 更新时间:2023-12-04 00:00:05 34 4
gpt4 key购买 nike

Scylla 如何保证/保持写入工作负载情况的低写入延迟,因为更多的写入会产生更多的内存刷新和压缩?有节流吗?如果有人可以回答,那将非常有帮助。

最佳答案

从本质上讲,Scylla 通过并行化问题来提供一致的低延迟,然后适本地优先考虑面向用户的任务和后台任务。
并行化 - Scylla 使用每线程分片架构。每个线程负责其 token 范围内的所有事件。读取、写入、压缩、修复等。
优先 - 每个线程根据任务的优先级进行调度。处理读取(查询)和写入(提交日志)等高优先级任务获得最高优先级。诸如内存刷新、压缩和修复之类的后台任务仅在有空闲周期时才完成。其中——考虑到现代 CPU 的纳秒级——通常有。
如果没有足够的空闲周期,并且 RAM 或磁盘开始填充,Scylla 将提高后台任务的优先级以保存节点。实际上,这会注入(inject)一些延迟。但这表明您可能身材矮小,应该添加一些资源。
我建议从 https://go.scylladb.com/real-time-big-data-database-principles-offer.html 的 Scylla 架构白皮书开始。 .在 https://www.scylladb.com/resources/tech-talks/ 上也有许多来自 Scylla 开发人员的深入讨论。
例如,https://www.scylladb.com/2020/03/26/avi-kivity-at-core-c-2019/深入讨论 shard-per-core。
https://www.scylladb.com/tech-talk/oltp-or-analytics-why-not-both/深入讨论任务优先级。

关于latency - Scylla 如何处理写入工作负载的激进 memflush 和压缩?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63160402/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com