您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。 [观测云]:可观测性场景下SelectDB流式聚合增强 - 发现报告

可观测性场景下SelectDB流式聚合增强

2025-01-14 熊豹 观测云 EMJENNNY
报告封面

熊豹观测云资深架构师 分享嘉宾-熊豹 可观测领域专家。观测云GuanceDB数据库研发负责人。VictoriaMetricsTop社区Contributor、2020QCon讲师、曾任知乎可观测和接入层网络负责人。 目录 观测云存储架构01 SelectDB应用与挑战02 流式聚合系统设计03 展望04 01观测云存储架构 GuanceDB支撑观测云全量业务场景 GuanceDB系统架构 SelectDB数据源接入 根据语义下推聚合函数 •查询引擎根据DQL查询语义和SelectDBSQL的函数支持情况动态选择使用聚合下推或谓词下推的能力 Thrift接口降低传输开销 •当不能下推聚合或只能下推部分谓词时选择使用SeledtDBBE的Thrift接口,通过Arrow列存格式降低传输数据的反序列化开销 SelectDB的应用与挑战 DynamicSchema动态表VSVariant可变数据类型 相同点 •都能支持跟随数据维度变化动态维护表结构 关键差异 •DynamicSchema作用于当前表的完整生命周期,而Variant的作用域只在当前的动态分区内•DynamicSchema作用于当前表的完整生命周期,而Variant的作用域只在当前的动态分区内 自动聚合采样 自动采样 •一些查询原始数据量极大,而且业务层确实不需要精确计数,计算结果包含大概趋势即可,此时耗费数十倍资源进行计算响应速度过慢,费力不讨好 落地效果 •聚合查询性能提升20+倍;业务透明,自动根据数据量进行聚合采样,可手动关闭采样 挑战:可观测场景下的周期性查询 查询来源 •周期触发的告警检查器•前端页面间隔刷新的仪表盘•业务内周期触发的业务统计 问题 •BE的资源利用率不稳定,间歇性地抖动影响写入和查询性能•查询时间范围动态变化,难以通过SelectDB自带的物化视图支持 挑战:可观测场景下的周期性查询 流式聚合预期效果 L::service:(avg(usage)){cluster="test"}[1d::1h] •支持全量聚合函数,支持全部数据源•支持任意时间范围和聚合周期•支持数据乱序写入,无窗口时间限制•业务透明,无需额外手动配置 流式聚合系统设计 Push模型:数据主动流向算子 聚合函数中间状态 以avg函数为例 为什么需要中间状态? •多线程并行计算•多节点并行计算•跨时间先后计算 如何实现? •拆分时间片,10s为存储层基本基础单位,查询时根据需要的间隔自由组合结果•每个聚合函数单独实现,分位数计算使用ddsketch,distinct计算使用hyperloglog 流式聚合数据流 ThanksforWatching!