聊点技术 | 架构瘦身,让 Bonree ONE 跑得更轻
4 月 21 日,博睿数据 ONE 有引力 2023 春季产品发布会圆满落幕,一体化智能可观测平台 Bonree ONE 2023 春季正式版正式发布,这一次发布的版本更轻、更强、更智能。
Bonree ONE 在上一版基础上削减 50%组件数量,下架两大高耗能组件,单机节省 20G+内存,安装时间加快 30%,磁盘消耗缩减 80%;实现能力的 5 倍提升,单台 16C 32G 服务器稳定支撑 100 APM 探针数据接入或 2 万日活用户会话,帮助用户大幅降低配置成本。
架构瘦身,让 Bonree ONE 跑得更轻
本文作者
背景
在数据分析领域,OLAP 引擎是整个服务的底座,是整个产品性能的发动机。它需要强悍的数据写入性能,用来支撑高时效的数据价值,同时也需要强悍的数据读取性能,满足我们在 OLAP 场景中的高效查询需求。高性能一般会伴随着更多资源需求量的产生。如果我们能在同等的数据量下,可以用更少的资源来满足需求,无疑会给产品带来更大的空间。我们从历史 Druid 繁重引擎切换到了更轻量级的 Clickhouse。
同时,Bonree ONE 作为强大领先的一体化智能可观测平台,融合了 RUM、APM、数据分析、ETL、Alert 告警、自适应 AI 等诸多微应用能力。起初众多组件整合在一起时,整体需要 38 个组件,组件多,资源占用多,维护成本高,非常繁重。每次 POC 需要单机 64G 内存的机器才能部署,且性能非常有限。基于这些痛点,需要对 Bonree ONE 架构体系做整体梳理,制定瘦身技术方案。
架构(四通一合)
首先,要解决架构问题,好的架构可以少走弯路。Bonree ONE 架构体系讲究化繁为简,即四通一合:
● 对象通:采集。统一的对象采集能力,OneAgent 可以统一采集多端、多源、多种类型对象,并且 SmartGate 提供了采集数据的汇聚、路由、压缩、缓存、批传、负载均衡、安全管理等智能化功能,让用户数据采的安心、用的舒心。
● 数据通:数据。OneData 作为统一的数据平台,可以集成指标、调用链、拓扑、事件、日志等多种可观测性类型数据;OneService 作为统一数据服务,自研统一的 BPL 语句,可以同时计算和查询多源异构的数据集,让数据真正的融合关联用起来,解决传统割裂数据拼凑的问题。
● 模型通:模型。基于数据标准化建模、AI 多模态的湖仓一体化,支持开箱即用和 AI 自适应的在线模型。
● 应用通:标准。多个应用遵循一套 OneAPI 标准,通过 OneFramework 可以让微应用插件互相通信,互相赋能。应用也做到了插件化,微应用可以各自单独跑,也可以合并一起跑。能力开放,可以集成与被集成。
● 中融合:ONE 架构也到了真正意义的融合。一套体系化的数据、服务、模型都是互通互联,能轻便支持上层业务场景需要的复杂数据模型抽象和计算。
OneData 底座
架构轻
优势明显
● 数据平台组件较少,OLAP 引擎只有 Clickhouse 单个组件,在写入和元数据协同上各有一个组件,且都支持高可用。
● 在 POC 场景下,Clickhouse 精简部署,写入效率完全达到业务需要。
● 在小型集群的场景下,Clickhouse 只需要单 shard 部署,在满足性能的前提下,支持高可用。
● 在晚回数据场景下,Clickhouse 天然支持分区,在历史数据和实时数据上,没有区别对待,效率上是等同的。
● 在 clickhouse 上,通过物化视图和多粒度表的支持,较大范围时间的查询效率同样可以在毫秒级别完成,且是稳定的。
Feature 开发
● 写入资源平衡。
● 表粒度入库攒批控制。
● 多租户的支持。
● 数据自治理。
● 复杂数据类型上查询效率的改进。
● 持续优化读写性能,和资源瘦身。
● 数据重分布特性,针对数据扩容情况下的数据分布改进。
● 扩展 DDL 能力,可以在线支持针对物化视图、projection 的动态加减列。
● 轻量级运维能力建设。
效果
相比瘦身之前,ONE 技术优化效果:
1. 整体组件从 38 个减少到 19 个。
2. 从内存看:
1) POC 配置规格从单机 64G 降到 32G,单机可以支持运行 100 探针,运行时内存消耗在 23G 左右;
2) 业务各团队做全链路组件瘦身,POC 版瘦身去掉所有 hadoop、kafka、brfs、zookeeper 等重组件;
3) 指标存储底座从 Druid 切换到 Clickhouse,内存资源降了 60%(集群版和 POC 版都适用);
4) SwiftAI 重构架构,所有服务合并到一个进程组件(集群版和 POC 版都适用);
5) OneService 作为新一代联邦数据服务,替代了传统较重的 Presto 大数据组件集合;
6) OneAPI 和 OneView 支持微应用插件合并,也可以单独部署,替代了传统的 SSO 和 Cloud 组件(集群版和 POC 版都适用)。
3. 从磁盘看,APM 的磁盘占用存储降到了 1/5(日增 100G->20G):
1) POC 版去 kafka 会大量减少磁盘占用;
2) trace 也做了写入压缩优化(集群版和 POC 版都适用);
3) Clickhouse 没有 Druid 的二级 hadoop 存储占用(集群版和 POC 版都适用);
4) Clickhouse 本身较 Druid 压缩比会好些,各业务表的压缩比在 8 到 20 倍(集群版和 POC 版都适用);
5) AI 通过 Iceberg 湖仓一体和数据治理,按开箱默认指标两个月只需要 40G 的磁盘空间(集群版和 POC 版都适用)。
4. 从性能看,拿公有云统计性能数据,基于 Clickhouse 的 OneData 底座 P99 查询性能比历史 Druid 架构提高了 6 倍以上,平均耗时从秒级降到了毫秒级。同时在晚回数据场景,稳定性和效率比 Druid 体现的更加优秀,维护成本为 0。
5. 从功能看,ONE 较之前秋季版产品增加了一些功能,比如默认会开启 AI 和会话,AI 和会话不再单独追加资源(集群版和 POC 版都适用)。
6. 从应用框架看,引入强大的插件容器框架 OneFramework,提供了运行环境和基础通用能力支持(依赖管理、网关服务、连接池封装、common 工具类、会话共享等)。OneFramework 可以让业务只关注自己的业务代码开发,并且各自可以独立开发和部署,大大提高了开发迭代和发布效率。一套框架可以灵活应对公有云和私有化不同的环境场景。
版权声明: 本文为 InfoQ 作者【博睿数据】的原创文章。
原文链接:【http://xie.infoq.cn/article/68eb7255fc835ddab3a09a8d3】。文章转载请联系作者。
评论