《1-4 字节跳动基于 Doris 的数据湖仓探索.pdf》由会员分享,可在线阅读,更多相关《1-4 字节跳动基于 Doris 的数据湖仓探索.pdf(26页珍藏版)》请在三个皮匠报告上搜索。
1、字节基于DORIS的数据湖仓探索杜军令 字节跳动数据平台大数据工程师01当前的湖仓一体实践03基于基于Doris的解决方案的解决方案02存在的问题与挑战存在的问题与挑战04未来规划未来规划目录目录CONTENT字节当前的湖仓一体实践01当前的湖仓实践业务线较多,实践的数据模型也比较多纯数据仓库Lambda,Kappa架构湖上建仓当前的湖仓实践典型Lambda架构两套代码,两套架构当前的湖仓实践典型Lambda架构历史数据回溯问题数据服务对接困难批量计算较弱当前的湖仓实践湖上建仓分钟级数据延迟数据服务能力弱存在的问题与挑战02存在的问题与挑战n 无法支撑高并发查询HiveSparkPrestoH
2、DFS/对象存储并发能力不足,无法支撑高QPS查询单点瓶颈,无法随机负载横向扩充数据应用存在的问题与挑战n 数据延迟较高LakeHouse分钟级数据可见无法查询实时指标无法实时风控存在的问题与挑战n 多维分析性能不足数据模型固定,需要预定义聚合维度查询模式固定,非预定义维度查询性能较差存在的问题与挑战n 技术栈复杂运维困难技术栈复杂,人力成本较高运维困难数据割裂,在多个系统间ETL基于Doris的解决方案03字节的解决方案n 使用Doris作为数据服务层n 打通Doris与数据湖Hudin 打通Doris与HiveMetaStore(与社区共同进行中)Hudi字节的解决方案n 使用Doris作
3、为数据服务层p 打通Doris与数据湖存储p 打通Doris与HiveMetaStoreu Doris支持高并发数据查询u 支持横向扩展,性能不足时扩充FE与BEu 支持亚秒级数据时延,数据秒级可见u 支持灵活维度分析字节的解决方案n 使用Doris作为数据服务层p 打通Doris与数据湖存储p 打通Doris与HiveMetaStore字节的解决方案p 使用Doris作为数据服务层n 打通Doris与数据湖存储p 打通Doris与HiveMetaStore支持创建Hudi表支持指定全部或部分Schema创建Hudi外表支持不指定Schema创建Hudi外表CREATE EXTERNAL TA
4、BLE table_nameENGINE=HUDI PROPERTIES(hudi.database=hudi_db_in_hive_metastore,hudi.table=hudi_table_in_hive_metastore,hudi.hive.metastore.uris=thrift:/127.0.0.1:9083”);字节的解决方案p 使用Doris作为数据服务层n 打通Doris与数据湖存储p 打通Doris与HiveMetaStoreFEHiveMetaStoreHDFS/CFSBEBEHudiScanNodeFile ReaderHudi ClientJVM5,read d
5、ata files1,get hudi table base path from hms2,generate scan range locations3,filter file group with instantTime4,dispatch fragments字节的解决方案p 使用Doris作为数据服务层n 打通Doris与数据湖存储p 打通Doris与HiveMetaStore支持查询Hudi COW表支持分区表支持分区裁剪字节的解决方案p 使用Doris作为数据服务层n 打通Doris与数据湖存储p 打通Doris与HiveMetaStore支持以Read Optimized方式查询Hu
6、diMOR表支持分区表支持分区裁剪字节的解决方案p 使用Doris作为数据服务层p 打通Doris与数据湖存储n 打通Doris与HiveMetaStore配置HiveCatalog后可以直接查询HMS中table无需在Doris中创建外表支持Doris表与Hive表联邦分析HMSselect*from hive_catalog.db.table未来规划04未来规划n 复杂数据类型n 主键索引n 存算分离业务灵活多变,需要更灵活的数据模式支持半结构数据分析未来规划n 复杂数据类型n 主键索引n 存算分离构造内存主键index,提高更新删除性能支持更新场景下查询性能不劣化未来规划n 复杂数据类型n 主键索引n 存算分离全量数据存放对象存储系统热数据存在本地缓存支持BE动态扩缩支持数据预加载非常感谢您的观看