阳启科技

Oracle Exadata 决策者指南

发布时间:2024-07-09    阅览次数:984 次  

Oracle Exadata 决策者指南


“完美不是指不能添加任何东西,而是不能去掉任何东西…”

这句话出自法国作家安托万·德圣埃克絮佩里于1939年创作的回忆录《风沙星辰》。如果你对作者的名字感到陌生,那你一定听说过他之后的另一部作品:《小王子》。

此处引用这句话,是因为小编觉得这也正是Exadata一直以来所努力追求的目标。

本文翻译自Oracle官网的Exadata 决策者指南(点击文末“阅读原文”可获得英文版链接)。此文是决策者评估 Exadata 系列产品和云服务的指南,它涵盖 Exadata 使用场景和设计理念、技术基础,以及网络、硬件和数据库软件如何在 Exadata 中协同工作。最后是对 Exadata 各代的完整总结,将所有创新联系在一起,形成一个连贯的演进故事。

以下为中文翻译,希望能帮助决策者了解Exadata的设计初衷和核心价值点。另外,大家都知道,Exadata被称为“Engineered System”或“工程化系统”,文章的最后,我们将为大家解读“工程化系统”这一概念。

翻译正文


Oracle Exadata 旨在为 Oracle 数据库提供更好的性能、成本效益和可用性。凭借高性能数据库服务器、采用先进存储缓存技术的横向扩展智能存储服务器以及支持 RDMA 的云规模内部网络结构,Oracle Exadata 是运行 Oracle 数据库的优选平台。
2_副本.png


简介


Oracle Exadata数据库云服务器(Exadata)是专门用于运行Oracle数据库的计算和存储平台。Exadata 的目标是通过优化和集成各级硬件和软件,并将数据库算法和智能转移到存储和网络中,绕过传统的通用服务器层,以更低的成本实现更高的性能和可用性。

Exadata 是一个软硬件组合的平台,包括横向扩展数据库服务器、横向扩展智能存储服务器、超高速网络、内存加速、NVMe 闪存以及各种配置和价位的专用 Exadata 软件。Exadata 存储采用高性能服务器来存储数据并运行 Exadata 软件,直接在共享存储层中进行数据密集型数据库处理。

Exadata简史


Exadata 于 2008 年首次亮相,是 Oracle 工程集成系统系列中的第一个产品,用于在企业数据中心部署数据库私有云。2015 年 10 月,Exadata 在 Oracle 公有云中作为订阅服务提供,称为 Exadata 云服务, 2022 年重新命名为 Exadata 云基础设施,支持 Exadata 数据库服务和自治数据库云服务。
在 Exadata 云基础设施上使用 Exadata 数据库服务部署的 Oracle 数据库与部署在本地 Exadata 上的数据库 100% 兼容,使客户能够在零应用程序更改的情况下过渡到 Oracle 云。Oracle 负责管理这项服务,包括硬件、网络、Linux 软件和 Exadata 软件,而客户则保留对其数据库的完全控制。
2017 年初,第三种 Exadata 部署选项推出。Exadata Cloud@Customer 是部署在本地(位于客户防火墙后面)并由 Oracle 云专家管理的 Exadata 云基础设施。Exadata Cloud@Customer 由 Oracle 拥有和管理,并由客户通过即用即付订阅方式获取。Oracle Cloud@Customer 带来了 Oracle 公有云的所有优势,同时解决了潜在的网络延迟、安全性和监管问题。
2018 年,Oracle 推出了 Oracle 自治数据库,这是一种基于云的自动驾驶、自动安全、自动保护数据库,可提供关键任务可用性和安全性,同时降低管理成本。Oracle 自治数据库可在 Exadata 云基础设施和 Exadata Cloud@Customer 部署上使用。
2019年,Exadata X8M的发布通过添加持久内存(PMem)和融合以太网(RoCE)上的RDMA(远程直接内存访问)两项重大技术突破,增强了Exadata的性能。Oracle Exadata X8M 使用 RDMA 直接从数据库访问智能存储服务器中的持久内存,绕过整个操作系统、I/O 和网络软件堆栈。这带来了更低的延迟和更高的吞吐量。
2023 年,由于持久内存供应商格局的变化,Exadata X10M 版本用 Exadata RDMA 内存 (XRMEM) 取代了持久内存,这是一种新的存储内存加速层。同样重要的是,所有 Exadata 服务器都采用了 AMD 处理器,从而大幅增加了可用计算核心的数量。

Exadata使用场景


