数据仓库和湖屋分析以MySQLHeatWave的思想速度 GauravChadha MySQLHeatWave高级开发经理2024年5月1日 安全港声明 以下旨在概述我们产品的geral发展方向。本文件仅作参考之用 ,不得纳入任何合同。这不构成对交付任何材料、代码或功能的承诺,也不应成为购买决策的依据。Oracle的产品中所描述的任何特性或功能的开发、发布、时间安排和定价都可能发生变化,并由Oracle公司独家决定。 2版权所有©2024,Oracle和/或其附属公司 数据有不同的风格和数量 OLTP SQL分析/ OLAP MySQL MySQL 热波仓库 GBs 机器学习 热波AutoML >80% 外部表 TBs 17–5ZIDBC-到2025年的全球 的数据热波 数据湖湖屋 PB 非结构化数据 热波VectorStore MySQLHeatWave MySQL存储 在一个数据库服务中进行交易,跨数据仓库和数据湖的实时分析以及机器学习 社交、电子商务、物联网、游戏、金融科技应用。分析和机器学习工具 查询 Results MySQLHeatWave OLTP 分析 数据库中ML 自动驾驶 Database出口 对象存储 数据源 企业 Apps 网络/社交 IoT 日志文件 流式数据 Database出口 从16GB扩展到512TB 使用HeatWaveLakehouse处理所有工作负载 4版权所有©2024,Oracle和/或其附属公司 数据仓库的行业成本最低 价格性能比较10TBTPC-H 23X 比 Redshift 27X 比雪花 27X 比 BigQuery 60X 比Databricks 1年预订,预付 标准版保留1年保留1年 便宜得多 根据10TBTPC-H基准测试截至2023年5月23日。Redshift、Snowflake、Databricks和BigQuery的10TBTPC-H数据由第三方提供。基准查询源自TPC-H基准测试,但结果不可与已发布的TPC-H基准测试结果进行比较,因为这些结果不符合TPC-H规范。 5版权所有©2024,Oracle和/或其附属公司 解析函数-CUBE、HLL 促进非MYSQL工作负载的迁移 操作员 雪花 AWSRedshift GoogleBigQuery Databricks PostgreSQL MySQL 热波 CUBE X HLL_COUNT 分组 Sets X Qualify X 表示例 X 6版权所有©2024,Oracle和/或其附属公司 99.5% 99.5%的收集数据仍未使用 7版权所有©2024,Oracle和/或其附属公司 HeatWave湖屋表界面 作为外部表的对象存储中的数据的简单接口 •使用现有语法提供特定于Lakehouse的功能,并且是可扩展的 在可扩展JSON接口中指定的外部源文件位置 •文件可以分布在多个对象存储桶 100%符合标准MySQL语法 >CREATETABLEtbl_name<create_definition>ENGINE=湖房ENGINE_ATTRIBUTE='<engine_options>' SECONDARY_ENGINE=快速; 8OracleCloudWorld版权所有©2023,Oracle和/或其附属公司 加载命令 MySQLAutopilot-自动并行加载 DDL创✁不存在✁表 •使用推断✁列类型•长度•精度•设置引擎•设置引擎属性•可以提取列名 DDL创✁不存在✁DB 从文件自动生成 数据库或对象存储中✁数据具有相同✁性能 使用对象存储上✁数据开发应用程序,而不会影响性能 查询执行时间:10TBTPC-H 120 1.3分钟 59秒 热波 HeatWave湖屋 雪花 AmazonRedshift Google大查询 Databricks 47秒 1.75分钟 14秒 14秒 100 80 查询时间(秒) 60 40 20 0 配置:MySQLHeatWave湖屋:512节点;Snowflake:4X大型集群;Databricks:3X大型集群;AmazonRedshift:20-ra3.16xlarge;GoogleBigQuery:6400个槽位。基准查询源自TPC-H基准测试,但结果不与公布✁TPC-H基准测试结果可比,因为这些测试不符合TPC-H规范。 HeatWaveLakehouse可扩展至500TB 500TBTPC-H* 45 2.1x 较慢 5.8x 较慢 8.7x 较慢 9.3x 较慢 40 35 30 加载时间(小时) 25 20 15 10 5 0 MySQLHWLakehouse (512个节点) Redshift (30xra3.16xlarge) Sowflake(4X-大型集群) Databricks(3X-大型集群) GoogleBigQuery(6400个插槽) 基准数据源自TPC-H基准测试,但结果不可与公布✁TPC-H基准测试结果进行比较,因为这些结果不符合TPC-H规范。 HeatWaveLakehouse将支持扩展到半结构化数据 •CSV,镶木地板和Avro文件格式✁JSON数据现在可以由HeatWave处理 •支持扩展到换行符分隔✁JSON文件 •易于解析和流式传输使其成为最流行✁JSON格式 •NDJSON数据摄取和处理规模类似于结构化文件格式 …["name":"简","学术背景":["本科":"麻省理工学院","研究生":"德克萨斯大学奥斯汀分校"]]," 年龄":24]["name":"吉尔","学术背景":["本科":"麦迪逊","研究生":"斯坦福大学"]],"年龄":27] … NDJSON文件示例 12版权所有©2024,Oracle和/或其附属公司 JSON加速与HeatWave JSON文档上✁查询处理和实时分析 DMLs在中传播实时 •数据压缩到3X •跨节点扩展 JSON查询(512GB) MySQL(秒) 热波(秒) 加速 简单✁筛选器查询 5200 240 20x 聚合查询 5500 250 22x 大型联接查询 >10hrs 300 144x 13版权所有©2024,Oracle和/或其附属公司 Lakehouse表中✁增量数据加载 功能 1对1LH数据映射 用户存储桶 •功能:更新Lakehouse表数据以反映用户数据中✁修改 •在任意时间点提供用户数据与湖屋表数据之间✁1对1映射 •仅增量应用用户数据✁变化部分到现有表数据上 •通过SQL命令手动触发增量加载 变更单位 对象存储 对象3 对象1 对象2 对象3 对象4 == 对象 •已读-已提交&快照隔离:Lakehouse表上✁查询永远不会被阻止 •查询在查询开始时提交✁数据版本上运行 •集成到现有✁AutoLoad接口 Lakehouse表中✁增量数据加载 扩展增量摄取 •数据更新✁粒度是对应于数千个记录✁对象 •用户数据更改检测:在用户启动✁SQL命令中,检测到用户数据更改 •用户存储桶中✁对象可以是已添加,已删除,or已更新 •将当前对象列表与上次表加载或增量加载✁列表进行比较计算✁增量 new切片1 对象1==切片1 HeatWave表 … 转型 data … 对象商店 热泵转换 … 切片N new切片N Txn •Delta应用设计:将每个对象视为表格✁新水平切片 •对于添加或更新✁对象,以水平扩展✁方式在HeatWave集群类似✁表加载过程中进行转换和摄取•批量插入操作:通过文件内外层✁并行处理实现HeatPump✁扩展性•对于删除✁对象,执行快速✁内存操作,通过更新表版本来移除表切片 在HeatWave中为对象存储中✁数据执行部分查询 在HeatWave中执行部分查询,在MySQL中休息 HeatWaveAutoMLGraalVM/Javascript 硬件不支持 硬件支持MySQL节点 MySQL 查询 MySQL JavaScript执行 SQL 执行 必要data转让 HeatWave群集 HeatWave中✁子查询 查询Results 剩余子查询 在MySQL服务器上执行 16 HeatWaveAutoML:数据库中✁机器学习 预处理 算法选择 自适应取样 超参数优化 模型解释器 预测解释者 已调谐模型 模型模型模型培训推理解释 数据库中ML AmazonS3 热波 AWSAuroraAWSRedshiftMySQL出口出口出口 •消除繁琐和费力✁步骤 •适用于初学者或高级ML用户✁简单易用界面 •自动选择算法并调整它 •可解释✁模型行为和预测 •快速训练允许快速迭代并实现期望✁结果 •关于InnoDB和ObjectStore中数据✁ML(Lakehouse) 版权所有©2024,Oracle和/或其附属公司17 MySQLHeatWave中✁本机向量处理 •MySQL和HeatWave支持新✁矢量数据类型•矢量列✁内存混合列式存储格式 矢量数据类型 •利用SIMD指令进行矢量处理•处理接近内存带宽 矢量处理 •端到端数据管理,包括嵌入生成•与绑定复制等功能集成 数据管理 18版权所有©2024,Oracle和/或其附属公司 非结构化数据在HeatWave矢量存储中转换 [key1:val1,...][key1:val1,...][key1:val1,...] Parse Text Table Image 非结构化 data Generate矢量 嵌入 不同✁ML模型用于不同✁数据模式 [1.0,2.0,…] [0.5,3.5,…] [1.5,3.0,…] [1.0,2.0,…] [0.5,3.5,…] [1.0,2.0,…] 矢量商店 矢量嵌入 元数据 自动为多种文件格式✁文本生成嵌入 版权所有©2024Oracle和/或其关联公司。19 使用HeatWaveLakehouse扩展矢量存储创✁ 使用OutsideIn(OIT)和跨节点✁并发嵌入生成来解析源文件 客户存储桶 HeatWave群集 HeatWave存储 Read OIT 解析器 分段器 编码器 代 Table 湖屋 矢量存储表 Read OIT 解析器 分段器 编码器 Table 代 Read OIT 解析器 分段器 编码器 代 Table Distribute分部 跨越热波 群集 20版权所有©2024,Oracle和/或其附属公司|机密:内部 使用SQL✁精确最近邻搜索 TOP-K 数字 imagename VECTOR_DISTANCE 1 digit1_001.png 0.012 1 digit1_002.png 0.013 … 代表查询计划 VECTOR_DISTANCEO(N) Table:N行mnist 选择数字,imagenameFROMmnist ORDERBYVECTOR_DISTANCE(嵌入,@ query_embeding)LIMIT3; 向量存储可用于SQL查询或RAG 推荐人 系统 餐厅✁议 检索代理 增强 提示LLM 顶部✁议 从顶部✁菜肴推荐 餐厅 SQL与分析 和矢量Operations 矢量商店 MySQL Tables 结果使用品种 业务和用户 data查询 ⨝Results ⨝ 22版权所有©2024,Oracle和/或其附属公司 使用HeatWave矢量存储 创✁矢量存储 #从对象存储中摄取文档,就像任何Lakehouse表一样 CALLsys.heatwave_load("vector_store",@load_params); 查询向量存储本机SQL语法 #示例:查找语