LOL赛事下注 - 英雄联盟投注 -(中国)Riot Games从托管到原生MPP架构数据仓库的云原生实践 干货技术博文SegmentFault 思否

日期:2025-02-10 09:33 | 人气:

  LOL赛事下注 - 英雄联盟投注 -(中国)Riot GamesCloud-Native:然而随着更多的业务向云上迁移,底层计算和存储一体的资源绑定,导致用户在使用的过程中依然需要考量不必要的资源浪费,如计算资源增加会要求存储关联增加,导致无效成本。用户开始期望云资源能够将数据仓库进行更为细粒度的资源拆解,即对计算,存储的能力进行解耦并拆分成可售卖单元,以满足业务的资源编排。到这里,云原生的最大化价值才被真正凸显,我们不在着重于打造存算平衡的数据仓库,而是面向用户业务,允许存在大规模的计算或存储倾斜,将业务所需要的资源进行独立部署,并按照最小单位进行售卖。这一刻我们真正的进入了数据仓库云原生时代。

  String类型字段,ORC writer在开始时会检查该字段值中不同的内容数占非空记录总数的百分比不超过0.8的话,就使用字典编码,字段值会保存在一个比特流,一个字节流及两个整形流中。比特流也是用于标识null值的,字节流用于存储字典值,一个整形流用于存储字典中每个词条的长度,另一个整形流用于记录字段值。如果不能用字典编码,ORC writer会知道这个字段的重复值太少,用字典编码效率不高,ORC writer会使用一个字节流保存String字段的值,然后用一个整形流来保存每个字段的字节长度。

  在ORC文件中保存了三个层级的统计信息,分别为文件级别、stripe级别和row group级别。而提升存储性能的核心是减少IO,我们基于ORC的统计信息和索引实现各种下推,帮助我们实现IO裁剪。例如Projection下推,我们只会扫描需要物化的列。Agg下推中,我们会直接把需要的min,max,sum,unique从统计信息或者索引中读取即可返回,避免了对data stream的解压。对于predicate,我们还支持把filter下推,通过统计信息直接做过滤,直接跳过不符合的条件的stripe,我们支持各种操作符,以及in/not in,以及表达式的等价转换。

旋转小火锅定制流程

免费咨询

提供图纸

免费设计

免费报价

无忧安装

终身维护