Exadata 旨在以深度优化的方式运行全面的 Oracle 数据库工作负载或工作负载组合,例如与分析处理同时运行的 OLTP 应用程序。该平台常用于整合以前在专用数据库服务器上运行的众多数据库。Exadata 的横向扩展架构天然适合在 Oracle 云中运行,其中计算需求可以动态伸缩。
从历史上看,专门的数据库计算平台是为特定的工作负载(例如数据仓库)而设计的,对于其他工作负载(例如 OLTP)来说效果很差或无法使用。Exadata 对所有数据库工作负载进行了优化,以便混合工作负载公平地共享系统资源。Exadata 资源管理功能会自动确定系统资源分配的优先级,例如优先考虑交互式用户服务,而不是报告和批处理,即使他们正在访问相同的数据。
长时间运行的请求(典型的数据仓库、报告、批处理作业和分析)的运行速度比传统的非 Exadata 数据库服务器快很多倍。客户参考资料中经常提到性能提升了 10 倍或更高。分析工作负载还可以使用 Exadata 上的 Oracle Database In-Memory 选项来获得额外的加速,并且 Exadata 上的内存数据库已进行了扩展,可以利用闪存,其容量比 DRAM 的容量大很多倍。Exadata 的混合列压缩功能旨在减少数据仓库和归档数据的存储消耗,并通过减少 I/O 量来提高性能。
Exadata 上的事务 (OLTP) 工作负载受益于将 XRMEM(内存加速)和闪存纳入 Exadata 的存储层次结构,以及 XRMEM、闪存和磁盘存储之间的数据自动分层。特殊算法优化了响应时间敏感的数据库操作,例如日志写入。对于要求极苛刻的OLTP,全闪存存储完全消除了磁盘介质的延迟。

Exadata设计理念

为了更好地理解 Exadata 的设计,将其与传统的数据库计算平台进行比较会有所帮助,传统的数据库计算平台由独立运行的单独硬件和软件组件组装而成。

传统计算平台是通用的

构成典型数据库计算平台的硬件组件包括数据库服务器、网络和存储阵列。数据库软件运行在数据库服务器上,通过网络向存储阵列发送数据或从存储阵列接收数据。硬件组件使用标准软件协议相互通信。这种通过标准接口的分离使得通用计算平台能够运行来自不同供应商的各种工作负载、软件和硬件。所有应用程序逻辑和数据处理都在数据库服务器上执行,所有数据都必须发送到数据库服务器。这种方法允许将计算平台用于广泛的软件应用程序,尽管它不会针对任何特定应用程序进行优化。

Oracle 数据库是 Exadata 的重点


Exadata 的目标是创建针对 Oracle 数据库量身定制的完整软件和硬件堆栈,在适合的位置执行处理。由于 Exadata 仅处理 Oracle 数据库请求,因此它可以在所有软件层中利用这一重点。硬件设计包括集成到架构中的超高速以太网、专用 DRAM 缓存 (XRMEM) 和闪存等技术,为 Oracle 数据库应用程序带来极大优势。鉴于数据存储对数据库的重要性,Oracle Exadata 特别注重平台的优化。
Exadata 在存储层使用独特的技术,可以轻松横向扩展和并行化 Oracle 数据库请求。添加了闪存和 XRMEM的Exadata 存储服务器还为优化存储层性能提供了一系列可能性。例如,随着闪存存储的性能和容量快速增加,网络可能成为传统数据库平台的瓶颈,而Exadata将数据库处理卸载到Exadata存储服务器则避免了此问题。Exadata存储层添加XRMEM,更加凸显了传统平台的局限性。

将数据库智能添加到存储


在构思 Exadata这个产品时,Oracle已拥有数十年的数据库软件开发经验,并且非常清楚传统计算平台的限制和性能瓶颈。为了完成 Exadata 使命,Oracle 需要一个可以轻松横向扩展和并行化 Oracle 数据库请求的存储层。Oracle 还认识到存储层不仅仅是存储和传输数据,还可以用来处理数据库请求。例如,如果要在一张大表中查询少量数据,传统方式需要将整个数据库表通过网络发送到数据库服务器,而Exadata通过在存储中完成数据过滤,只需将少量结果数据通过网络传输。

总之,Oracle 认识到需要一种功能强大的服务器,可以运行智能数据库软件并充当存储阵列,并采用模块化设计,可以随着数据库的增长轻松扩展容量和性能。通过将 Exadata 重点放在适合 Oracle 数据库的方面,构建可与数据库服务器协作执行数据库请求的“数据库感知”存储服务器成为一项非常重要的任务。
数据库感知的Exadata存储服务器是Oracle为了取代传统存储阵列而发明的,是Exadata的基础。

全栈优化


