第四范式面向机器学习的高可用高并发数据库

如果无法正常显示,请先停止浏览器的去广告插件。
分享至:
1. 第四范式 面向机器学习的高可用、 高并发数据库: OpenMLDB 张浩 开源项目OpenMLDB PMC 第四范式系统架构科学家
2.
3. • 机器学习工程化落地的数据和特征挑战 • 机器学习数据库 OpenMLDB 介绍 • 高可用、高并发的线上引擎 • 开源一周年、感恩前行
4. • 机器学习工程化落地的数据和特征挑战
5. 正确、高效的AI 数据和特征供给 成为数据侧的新挑战 95% 时间精力花费 在数据上 Source: How to Operationalize Machine Learning and Data Science Projects, Gartner, July 201 ≠ AI
6. 机器学习应用从开发到上线全流程(MLOps)
7. 毫秒级实时特征计算,最大化机器学习决策业务效果 硬实时计算真正满足 AI 需求 – 实时数据、实时计算 流式计算为 Big Data 和 BI 设计 银行要求毫秒级业务响应 以某银行反欺诈场景为例 客户需求:响应时间20ms内、高准召率 反欺诈系统 硬实时场景蕴藏巨大商业价值,鲜有通用商业化产品
8. 业务场景:满足生产级上线需求的实时推荐系统
9. 特征计算工程化的最大挑战:线上线下一致性校验
10. 线上线下一致性校验带来的高昂工程化落地成本
11. 特征平台工程化解决方案
12. • 机器学习数据库 OpenMLDB 介绍
13. OpenMLDB 是一个开源机器学习数据库, 提供线上线下一致的特征平台 线下:基于 Spark 优化的离 线 SQL 引擎 - 线上:自研毫秒级的实时 SQL 引擎(基于内存或者外 存存储) - 一致性执行计划生成器保证 线上线下一致性 - 开发即上线 三步骤 1. 2. 3. 线下 SQL 特征脚本开发 一键部署上线 接入实时请求数据流
14. 从离线开发到线上服务完整流程
15. 解决一个核心问题,提供一个核心特性 解决核心问题 机器学习线上线下一致性 提供核心特性 毫秒级实时特征计算
16. OpenMLDB 产品特性一:线上线下一致性执行引擎 统一的底层计算函数 § 逻辑计划到物理计划的线上 线下执行模式自适应调整 § 线上线下一致性得到 天然保障
17. OpenMLDB 产品特性二:低门槛且功能强大的数据 库开发体验 基于 SQL 和 CLI 的全流程开发体验
18. OpenMLDB 产品特性三: 针对特征工程的 SQL扩展 Last Join 匹配最后一条记录 Window Union 多表聚合
19. OpenMLDB 产品特性四:面向特征计算的定制化性 能优化 离线特征计算 在线特征计算 - 多窗口并行计算优化 - 高性能双层跳表内存索引数据结构 - Spark - 高压力、复杂查询小于 - 数据倾斜计算优化 特征计算优化发行版 - 高可用 20毫秒 延迟
20. OpenMLDB 产品特性五:企业级特性支持 为大规模 企业级 应用而生 已在 上百个 场景中实践落地
21. OpenMLDB 上下游生态 * 自研组件
22. • 高可用、高并发的线上引擎
23. OpenMLDB 线上引擎整体架构 线上引擎包含主要模块 - ZooKeeper - Nameserver - Tablets - SQL 执行引擎 - 存储引擎
24. SQL执行引擎 功能强大 离线在线统一的SQL引擎 - 内置上百个常用函数 - 支持UDF动态扩展 - 性能优化 LLVM codegen - 循环绑定 - 窗口合并 -
25. 分布式SQL引擎 • 主tablet作为协调者 • 发送子查询到其他tablets(异步) • 合并子查询结果 • 子查询并行执行
26. 在线存储引擎 在线引擎提供基于内存和外存的两种存储引 擎选择 - - - 基于内存:低延迟、高并发;较高使用成本 - 提供毫秒级延迟响应 基于外存:对性能较不敏感;低成本使用落地 - 基于 SSD 的典型配置下成本可下降 75% 两种引擎上层业务代码无感知,零成本切换
27. 内存存储引擎核心数据结构 双层跳表内存索引结构 高效插入和查询 - Lock-free - Time-travel - snapshot - binlog -
28. 内存存储引擎核心数据结构 Lock Free • 满足高并发数据访问需求
29. 外存存储引擎数据模型 – 基于 RocksDB
30. 高效的编解码格式 • • 节省内存 方便做project
31. 表数据分片/副本 - - - 一张表会有多个分片(partition) 一张表可以有多个副本(replica) 不同分片的leader会分布在不同的节点上
32. replica主从同步 • 主从之间通过binlog实现数据同步 • 定期生成snapshot
33. 预聚合技术 - 目的:优化长窗口计算效率 - 技术:预聚合部分结果用于实 时计算
34. 预聚合技术 - - 预聚合发生在数据插入 特征提取:预聚合表 + 原始表 进行聚合
35. 在线引擎性能测试 - - 研究不同参数变化下的性能表现 详细实验数据和脚本参照 : https://github.com/4paradigm/OpenMLDB/tree/main/benchmark - 完整实验测试报告见: https://openmldb.feishu.cn/wiki/wikcnZRB9VRkqgD1vDFu1F9AaTh 测试基准 SQL
36. Window 数目以及 LAST JOIN 数目影响 增加窗口数目 à 请求的延迟 ↑ (<10 ms) à 吞吐 ↓ 增加Join表数目 à 请求的延迟 ↑ (<10 ms) à 吞吐 ↓
37. 窗口内数据条数和索引列基数影响 增加窗口大小 à 请求的延迟 ↑ (<15 ms) à 吞吐 ↓ 增加索引基数 à 请求的延迟不变 à 吞吐不变
38. 预聚合技术 预聚合优化使得在长窗口查询下,无论延迟还是吞吐,性能都提升了两个数量级
39. • 开源一周年、感恩前行
40. OpenMLDB 发展历程
41. OpenMLDB 开源一周年,感谢社区贡献者
42. 开源一周年,社区数字 版本迭代:v0.1 – v0.6 合并 PR 数目:1,117 开发者数量:103 Issue 总数量:1,156 - 排名前 15 开发者(按 commit 数 - 已解决 Issue 数量:863 量)来自不同组织数目:7
43. 欢迎加入 OpenMLDB 开源社区 中文官网:https://openmldb.ai/ GitHub: https://github.com/4paradigm/OpenMLDB WE ARE HIRING (Fulltime & Intern) OpenMLDB 微信交流群 个人微信(张浩)
44.
45.

首页 - Wiki
Copyright © 2011-2024 iteam. Current version is 2.137.3. UTC+08:00, 2024-11-25 06:37
浙ICP备14020137号-1 $访客地图$