Oracle Exadata是什么?
Exadata的全称为Exadata Database Machine,中文官方名称为Exadata数据库云平台,俗称数据库一体机。
Oracle Exadata 是核心由Database Machine(数据库服务器) 与 Exadata Storage Server (存储服务器) 组成的一体机硬件平台。
Oracle Exadata 是一个企业级数据库平台,它能够以高性能、高可用性和高安全性运行任意规模和重要性的 Oracle Database 工作负载。
Exadata 的横向扩展设计进行了独创优化,可使事务处理、分析、机器学习和混合工作负载更快、更高效地运行。
通过将企业数据中心、Oracle Cloud Infrastructure (OCI) 和多云环境中的 Oracle Database 工作负载整合到 Exadata 平台上,企业可以提高运营效率、减轻 IT 管理负担并降低成本。
Oracle Exadata名字由来?
Exadata名字是Exa和Data的组合。
Data代表数据。甲骨文正是一家围绕数据开展业务的公司,包括数据操作,数据存储,数据集成,数据安全等,不仅仅只是数据库。
Exa代表EB级的数据(exabyte)。
EB是TB的一百万倍,也就是说无论是大型的数据仓库还是大量交易型数据库,Exadata都可以很好的管理。
Oracle Exadata发展历史?
Exadata的雏形是2000年后Oracle内部一个名为SAGE(Storage Appliance for Grid Environments)的项目。Oracle之所以启动此项目,是因为发现很多大型数据库系统特别是数据仓库系统的瓶颈都在I/O层面,SAGE的目标是通过在存储层加入智能软件来解决此问题。
2008年,Exadata V1诞生,由Oracle提供软件,HP提供硬件。这一代产品仅支持数据仓库和商务智能等OLAP工作负载。
2009年9月,Exadata V2发布。这一代产品采用了SUN的硬件,次年一月份,Oracle完成了SUN的收购。另一个变化是在Exadata存储节点中首次采用了Flash卡,从而可以同时支持OLAP和OLTP类型的负载。
2010年9月,Exadata X2发布。第一个大的变化是除了之前的数据仓库和交易型数据库两大场景,Exadata又增加了一个新的定位:数据库整合平台。第二个大的变化是增加了存储扩展柜,从此存储可以单独扩展,而之前存储容量和计算能力必须同时扩展。
2012年9月,Exadata X3发布。这一代产品首次支持1/8机架,降低了Exadata的使用门槛。而之前Exadata的最低配置是1/4机架,1/8机架的计算能力和存储容量是1/4机架的一半。
2013年10月,Exadata X4发布。这一代产品首次提到了DBaaS(Database as a Service)的概念。DBaaS和数据库整合本质上是一样的,但更加标准化和服务化,这一方面有赖于当年Oracle 12c云数据库的发布,另一方面也来自于Oracle Enterprise Manager数据库云管理包对DBaaS的支持。另外,由于新的Flash硬件容量翻倍,加之Flash卡对于压缩的支持,使得Flash所支持的逻辑容量较之前有了较大的提升。
2015年1月,Exadata X5发布。在X5之前,Exadata只支持固定配置,即计算节点和存储节点的比例是固定的,如1/4机架是2计算节点加3存储节点,1/2机架是4计算节点加7存储节点。X5首次支持灵活配置,即在1/4机架的基础上,可以单独增加计算节点和存储节点,这使得Exadata的配置更灵活,因此可以更贴合用户的实际需求。另一个大的变化是首次推出了全闪存的EF(Extreme Flash)存储节点。在X5之前,存储节点分为HP(High Performance)和HC(High Capacity)两类,HC节点的单盘容量大,HP节点的单盘转速高,都属于机械磁盘,并且都包含Flash卡作为缓存。X5开始,HP节点被EF全闪存节点取代。
2016年4月,Exadata X6发布。除了支持传统的数据中心部署外,这一代产品还支持Exadata公有云服务和公有云私有化部署,后者也称为Exadata Cloud at Customer,即在用户数据中心内部部署的Oracle Exadata数据库公有云服务。
2017年10月,Exadata X7发布。这一代产品的亮点在于内存计算。一方面,Oracle Database In-Memory(DBIM)技术可以从单纯的物理内存扩展到容量更大的Flash存储,并且可以与混合列压缩技术无缝集成,这使得DBIM在分析场景中可以支持更大的数据量。另外,在OLTP层面,Exadata在存储节点中新增了DRAM缓存层,这和之前将Flash缓存置于磁盘前端类似,可大大降低OLTP读取I/O延迟。
2019年4月,Exadata X8发布,这是目前为止最新一代Exadata产品。这一代产品最大的变化是新增了XT(Extended)类型的存储节点,也就是说,从X8开始,Exadata可以支持HC,EF和XT三类存储节点。由于XT针对的是历史数据归档的场景,因此XT存储节点不含Flash卡,CPU和内存都只是HC节点的一半,主要目的是为了降低成本。XT节点必须在1/4机架基础上才能添加,至少2个节点起配。
2021年9月29日 — 甲骨文宣布推出运行Oracle数据库更快、价格更低的Oracle Exadata X9M平台。新推出的Exadata X9M包括Oracle Exadata数据库一体机X9M(Oracle Exadata Database Machine X9M)和在客户数据中心运行Oracle自治数据库的唯一平台Oracle Exadata专有云数据库一体机X9M(Exadata Cloud@Customer X9M)。
Exadata X9M-2和X9M-8特性
延续了X8M在Exadata存储服务器中添加了Intel Optane™ Persistent Memory,使用100Gb RDMA over Converged Ethernet(RoCE)内部网络架构,取代了之前的InfiniBand网络架构。
直接从数据库使用RDMA访问智能存储服务器中的持久内存,绕过整个操作系统、I/O和网络软件堆栈,显著降低延迟和提高吞吐量,实现小于19微秒OLTP IO延迟。
Exadata X9M这一系列产品相较于X8M在性能上有了进一步提升,但报价保持不变,性价比大幅提升。
2023年6月25日,Oracle 公司继续以其专用的 Exadata 平台重新定义 OLTP 数据库性能。上周,该公司延续了这一传统,推出了第十二个 Exadata 平台,即 Oracle Exadata X10M 数据库一体机。X10M 的设计目的只有一件事:比市场上任何其他产品更快、更好地运行 Oracle 自治数据库和 Oracle 数据库。X10M 正是做到了这一点,与之前相比实现了重大飞跃。
Oracle Exadata重要技术?
Software Components in Oracle Exadata
网络(RoCE/InfiniBand)
Exadata X8M 及更高版本为内部和外部连接提供高速网络。
100 Gb/s主动/主动融合网络 (RoCE) 结构用于计算和存储服务器之间的内部连接,并包括 25 和 10 Gb/s 以太网端口用于数据中心连接。RoCE 网络还用作计算服务器之间的集群互连。前几代 Exadata 采用 40 Gb/s InfiniBand 网络进行内部连接。由于 Oracle 控制着 Exadata 的整个硬件和软件架构,因此可以透明地引入 RoCE 网络等新技术,这些更改不会妨碍客户的集成和测试。
智能扫描(Smart Scan)
将SQL语句下移(卸载)到存储节点执行,极大的减少了存储节点和数据库节点之间的数据流量,从而大幅度的提升了查询性能。
Exadata Smart Scan是一种颠覆式的、将传统数据库中的数据处理能力从数据库服务器卸载(Offloading)到存储层的优化方式。
在Exadata中,所有符合条件的SQL都将直接推入(Offloading)到存储层,而不是进入计算层。
在那里,基于查询的数据过滤在所有存储服务器上并行执行,然后将其计算出的结果(丢弃了不需要的行和列)发送给计算层。
比如,在10,000个数据块中包含了1,000行您想要的结果数据,与传统架构读取10,000个数据块到数据库层,然后计算得到1,000行所需数据不同,Exadata Smart Scan是将相应SQL推入到包含所需数据的每个可用存储单元,然后由各存储单元并行执行一些带有访问和筛选谓词的工作,并各自只返回该存储单元中满足所提供的条件的行和列(Smart Scan Offloading还减少了节点之间的跨实例传输,从而减少了闩锁和全局锁。特别是闩锁,会消耗CPU周期。减少闩锁就等于进一步减少CPU周期,从而提高性能)。
这样一来,因为在网络层传输的将只是一组计算后剩余的较小的相关数据块,所以这可以大大提高执行效率并消除网络层带宽瓶颈。
智能闪存缓存(Smart Flash Cache):硬件方面,使用最新 PCI 闪存技术,而非闪存磁盘,从而显著提升性能;软件方面,智能实现数据库对象缓存,并在关键的数据库日志写操作时利用闪存消除性能瓶颈。
混合列压缩(Hybrid Columnar Compression)(HCC)
传统数据压缩算法的压缩率介于 2 倍和 4 倍之间,而 HCC 的平均压缩率介于 10 倍和 15 倍之间,因为列格式具有更高的可压缩性。如此大幅度地减少 I/O 数量也可以显着提高性能。最初,HCC 表不支持行级锁定,限制了它们在 OLTP 应用程序中的使用。2016 年,Exadata 上的 HCC 中添加了对行级锁定的支持,提高了具有 HCC 数据的混合工作负载的性能。HCC 的混合格式使 Exadata 能够避免仅列式数据库的性能缺陷。
存储索引
系统会对一些列的每个区记录最大和最小值,如果查询语句在Where中有制定范围时,可以快速获取数据或者skip数据。这个内部索引对于用户是完全透明的,无需任何操作,就可以利用这个技术提高范围查询的性能。这个技术就是为一些列做一些粗粒度的简单索引。
国产Gbase 8a cluster默认带有类似的技术。
Oracle Exadata软件/硬件?
以 Oracle Exadata 数据库云平台 X8-2 为例:
软硬件版本
###chenjuchao 20231006###
参考:
https://zhuanlan.zhihu.com/p/22356775
http://atoracle.cn/index.php?g=Home&m=Article&a=show&id=424
https://blog.51cto.com/u_4223248/5602755
https://blog.51cto.com/u_15127541/2702799
https://blog.51cto.com/u_15127541/2701011
https://zhuanlan.zhihu.com/p/69759326
https://docs.oracle.com/en/engineered-systems/exadata-database-machine/dbmso/exadata-linux-components.html#GUID-7B341011-D757-493B-9875-FDB9E87CD7B2