为了极大限度地提高 Exadata 的有效性,Oracle 控制该平台的软件和硬件组件,以便可以随时随地紧密集成并进行协调改进。
在 Exadata 诞生之初,Oracle 就已经拥有了广泛的软件产品组合,涵盖了运行数据库平台所需的大部分软件层,例如 Oracle Linux 操作系统、存储管理软件、监控和管理工具以及虚拟化软件, 当然,还有 Oracle 数据库及选件。
2008 年的最初版本 Exadata (V1) 是 Oracle(软件)和 Hewlett-Packard(硬件)联合开发的。第二代(V2)Exadata改用Sun Microsystems的硬件,不久之后,Oracle收购了Sun Microsystems,从而获得了Exadata主要硬件组件的所有权。
拥有 Exadata 的主要硬件组件使 Oracle 能够开发以Oracle 数据库优化为核心的整个计算平台。对客户来说的另一项好处是由一个供应商支持整个 Exadata 平台:这是由来自多个供应商的软硬件组合的传统计算平台所很难实现的。

Exadata智能软件


随着初始版本证明了 Exadata 概念的价值,Oracle 开始定期发布新软件功能,与前沿硬件组件的发布和整合紧密结合。
利用 Oracle 数据库格式和算法的知识以及对应用程序工作负载的了解,这些在 Oracle 数据库以及平台中的所有软件和固件中运行的“智能”软件增强功能超越了传统数据库平台的功能。在 Exadata 存储服务器软件中运行 Oracle 数据库例程的能力是实现这一优势的主要因素。
由于硬件和软件的集成,Exadata 特有的软件增强功能在某些领域实现了更好的性能。例如,当 OLTP 应用程序向数据库软件提交事务时,Exadata 将该请求视为关键操作,并在网络和存储服务器中相应地确定优先级。事务提交请求将跳到网络上和 I/O 队列中不太紧急的消息之前。
另一个例子是使用闪存来缓存分析应用程序访问的数据。由于列式数据格式对于分析工作负载更有效,因此当 Exadata 将行格式数据从磁盘移动到闪存时,它会自动将数据重新格式化为列式格式。
这些示例说明了 Oracle 数据库如何理解应用程序的意图,并将这种理解传递到网络和存储软件,然后网络和存储软件做出相应的行为。
自 Exadata 于 2008 年首次亮相以来,每年都会发布一到两个重要的 Exadata 软件版本,提供数十种“智能”软件增强功能。大多数增强功能都基于少量的核心技术基础,如下所述。

技术基础


卸载到存储 - 是指在 Exadata 存储服务器内执行数据密集型数据库操作,例如数据扫描、表连接以及行和列的过滤。仅发送操作的描述并返回过滤结果,大大减少了数据库服务器和存储服务器之间的网络流量。这避免了传统架构的网络瓶颈,在传统架构中,数据密集型操作需要在存储和数据库服务器之间传输大量数据。卸载之所以成为可能,是因为 Exadata 存储构建在标准服务器上,能够与数据库服务器和存储I/O协调运行数据库功能。随着时间的推移,更多的数据库功能和更多的数据类型被卸载。此外,如果 Exadata 存储太繁忙,“反向卸载”会将操作推回到数据库服务器。

