[StarRocks 2024 年度技术峰会]:7 京东物流

发布时间:2025-05-11 13:50

7 京东物流-存算分离StarRocks在京东物流的落地实践

存在算京分东离物S流ta的r落Ro地ck实s践 康琪 京东物流高级技术专家/StarRocks&ApacheFlinkContributor01京东物流一站式自助分析场景 02存算一体向存算分离演进 03性能表现与降本增效 04稳定性保障与调优实践 05未来计划 京东物流一站式 01自助分析场景1-1.UData:京东物流一站式自助分析平台 以StarRocks高性能实时摄入、联邦查询、湖仓一体能力为基础,覆盖10w+一线业务人员,面向物流全链路数据分析场景的一站式DAAS解决方案云文档 京ME 邮件 个人权限 绑定数据 大屏 仪表板 发布看板 搭建看板 选择数据 1-2.UData产品架构 在线Excel 可视化 协同能力 权限体系 数据分析 数据准备 点选式 选择数据 条件过滤/筛选 分组汇总 左右/上下合并 排序 字段设置 SQL提数 用户组权限 数据管理 数据管理(数据接入) 数据源管理 离线表 离线指标 指标 实时指标 表 数据地图(找数能力) 列级权限 行级权限 业务视角检索 数据血缘分析 实时表 本地Excel 数据源 数据信息查看Flink JDQ JMQ DB MySQL Oracle OLAP ClickHouse Elasticsearch API JSF HTTP HMS Hive Hudi 联邦查询 StarRocks 数据接入 1-3.StarRocks运用规模 30+ 集群总数量 600+ 节点总数量 300+ 内表总数量800+RPS 访问量峰值 500+GBPS 数据流量峰值 02存算一体向存算分离演进2-1.为什么需要存算分离 海量数据近实时写入,长周期留存与查询→降低存储成本,保证用户体验 成本、运维压力大,资源用量难以预估→云原生部署,弹性扩缩容 2-2.部署存算分离集群 StarRocksK8sOperator JDCloudJDOSAZ FEStatefulSetCNStatefulSetHPA Client FE Pod1 FE Pod2 FE Pod3 CN Pod1 CN Pod2 CN Pod3 CN Pod4SRProxyFEServiceCNService 依托京东云JDOSK8s部署,双可用区容灾,Proxy灵活切量 配备万兆网卡及SSD的物理机,保证网络和缓存I/O性能 预调优的FE/CNSpecs,开箱即可用 2-3.表、存储卷与OSSBucket映射 存算分离StarRocks可完美兼容京东云OSS •大表独享Bucket、小表共享Bucket,规避带宽和IOPS限制 •新增元数据表维护Table、存储卷和Bucket映射关系 StorageVolume1 StorageVolume2 OSSTable1Bucket1 Table2-2 Table2-1 OSS Bucket2Table2-3 2-4.实时写入存算分离表 通过自研低代码平台,1~5分钟配置FlinkJob实现MQ→SRStreamLoad •FlinkSRCatalog自动获取Schema,反推MQ消息解析 •自动生成流式INSERT任务逻辑,支持配置Transform&Filter •为存算分离表Sink自动配置更加宽松的攒批和容错参数,保证数据新鲜度5min以内 CREATETABLEsrc_jdq_tblLIKEsr_catalog.sr_db.sr_tblWITH( 'connector'='jdq','client-id'='...') StarRocksCatalog JobConfigCenter CREATETABLEsink_sr_tblLIKEsr_catalog.sr_db.sr_tblWITH( 'connector'='starrocks','load-url'='...', 'sink.buffer-flush.max-bytes'='936870912',INSERTINTOsink_sr_tblSELECT...FROMsrc_jdq_tblWHERE...AND... 'sink.buffer-flush.max-rows'='3000000', 'sink.buffer-flush.interval-ms'='200000', 'sink.buffer-flush.enqueue-timeout-ms'='600000') 03性能表现与降本增效3-1.写入吞吐量 单张大表日均新增行数十亿量级,日均更新次数百亿量级 开启BatchPublishVersion,写入吞吐与同等规模的存算一体集群持平3-2.查询性能 单张大表存储180天、百亿级历史数据,用户多执行离线数仓风格的OLAP查询 5个CN节点,CacheTTL20天,Cachehit情况下P95/P99与同规模存算一体集群相似 Cachemiss情况下查询响应极少超过1min,仍远快于查询Hive,满足用户分析需求3-3.OSS性能与降本效果 得益于StarRocks和云OSS的优化,Bucket吞吐无瓶颈 当前已接入的存算分离大表10+张,总数据量100TB+,单表最大10TB+,持续增长中 •每TB存储成本相对于存算一体集群降低90% •承载同等用户查询量的计算资源成本降低30% 04稳定性保障与调优实践4-1.Compaction调优 根据CN节点规格,适当调大Compaction线程数和线程池队列 适当降低每次CumulativeCompaction的Rowset数,使得Compaction更快完成 实时观察CompactionScore是否位于合理水平4-2.Vacuum调优 Vacuum不及时会导致OSS上残留过多垃圾文件 注意观察queued_delete_file_tasks和metadata_travel_latency指标,以及FE相关日志 CN执行Vacuum时复用release_snapshot线程池(默认容量5),且分区并行度默认为8,需根据CN节点规格和OSS吞吐量适当调整 查询流量大时,适当放宽历史版本区间,避免meta文件提前删除造成404错误 4-3.分区查询硬限制 海量历史数据留存场景下的查询,分区裁剪是必备操作 为LakeTable添加参数,硬性限制单个用户查询能够Scan该表的分区数 Query Pruner PhysicalOlapScanOperator? CloudNativeTable selectedPartitionNumLimit selectedPartitionIdshintsTabletIds但是需要放行统计信息收集使用TabletHint的查询,否则会造成CBO不准确4-4.优化统计信息收集 默认的全量统计信息收集很可能会在业务高峰期调度,一定程度上影响大表查询性能 对于单分区较小但总数据量较大的表,将全量收集固定到业务低峰期进行,平时则进行抽样采集 05未来计划 5.未来计划 实验特性支持(行列混存,GIN) KV型Catalog(HBase,Redis)推广应用 更灵活的扩缩容(VPA) 降本更高效的主动、分级缓存 增效更多数据迁移至存算分离 StreamLoad任务合并关注公众号 T感hanky谢ou! 观看!

网址:[StarRocks 2024 年度技术峰会]:7 京东物流 http://www.mxgxt.com/news/view/1122259

相关内容

StarRocks Summit 2023 技术交流峰会圆满落幕
StarRocks 2024 数据技术峰会圆满收官,Lakehouse引领数据技术新趋势
StarRocks Summit Asia 2024落幕,Lakehouse引领数据技术新趋势
StarRocks资源调度
如何利用 StarRocks 加速 Iceberg 数据湖的查询效率
StarRocks 相关面试题
StarRocks 跨集群数据迁移:SDM 帮你一键搞定!
让数据分析极速统一!StarRocks和阿里云一起干了件大事
EMR Serverless StarRocks评测
StarRocks数据同步工具

随便看看