您的浏览器禁用了JavaScript(一种计算机语言,用以实现您与网页的交互),请解除该禁用,或者联系我们。[腾讯]:车联网海量低成本的时序存储集群 - 发现报告

车联网海量低成本的时序存储集群

2024-09-12腾讯大***
AI智能总结
查看更多
车联网海量低成本的时序存储集群

车联网海量低成本的时序存储集群 闫恩全主讲人: 目录 02 01 车联网数据面临的挑战 CTSDB在车联网领域的实践 车联网数据面临的挑战 车联网数据面临的挑战 车辆传感器状态信息 上报基数增长迅速,波峰波谷明显,扩展要求高亿Points/s,月增10%+,波峰波谷3倍+差距,扩展要求高使用Cassandra存储,扩容均衡慢,需停服 监管以及运营要求长期保存,成本高PB级别数据,存储成本高自运营,引入额外的运维人力成本 零存整取,访问性能要求高 每辆车零散上报数据,大时间范围提取数据共用计算资源,读写隔离差,查询延时不稳定 CTSDB在车联网领域的实践 CTSDB时序存储 业务案例 CTSDB时序存储—高扩展(动态计算池应对业务突发与隔离) CTSDB时序存储—高扩展(原生多AZ的无限存储扩展) 存储高扩展 l用户在database和table两个层面组织数据; l底层存储在时间和维度两个方向扩展:ü时间层面的扩展,减少数据粘连,支持高效的TTL和冷热分层;ü维度层面的扩展,支持扩展写入流量; l原生3AZ部署:副本容灾+机房容灾; CTSDB时序存储—低成本(更贴合时序数据的存储模型) 在车联网场景中,一辆汽车往往有上千个传感器同时上传数据(包括位置信息、车辆状态、用户行为等)。CTSDB和Cassandra存储此类数据对比。 car,carid=1001,model=modelxsignal1=1.0,signal2=3.1,signal4=5.5,…,signaln=3.5 1722408708car,carid=1001,model=modelxsignal1=1.0,signal2=3.1,signal4=5.5,…,signaln=3.5 1722408718 partition_key:1001Þcluster_key:1722408708Þmodel:modelxÞsignal1: 1.0Þ…Þsignaln: 3.5Þcluster_key:1722408718Þmodel:modelxÞsignal1: 1.0Þ…Þsignal: 3.5 car,carid=1001,model=modelx<==> tsid1(时间线) CTSDB存储模型(公共纬度提取+同时间线同Field数据列存压缩) Cassandra存储模型(行存+整体通用压缩) 通过公共纬度提取,深度挖掘同指标数据集的相似性,CTSDB相比于Cassandra有2X+的压缩比提升; CTSDB时序存储—低成本(追求更高压缩比的列存压缩) 二阶段通用压缩(平衡性能和压缩比): Deep Compaction时才加码二阶段通用压缩; 混合多种特征提取算法,最大化发掘数据的冗余信息 lDelta:通过前后数据相减,重点记录数据的变化部分;lZigZag:负数变正数,发掘更多的前缀0;lRLE:等值数列转化成数值+频次;lSimple8b:发掘数值中连续的0或者1区间;lGorrilla:类似于Delta,前后值XOR之后,发掘前缀0和后缀0;lBitPacked:每个bit表示一个值; CTSDB时序存储—高性能 整取 零存 每个时间线随着时间零零碎碎上报细节数据 提取单时间线特定时间段内的全量数据或者部分列数据 l单时间线数据集中存储,一次性批量提取,毫秒级延时;lRoute Tag让查询精确到特定分区,杜绝查放大; 特定时间范围内的聚合查询 物化视图(预降采样,预降维度)降低实时聚合数据量,毫秒级聚合;冷热分层:最近数据保存SSD,冷数据沉降COS;均衡性能和成本 分层时序数据(SSD + COS) 基于流计算实现的定制化物化视图(预降采样、预降纬度) CTSDB时序存储—业务案例 业务痛点(Cassandra) 扩展需停服 扩容需停服进行手动数据均衡,迁移数据慢 开源组件稳定性不佳,维护复杂,性能不稳定,读写影响严重 Cassandra压缩比低 CTSDB方案 CTSDB时序存储—业务案例 业务痛点(Cassandra) 稳定性 HBase通用压缩,压缩比低,成本高 车辆高峰期,开源技术栈遇到写入性能瓶颈 电池高温大数据实时预警,交通事故关怀,要求数据实时性 CTSDB方案 秒级弹性扩展应对业务高峰 毫秒级可查实时预警 存储成本25%↓