存储索引 - 通过跟踪相对较小的存储区域内的列值来避免 I/O。存储索引自动维护并保存在 Exadata 存储服务器上的内存中。如果存储索引指示某个区域的 I/O 找不到匹配项,则可以避免该 I/O,从而带来显著的性能优势。最初,存储索引跟踪少量列内的值范围。随着时间的推移,更多和更复杂的列值跟踪被添加,以便可以避免更多类别的 I/O 操作。
闪存和 XRMEM 缓存 - 提供闪存和 DRAM 的低延迟(快速响应),同时保留较低成本的磁盘来存储大型数据库,以低成本实现高 I/O 性能。通常,数据库中只有一小部分在任何时候都是活动的。如果仅将这部分数据保存在闪存中,则 I/O 性能将与全闪存存储相同,但成本要低得多。Exadata 监控当前工作负载并以适宜的格式将极活跃的数据保存在闪存或 XRMEM 中。例如,Exadata 知道 I/O 何时属于数据库备份的一部分,而非活动数据块,而传统存储阵列将任何 I/O 视为“热”块。闪存缓存还将在闪存中将行重新格式化为列格式,以便分析型负载使用。最初,闪存缓存仅用于读取数据,但后来得到增强,包括日志写入和所有其他写入 I/O。闪存缓存还用作 Oracle 内存数据库列式数据存储的扩展,适用于比单独 DRAM 容量大得多的内存数据库。XRMEM 在存储中添加了更快的缓存,并显著改善了每秒 I/O (IOPS) 和延迟。
混合列压缩 (HCC) - 减少不常更新数据(例如数据仓库)的存储量。传统数据压缩算法的压缩比可达2 到 4 倍,而由于列格式具有更高的压缩比,HCC的压缩比可到10到15 倍。大幅减少的 I/O 量也能大幅提升性能。最初,HCC 表不支持行级锁定,限制了它们在 OLTP 应用程序中的使用。2016 年,Exadata 上的 HCC 添加了对行锁的支持,从而提高了使用 HCC 数据的混合工作负载的性能。HCC 的混合格式使 Exadata 能够避免列式数据库的性能缺陷。
资源管理 - 根据优先级为数据库、应用程序和用户分配 Exadata 系统资源,例如 CPU、I/O 和网络带宽。在 Exadata 上整合许多数据库时,资源管理可确保适当的服务质量。I/O 资源管理在 Exadata V1 中首次亮相。Exadata X4 中添加了网络资源管理。
内存数据库 - Exadata 除重视存储和网络外,还可以利用数据库服务器上的 DRAM,为分析工作负载提供卓越的性能。Oracle Database In-Memory 于 2014 年在 Exadata 上推出,利用其快速内部网络实现内存容错。为了支持更大的内存数据库,Exadata 存储服务器在 Exadata 闪存中实现内存例程和内存数据格式,作为数据库服务器内存处理的扩展。

智能软件增强


下面是更详细的软件增强功能列表,按其对分析或 OLTP 工作负载的价值以及对数据库可用性和安全性的影响进行分组。类似的增强功能无法在传统平台上复制,因为它们需要修改系统软件和 API,以及跨数据库软件、操作系统、网络和存储的集成。
用于分析
  •  自动并行化数据扫描并将其卸载到存储
  •  根据“where”子句过滤存储中的行
  •  根据所选列过滤存储中的行
  •  JSON 和 XML 卸载
  •  根据与另一个表的连接过滤存储中的行
  •  卸载索引快速全扫描
  •  卸载对加密数据的扫描,符合 FIPS 合规性
  •  LOB 和 CLOB 的存储卸载
  •  存储索引数据跳过
  •  最小/最大操作的存储卸载
  •  数据挖掘卸载
  •  如果存储 CPU 繁忙,则反向卸载到数据库服务器
  •  混合列压缩
  •  闪存缓存的临时 I/O 可提高大型分析查询和大负载的性能
  •  所有端口活动网络消息传递
  •  存储服务器上的内存列缓存
  •  从闪存自动转换为内存中列格式
  •  及时智能列式解密
  •  具有列式缓存的智能聚合
  •  快速内存中列式缓存创建
  •  列式缓存持久化
  •  存储索引持久化

用于联机事务处理(OLTP)
  •  用于节点间数据传输的 Exafusion Direct-to-Wire 协议
  •  EXAchk 全栈验证
  •  Active AWR 包括用于端到端监控的存储统计信息
  •  存储节点的重新平衡可保留闪存缓存
  •  内存中提交缓存
  •  内存优化的 OLTP 和 IoT 查找
  •  存储节点的重新平衡可保留 XRMEM 缓存
  •  使用 RoCE 结构的 Exadata RDMA 内存 (XRMEM) 数据加速器(XRMEM 缓存)
  •  使用 RoCE Fabric 的 XRMEM 提交加速器(XRMEM 日志)(仅限 X8M、X9M)
  •  数据库感知 NVMe PCIe 闪存接口
  •  智能闪存日志
  •  智能闪存日志回写
  •  回写式闪存缓存
  •  按数据库、用户和工作负载进行 I/O 资源管理,以确保 QoS
  •  XRMEM 使用的数据库特定控制
  •  网络资源管理
  •  控制每个数据库的闪存缓存大小
  •  内存中 OLTP 加速
  •  远程 RDMA 读取Undo块
  •  多租户选项,每个容器数据库支持 4000 个可插拔数据库

用于可用性
  •  即时检测节点或单元故障
  •  磁盘或闪存上阻塞 I/O 的亚秒级故障转移
  •  将 OLTP 数据预取到辅助镜像 Flash Cache
  •  即时数据文件创建
  •  关键文件的优先重新平衡
  •  单元间重新平衡以保留闪存缓存数量
  •  针对预测性磁盘故障自动重新平衡
  •  将增量备份卸载到存储服务器
  •  对预计会失败的磁盘进行自动重新平衡
  •  使用机器学习自动监控 CPU、网络和内存
  •  自动识别性能不佳的磁盘
  •  只需一次操作即可对整个 Exadata 系统批量进行自动软件更新
  •  存储节点软件透明重启
  •  在线 Linux 修补 (Ksplice)

