暂无图片
暂无图片
3
暂无图片
暂无图片
暂无图片

[转] MySQL HeatWave 介绍

原创 代野(Tank) 2022-11-22
2485

MySQL是最流行的开源数据库,在2021年8月的DB-Engines大排名中仅次于商用数据库Oracle,位居第二。MySQL是面向OLTP优化的数据库,支持不同种类的存储引擎。在MySQL HeatWave发布之前,其中和内存相关的存储引擎包括MEMORY和NDB Cluster。MEMORY存储引擎可以将整个表的数据置入内存中,提供快速低延时的访问。但由于其不提供持久化,数据在硬件异常或数据库重启时会丢失,因此只适合于存放以读取为主、临时访问的非关键数据,如缓存或会话管理数据。和MEMORY一样,NDB Cluster也是内存数据库引擎,通过定期磁盘检查点支持数据的持久化,提供更好的事务支持和可扩展性。

如果要对MySQL中的数据进行分析,通常需要定义复杂的业务逻辑将MySQL中的数据抽取到专门的分析型数据仓库。其中涉及数据传输的安全保障问题、数据实时性和增量抽取的问题,以及维护多个系统的管理开销和成本。2020年4月,Oracle在公有云上发布了MySQL数据库服务,紧接着在年底又推出了配套的MySQL分析型引擎,2021年1月正式更名为MySQL HeatWave。

MySQL HeatWave是基于内存的分析型引擎,由一个MySQL数据库服务和多个分析节点组成。HeatWave安装于MySQL数据库服务器节点,负责集群管理,加载数据到HeatWave节点的内存中,查询调度和查询执行。HeatWave支持所有的MySQL语法,因此现有使用标准ODBC/JDBC连接器的应用和分析工具均可不加改变地使用。HeatWave使得MySQL可以同时支持交易型和分析型负载,MySQL自动根据工作负载的特征将查询转发到OLTP引擎或分析型引擎。

需要分析型处理的数据以内存列格式存放于HeatWave节点的内存中,节点的数量取决于需要分析的数据量和内存压缩比。HeatWave分析集群最少为两个节点,最多可扩展到64个节点,节点类型支持虚拟机和物理机。单个虚拟机节点配置为16CPU核和512GB内存,可以存放约400GB数据。10TB以上数据建议采用物理机节点,单个物理机节点配置为128CPU核和2TB内存。

分析型数据在整个HeatWave节点中进行分区,在分区内部可以结合多核和SIMD向量处理,整体架构提供良好的可扩展性。HeatWave集群中的每个节点,节点中每一个CPU核都支持对分区的数据进行并行处理,包括扫描、过滤、联结、聚合等操作。HeatWave集群可在线添加和减少节点,但由于数据是在所有节点中进行分布的,因此集群伸缩后需要重新加载数据以重新分布。

摘自《Oracle Database In-Memory 架构与实践》

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论