orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 DorisSummit Asia2024 DorisSummit 哪吒科技:SelectDB实时数仓在智慧港口中的应用实践 Asia2024 DorisSummit Asia2024 邓宇超 哪吒科技数据平台负责人 orisSummit DorisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 分享嘉宾-哪吒科技 Asia2024 DorisSummit Asia2024 邓宇超 哪吒科技-数据平台负责人曾就职于趣头条、观安信息 Asia2024 DorisSummit 丰富的大数据开发及架构经验 DorisSummit 目录01 02 哪吒科技数仓发展历程 Asia2024 DorisSummit 实时数仓技术选型与架构 orisSummit Asia2024 Asia2024 mit Asia2024 DorisSummit DorisSummit A DorisSummit Asia202 03实时数仓在智慧港口的实战应用 Asia2024 04收益与展望 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 DorisSummit Asia2024 DorisSummit 01 Asia2024 DorisSummit Asia2024 哪吒科技数仓发展历程 Asia2024 DorisSummit 1.1哪吒科技业务介绍-市场能力 DorisSummit 2022新增客户33家 Asia2024 盘锦 DorisSummit 营口 唐山 大连 天津 2023新增客户50家 上海 蚌埠 合肥扬州 连云港 张家港 南通 江阴 苏州 仙桃武汉 荆州 马鞍山 湖州 芜湖 铜陵 太仓上海 嘉兴 宁波 Asia2024 岳阳 宜宾长沙 九江 DorisSummit 九江中理 安吉杭州 Asia2024 厦门 国际货柜、海润码头 图例说明 原有客户新增客户 贵港 防城钦州北海 汕头 广州黄埔 深圳 珠海 海口 >9000万TEU 2023年哪吒TOS产品支撑国内箱量 >30% 2023年占国内集装箱量市场份额 orisSummit A Asia202 mit Asia2024 DorisSummit 国内外市场地图 orisSummit Asia2024 DorisSummit Asia2024 mit Asia2024 DorisSummit Asia2024 DorisSummit A DorisSummit Asia2024 DorisSummit Asia202 1.2哪吒科技业务介绍-产品&服务 Asia2024 DorisSummit 1.3哪吒科技数仓发展历程 DorisSummit 第一阶段第二阶段第三阶段 orisSummit mit Asia2024 A DorisSummit Asia202 业务场景:港口运营数据枢纽 数仓能力:单业务单场景数据整合与决策赋能 Asia2024 挑战:数据融合性、实时性 业务场景:数据驱动码头作业 Asia2024 数仓能力:混合架构下数据整合与分析赋能 DorisSummit 挑战:开发效率、维护成本、实时性 业务场景:智慧港口全生命周期与全解决方案(SMART系列) Asia2024 DorisSummit 数仓能力:SelectDB统一实时数仓挑战:复杂场景、查询效率 orisSummit Asia2024 DorisSummit Asia2024 mit Asia2024 DorisSummit Asia2024 DorisSummit A DorisSummit Asia2024 DorisSummit Asia202 1.4哪吒科技数仓架构演变(V1.0) 图:1680*640 orisSummit Asia2024 DorisSummit Asia2024 mit Asia2024 DorisSummit Asia2024 DorisSummit A DorisSummit Asia2024 DorisSummit Asia202 1.5哪吒科技数仓架构演变(V2.0) orisSummit Asia2024 DorisSummit Asia2024 mit Asia2024 DorisSummit Asia2024 DorisSummit A DorisSummit Asia2024 DorisSummit Asia202 1.6哪吒数仓应用场景面临的挑战 应用场景 时效性要求 数据特点 面临的问题 RTG效率分析(堆场机械效率 分析) 离线跑批(H+1) 数据维度复杂,下钻层次多 存在异常数据,数据不准,任务资源占用高 某码头交接班分析 离线跑批(H+1) 数据维度比较单一,数据量少 数据量不大的情况下,单个任务资源占用高 集疏运数字孪生 实时性要求高,数据产生到落 地在1s内 上海港8大码头数据量大,单表数据量10亿以上,表字段多 (100+) 实时任务性能瓶颈问题,时效性无法满足 orisSummit Asia2024 mit Asia2024 DorisSummit A DorisSummit Asia202 DorisSummit Asia2024 DorisSummit 02 Asia2024 DorisSummit Asia2024 实时数仓技术选型与架构 orisSummit Asia2024 DorisSummit Asia2024 mit Asia2024 DorisSummit Asia2024 DorisSummit A DorisSummit Asia2024 DorisSummit Asia202 2.1哪吒实时数仓选型因素 关键指标数据导入 SelectDB 秒级数据导入,支持多种数据导入方式(StreamLoad、BockerLoad、RoutineLoad),毫秒级轻量化表模式修改 查询性能 支持高并发点查、大宽表查询、多表Join复杂查询、数据湖查询,查询优化(向量化、物化视图、CBO优化器、丰富的索引) 弹性架构 支持计算隔离,分层存储,存算分离三种模式,实现高效灵活的资源管理 开放生态 基于ApacheDoris构建,100%与其兼容,兼容MySQL生态 安全合规 深度契合等保要求的各项指标,并严格遵循ISO标准的规范框架 自主可控、安全可靠 融合信创技术,构建多重安全防线,以高可靠性能,为数据构建安全防线 图:1680*640 orisSummit Asia2024 DorisSummit Asia2024 mit Asia2024 DorisSummit Asia2024 DorisSummit A DorisSummit Asia2024 DorisSummit Asia202 2.2哪吒科技实时数仓架构 orisSummit Asia2024 mit DorisSummit A Asia202 2.4SelectDB在实时场景中的应用 DorisSummit 实时数仓建模: Asia2024 DorisSummit 1.ODS:通过FlinkCDC实时采集数据源的数据,落地到SelectDB实时数仓,为后续数据分析提供原始数据。 2.DWD:基于清洗后的明细数据,做数据归一化处理,方便上游业务。 Asia2024 DorisSummit 3.DWS:基于聚合模型,对指标预聚合,供业务使用。 Asia2024 业务应用: Asia2024 DorisSummit 通过数据服务平台,提供查询API接口,赋能给上层业务使用。 orisSummit Asia2024 Asia2024 mit Asia2024 DorisSummit Asia2024 DorisSummit A DorisSummit Asia2024 DorisSummit Asia202 2.5SelectDB在日志收集分析中的运用-架构及效果 DorisSummit 整体架构 orisSummit Asia2024 DorisSummit A Asia202 2.6SelectDB案例-日志检索分析-建表示例 CREATETABLEXXX_LOGS( tsDATETIME, DorisSummit pathTEXT,messageTEXT, Asia2024 DorisSummit hostnameVARCHAR(30),ipARRAY<VARCHAR(20)>, INDEXidx_path(path)USINGINVERTED,INDEXidx_host(hostname)USINGINVERTED, INDEXidx_msg(message)USINGINVERTEDPROPERTIES("parser"="unicode") ) ENGINE=OLAP Asia2024 DorisSummit DUPLICATEKEY(ts)PARTITIONBYRANGE(ts)() Asia2024 DISTRIBUTEDBYRANDOMBUCKETSAUTOPROPERTIES( "compression"="zstd","compaction_policy"="time_series","dynamic_partition.enable"="true", Asia2024 DorisSummit "dynamic_partition.create_history_partition"="true","dynamic_partition.time_unit"="DAY","dynamic_partition.start"="-7", "dynamic_partition.end"="3","dynamic_partition.prefix"="p" mit ); Asia2024 DorisSummit 2.6SelectDB案例-日志检索分析-load示例 orisSummit A Asia202 DorisSummit Asia2024 CREATEROUTINELOADdatabase.test_jobONXXX_LOGSCOLUMNS(ts,path,message,hostname,ip)PROPERTIES ( "desired_concurrent_number"="1","format"="json", "strict_mode"="false","jsonpaths"= "[\"$.@timestamp\",\"$.log.file.path\",\"$.message\",\"$.host.hostname\",\"$.host.ip\"]" Asia2024 DorisSummit ) FROMKAFKA( "kafka_broker_list"="ip:9092","kafka_topic"="flink_logs","property.group.id"="t1_g", "property.kafka_default_offsets"="OFFSET_BEGINNING" Asia2024 ); 注意点: (1)Doris建表语句 DorisSummit •当使用DATETIME类型的时间字段作为主键Key时,查询最新n条日志的速度会得到显著提升。 •使用基于时间字段的RANGE分区,并开启动态Partiiton,以便按天自动管理分区,提升数据查询和管理的灵活性。 •在分桶策略上,可以使⽤RANDOM进行随机分 桶,分桶数量大致设置为集群磁盘总数的3倍。 •对于经常需要查询的字段,建议构建索引以提高查询效率;而对于需要进行全文