用于安全
  •  服务器、网络、数据库和存储层的全面监控和审计功能
  •  安全访问以对 (ILOM) 数据库和存储服务器执行安全无人值守管理
  •  所有登录和配置更改的审核记录
  •  FIPS 140-2 认证
  •  PCI-DSS 合规性
  •  较小的 Linux 发行版
  •  安全 RDMA 结构隔离
  •  磁盘和闪存的多遍安全擦除
  •  受防火墙保护的 Exadata 存储服务器
  •  安全的网络访问
  •  安全 RDMA 结构隔离
  •  快速、基于硬件 (AES) 的加密/解密
  •  全栈安全扫描
  •  数据库和 ASM 范围的安全性
  •  快速、安全的磁盘和闪存擦除器(加密擦除)
  •  高级入侵检测环境 (AIDE) 可检测系统软件的未知更改并发出警报
  •  InfiniBand 分区
  •  支持IPV6
  •  安全计算过滤以限制系统调用
  •  操作系统用户的集中识别和授权

数据库软件

Exadata X10M 数据库服务器运行 Oracle Linux 8 操作系统、Oracle Database 19c 企业版和 Oracle Database 21c 企业版。Exadata 系统资源可以选择使用基于 KVM 的 Oracle 虚拟机管理程序进行虚拟化。所有 Oracle 数据库选项,例如真正应用集群、多租户、内存数据库、高级压缩、高级安全性、分区、Active Data Guard 等都可以在 Exadata上选择使用。
经过 Oracle 数据库支持版本认证的应用程序会自动与 Exadata 兼容。不需要额外的修改或认证。在本地 Exadata 上运行的相同数据库软件将在 Exadata 云基础设施和 Exadata Cloud@Customer 上运行。此外,本地软件许可证可以通过自带许可证 (BYOL) 转移到 Oracle 公有云或 Exadata Cloud@Customer。Oracle 自治数据库仅在 Exadata 云平台上可用。

网络

Exadata 为内部和外部连接提供高速网络。支持 RDMA 的每秒 100 吉比特 (100 Gbit/s) 的以太网结构用于数据库和存储服务器之间的内部连接,并包括数据库集群互连流量。对于外部客户端连接,可以使用 100、25 和 10 Gbit/s 以太网端口。
Exadata 在以太网结构上使用定制设计的、面向数据库的协议来实现更高的性能。它广泛使用融合以太网 (RoCE) 上的远程直接内存访问 (RDMA),通过避免在服务器之间移动数据时的操作系统开销和额外副本来提高效率。Exadata 还具有直接连线协议,允许数据库直接与 RoCE 网卡通信。
Exadata 在其网络资源管理功能中利用 RoCE 服务等级来确定网络中重要流量的优先级。在此功能中,Oracle 数据库软件标记需要低延迟的网络消息,例如交互式用户发出的事务提交、锁定消息和 I/O 操作,使其优先于不太关键的高吞吐量工作负载(例如报告和批处理)发出的消息。结果类似于打开警报器的急救车可以在繁忙的交通中更快地移动 - 高优先级网络消息被移动到服务器、网络交换机和存储队列的前端,绕过较低优先级的消息,从而响应时间更快、更可控。

管理软件

对于在传统本地配置中部署的 Exadata 系统,Oracle Enterprise Manager (EM) 支持所有 Exadata 硬件和软件组件(例如数据库服务器、存储服务器和网络交换机)的单一管理平台视图,并监控在其上运行的操作。他们。EM 与内置 Exadata 管理工具以及客户现有的系统管理和帮助台工具集成。
Exadata 云基础设施和 Exadata Cloud@Customer 平台由 Oracle 云基础设施运营部门进行管理,而客户则控制和管理数据库服务器上运行的软件和数据库。Oracle 数据库的生命周期操作是使用 Web 浏览器、命令行界面 (CLI) 或通过云控制平面提供的 REST API 驱动的自动化来执行的,包括配置、更新、扩展和备份。
硬件
在 Exadata X10M 之前,Exadata 有两种型号:一种基于 2 插槽数据库服务器,另一种基于 8 插槽数据库服务器。由于每个插槽的核心数量较多,Exadata X10M 数据库服务器中采用的 AMD 处理器取代了 8 插槽 Exadata 型号。因此,对于 Exadata X10M,只有一种 Exadata 硬件型号可用,并且名称上的 -2 和 -8 后缀不再使用。
最新一代 Exadata X10M 于 2023 年 6 月推出。X10M 数据库和存储服务器采用 2 机架单元 (RU) 外形规格,采用 2 插槽 AMD EPYCTM 处理器,每个插槽分别有 96 个和 32 个内核。所有先前的 2 插槽 Exadata 各代都使用 1 RU 数据库服务器。使用 X10M,由于 AMD 处理器的性能更高,数据库服务器需要更多的通风和冷却空间。数据库服务器中的内存起始为 512 GB,可扩展到 3 TB。
Exadata 数据库云平台基本配置有 2 个数据库服务器和 3 个存储服务器,称为四分之一机架。随着数据库工作负载和/或数据的增加,可以使用 Exadata 的弹性配置添加额外的数据库和存储服务器,以增加并行执行的工作量。多机架 Exadata 配置可用于扩展超出单个机架的超大型工作负载。

Exadata存储服务器


Exadata 存储服务器有三种选择:极限闪存 (EF)、高容量 (HC) 和扩展 (XT)。X10M 极限闪存存储服务器是全闪存存储,包含 4 个性能优化型和 4 个容量优化型 NVMe 闪存驱动器,分别提供 27.2 TB Exadata 智能闪存缓存和 122.9 TB 原始闪存存储容量。每个存储服务器包含 1.25 TB 的 XRMEM 作为闪存前面的加速层,以进一步提高性能。
X10M 高容量存储服务器包含 12 个 22 TB 磁盘驱动器,总原始磁盘容量为 264 TB、27.2 TB NVMe Exadata 智能闪存缓存和 1.25 TB Exadata RDMA 内存。Exadata 智能闪存缓存由 Exadata 智能存储软件自动管理。
X10M 扩展存储服务器包含 12 个磁盘,每个磁盘 22 TB,原始存储容量总计 264 TB,但不包含闪存和XRMEM。扩展存储服务器无需 Exadata 存储服务器软件许可证。此存储选项将 Exadata 的运营和管理优势扩展到必须保持在线但很少访问的数据。
除了将存储服务器添加到 Exadata 四分之一机架配置中之外,还可以通过 Exadata 存储扩展机架添加存储服务器。
具有 EF 和 HC 存储服务器的四分之一机架 Exadata X10M 配置的性能规格如下:
3.png

表 1. 基于 2 个数据库服务器和 3 个存储服务器的四分之一机架配置的性能参数

共享存储的内存级性能


传统数据库平台的架构师始终必须应对影响其系统设计的技术变革。他们的目标是消除瓶颈,以便存储的输出通过网络移动并由数据库服务器处理,而不会出现任何减速。在超高速 PCIe 闪存和 NVMe 闪存接口出现之前,通常涉及添加更快或更多的网络连接或数据库服务器。
闪存在 2010 年左右开始成为企业计算的主流,用作硬盘前面的缓存或完全替代磁盘。此后每年闪存容量和性能都显著增加。2017年,前沿的闪存性能跨越了一个门槛,先进的网络也无法与其性能匹配,这成为一个重大瓶颈。例如,具有 480 个闪存卡的全闪存存储系统的额定数据吞吐量仅为 37.5 GB/s,而如果没有网络瓶颈,许多闪存卡应产生超过 2,600 GB/s 的数据吞吐量。卸载到 Exadata 中的存储可以避免此网络瓶颈,方法是在通过网络发送剩余数据之前过滤掉存储中不需要的数据。XRMEM 的添加比闪存更快,进一步增加了 Exadata 卸载的价值。虽然直接将闪存添加到传统数据库服务器可以消除网络瓶颈,但它也消除了跨多个数据库服务器共享存储的能力。Exadata 的方法不受此限制。
4.png

表 2. 自最初推出以来每个 Exadata 2 插槽系统的关键统计数据。比较基于 8 台数据库服务器和 14 台存储服务器的配置,但 X10M 具有 5 台数据库服务器和 14 台存储服务器。

5.png

表 3. 每个 Exadata 8 插槽系统的关键统计数据,首个型号是 Exadata X2-8,最后一个型号是X9M-8。比较基于 2 台数据库服务器和 14 台存储服务器的配置。

弹性配置

在 X5-2 之前,Exadata 系统仅提供八分之一、四分之一、半机架和全机架的固定大小配置。2015 年 1 月发布的 X5-2 Exadata 引入了弹性配置。弹性配置具有客户指定的数据库服务器和存储服务器组合,允许将单个存储或数据库服务器添加到四分之一机架配置中,直到充满整个物理机架。数据库与存储服务器的比率可能不同,具体取决于预期工作负载的特征。例如,针对内存数据库处理进行优化的 Exadata 系统将添加许多数据库服务器,每个数据库服务器都具有大内存。相反,针对大型数据仓库优化的 Exadata 系统可以添加许多高容量存储服务器。弹性配置还可用于使用新的兼容服务器横向扩展早期的 Exadata 系统。此外,Exadata 始终能够使用内置网络连接跨越多个机架。因此,Exadata 的横向扩展可超出单个物理机架的范围。

Exadata演进
Oracle 每十二到二十四个月发布新一代 Exadata。在每个版本中,Oracle 都会将大多数硬件组件(CPU 处理器、内存、磁盘、闪存和网络)进行更新。这些更新导致每个版本的性能都有所提高。Exadata 软件创新在每一代产品中以及在各代产品之间定期提供,持续增强性能、可用性、安全性、管理和工作负载整合。
通过每一代引入的创新,可以很好地了解 Exadata 的演变。
Exadata V1 于 2008 年发布,专注于通过向数据库提供完整的存储吞吐量来加速数据仓库。Exadata 通过将数据库过滤操作转移到存储中来实现这一点,而不是将所有数据发送到数据库服务器并在那里进行过滤。此功能称为 Exadata 智能扫描。Exadata V1 还支持在数据库或工作负载之间分配 I/O 带宽的整合功能,称为 IORM(I/O 资源管理器)。Exadata V1 提供全机架或半机架尺寸,以及高性能或高容量存储服务器,两者都基于磁盘驱动器进行存储。Exadata 的内部网络结构基于 InfiniBand 技术。
Exadata V2 于 2009 年发布,增加了四分之一机架配置,并通过闪存存储和数据库感知闪存缓存来支持 OLTP 工作负载。
Exadata V2 还引入了混合列压缩来减少大型数据仓库消耗的存储容量。
基于存储服务器对存储区域中包含的值的了解,Exadata V2 中的存储索引可以通过跳过无关区域来提高性能。
第三代 Exadata X2-2 于 2010 年发布,并推出了 Exadata 的第二个型号 Exadata X2-8。X2-8 和后续的 8 插槽 Exadata 型号配备了针对大内存、纵向扩展工作负载的处理器。在此版本中,通过智能闪存日志功能开始使用缓存以外的闪存存储。还添加了对 10 Gb/秒 (Gb/sec) 以太网客户端连接的支持。
Exadata X2-2 还通过结合基于处理器的硬件解密来增强数据安全性,从而很大程度上消除了软件解密的性能开销。
2011 年添加了基于 Exadata X2-2 的存储扩展机架,以适应大型、快速增长的数据仓库和归档数据库。所有后续 Exadata 版本都包含新的存储扩展机架。
Exadata X3-2 和 X3-8 于 2012 年发布,包括新的八分之一机架 X3-2 入门级配置。通过回写式闪存缓存功能,闪存存储容量增加了四倍,OLTP 写入吞吐量增加了 20 倍。
添加了许多可用性增强功能,绕过缓慢或故障的存储介质,减少存储服务器停服持续时间,并简化故障磁盘的更换。
Exadata X4-2 于 2013 年发布。闪存容量增加了一倍,并添加了闪存压缩,有效容量再次增加了一倍。引入了网络资源管理,自动对关键消息进行优先级排序。通过支持主动/主动连接,InfiniBand 有效带宽增加了一倍。
Exadata X4-8 于 2014 年发布,为所有后续型号添加了按需容量许可、I/O 延迟上限和超时阈值。
Exadata X5-2 和 X5-8 于 2015 年发布,并进行了重大增强。闪存和磁盘容量增加了一倍。引入弹性配置以支持一次扩展一台服务器。虚拟化和可信分区作为 Exadata 的一个选项可实现虚拟机中的灵活许可。Exadata 存储上的数据库快照可实现高效的开发和测试。Exadata 上的 Oracle Database In-Memory 包含容错冗余。高性能Exadata存储服务器被全闪存(Extreme Flash)存储服务器取代,Exadata成为先行采用NVMe闪存接口的主要供应商。引入列式闪存缓存,可自动将分析数据重新格式化为闪存中的列式格式。完成IPv6支持。Exadata云服务推出。
Exadata X6-2和X6-8于2016年发布。闪存容量翻倍。Exafusion Direct-to-Wire 协议减少了集群中的消息传递开销,而 Smart Fusion Block Transfer 消除了在数据库节点之间传输块时的重做日志写入延迟。Exadata Cloud@Customer 首次亮相,将Oracle 云的好处引入企业数据中心。
Exadata X7-2和X7-8于2017年发布。闪存容量翻倍。闪存卡可热插拔以便在线更换。10 TB 磁盘驱动器与 25 Gb/秒以太网客户端连接一起首次亮相。Oracle 数据库内存处理扩展到闪存存储,并利用存储服务器 DRAM 实现更快的 OLTP。
Exadata X8-2 和 X8-8 于 2019 年 4 月发布。Exadata 新扩展 (XT) 存储服务器的推出用于不常访问的数据的低成本存储。14 TB 磁盘驱动器首次亮相,Exadata 存储服务器中的计算核心增加了 60%。添加了机器学习算法,可自动监控 CPU、网络和内存,以检测异常情况(例如进程卡住、内存泄漏和不稳定网络),并自动创建(自动索引)、重建或删除索引。DML 执行时可实时收集优化器统计信息。为了增强安全性,添加了高级入侵检测环境 (AIDE),以检测未经批准的系统软件更改并发出警报。
Exadata X8M-2 和 X8M-8 于 2019 年 9 月发布。Exadata 存储服务器中添加了 Intel Optane DC 持久内存,基于 RoCE 的新 100 Gbit/s 内部网络取代了之前的 InfiniBand,性能大幅提升。这些更改将读取 I/O 吞吐量提高了 2.5 倍,并将 I/O 延迟降低了 10 倍。此外,新的 KVM 虚拟机管理程序取代了 Xen,使来宾虚拟机的可用内存量增加了一倍。
Exadata X9M-2和X9M-8于2021年9月发布,包含新一代英特尔傲腾持久内存和PCIe Gen 4,与上一代相比性能显著提升。OLTP 读取 I/O 吞吐量进一步提高了 1.6 倍,并且在单个机架内突破了 1 TB/s 智能扫描阈值。
Exadata X10M 于 2023 年 6 月发布,是一款基于 AMD 处理器的 2 插槽型号,数据库服务器每插槽 96 核。高核心数量和大内存容量消除了对 8 插槽 Exadata 型号的需求。持久内存更换为基于 DRAM 的 Exadata RDMA 内存。磁盘存储容量和全闪存存储容量增加。数据库服务器的大小从 1 RU 增加到 2 RU,以实现更好的气流和冷却。

附录:什么是工程化系统(Engineered System)


Exadata从诞生起,就被称为工程化系统,英文原文为“Engineered System”。Engineer这个单词大家非常熟悉,但Engineered就很难直接想象出其对应的含义。就像Oracle数据库中的cardinality,idempotency等术语,通常都需要经过二次解读。

在Oracle官网(1),工程化系统的解释为:

Oracle Engineered Systems are integrated, full stack solutions that are developed with Oracle Database and applications to run crucial customer workloads faster, at lower costs, and with greater security than multivendor, on-premises solutions.

大意是:Oracle 工程化系统是与 Oracle 数据库和应用一起开发的集成全栈解决方案,与多供应商内部部署解决方案相比,可以更快、以更低的成本和更高的安全性运行客户的关键工作负载。

在另一篇博客中(2),作者Chuck Hollis总结了工程化系统应具有的几大特质:

  1. 针对关键应用进行了优化

  2. 是一个产品,而不是一个组装项目

  3. 由单个工程团队负责,从应用程序到存储的全栈架构

  4. 应用感知、完整和安全

  5. 企业云设计

  6. Oracle 独有的,令人信服的功能

  7. 一种综合体验,一个供应商


当我在论坛中咨询Engineered/Engineering这个单词的含义时,一位英国同事做了如下的回答,其中文大意为:

在英语中,设计的简洁、高效和优雅被视为Engineering的核心特质。想想一辆“Well Engineered Car”:从外观上看,它拥有干净优雅的线条和形状,操作简单,驾驶起来舒适而高效。里面其实非常复杂,需要大量的知识和数学来创造。

一个“工程系统”对我来说就像一个技艺高超的武术大师:他/她在做高难度和高技巧的事情时,表现出毫不费力的优雅。

我非常喜欢这个解释,下一次再提到工程系统,我就会直接想到Engineering在英文中对应的含义:简洁(Simplicity)、高效(Efficiency)和优雅(Elegance)。



我们一直努力用最尖端的技术,为您提供最贴心的服务 您能给我们多少信任,我们就能给你多大惊喜
深圳市阳启科技有限公司
地址:深圳市光明区凤凰街道东坑社区光源二路29号艾维普思大厦613
电话:0755-27404975
邮箱:SunKey@sunkey-tech.com
网址:www.sunkey-tech.com

版权所有:深圳市阳启科技有限公司    电话:0755-27404975     邮箱:SunKey@sunkey-tech.com 粤ICP备19013132号