Oracle数据库一体机有很多年历史了,是Oracle历史上最为成功的产品之一。下面是同事萧宇写的关于Exadata常见问题的(如国产化,超融合,产商锁定,高可用,可扩展性等)总结,这里摘取了部分内容,记录于此。更多详情请参考原文地址https://mp.weixin.qq.com/s/L9o2i-9kZFzwx46LTaF_vA
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个节点起配。
Exadata适合什么场景?
在Exadata发展简史中已经提到,Exadata支持的场景从数据仓库开始,然后增加了联机事务处理(OLTP)支持,继而增加数据库整合或DBaaS场景,最后延伸到内存计算领域。如下图。四个主要场景的编号反映了其出现的顺序。
数据仓库分析类:涵盖场景1和4。这是Exadata的缘起。In-Memory数据库也归入到此类,是由于主要加速的是分析型负载。
数据库整合类:涵盖场景2号和3。联机事务处理处理可以看作是数据库整合的一个子集,也就是说数据库整合既可以整合数据仓库和数据集市,也可以整合多个OLTP系统,或兼而有之(混合负载整合)。
Exadata是超融合架构吗?
Oracle的Exadata不是超融合架构。只能用来运行Oracle的数据库系统。Exadata的目标就是把一件事做好,就是想成为运行Oracle数据库的最佳平台,由于目标是明确的,因此才可以做到量身定做,才可以做到紧致合身。用技术术语说,就是简化IT。
在2016年Gartner的魔力象限报告中,评测的是集成系统(Integrated Systems),Gartner将集成系统分为4类:
集成堆栈系统(Integrated stack systems):强调的是硬件(服务器,存储和网络)和应用软件(如数据库)的集成,如Oracle Exadata和Teradata。
超融合集成系统(Hyperconverged integrated systems):强调的是硬件的深度集成以及软件定义,如Nutanix。
集成基础设施系统(Integrated infrastructure systems):单纯的硬件(服务器,存储和网络)集成,如EMC Vblock和HPE ConvergedSystem 700。
集成参考架构(Integrated reference architectures):有点类似于OEM,就是有几个厂商认证后,有第三方集成的系统。
集成堆栈系统有两个大的特点,一个是实现了软件和硬件的集成,而其它的主要关注硬件集成,第二个和第一个也有关系,正是由于集成了软件,因此集成堆栈系统都是专用系统,例如Exadata只能装Oracle数据库,而其它的子类都是通用系统,可以装不同的操作系统和数据库。Oracle早期的一些PPT,在封底都会放一个标语(Hardware and Software Engineered to Work Together),其中的Engineered就是软件和硬件集成的意思,这正是Exadata的精髓,这也是Exadata被称为Engineered System的原因。
Exadata与国产数据库一体机有什么区别?
Exadata也有国产化版本,即由神州数码旗下神州云科与Oracle共同合作的自主化国产数据库一体机:登云数据库一体机。在国内也有其它一些Oracle数据库一体机产品,网上也有一些关于国产数据库一体机与Exadata对比的文章,例如“没有对比就没有伤害,这款产品号称完虐Oracle Exadata X7”,又例如“一个国产数据库一体机厂商战胜大牛的故事”等等。我想这至少可以说明两点,一是Oracle当时做数据库一体机这个战略是正确的,是可持续发展的,否则大家不会都想来分一杯羹;二是Oracle在数据库一体机上应该还是领先的,否则不会被拿来对比。
和国产数据库一体机的区别,简单来说8个字:人无我有,人有我强。硬件方面,Exadata其实没什么特别的,采用的都是开放的标准件,如X86服务器,Intel CPU,Infiniband交换机,磁盘,Flash卡等。与国产数据库一体机的本质区别,其实还是在软件上,尤其是在存储节点上的Exadata软件。
在Exadata软件中,比较重要的技术特性包括:
智能扫描(Smart Scan):将SQL语句下移(卸载)到存储节点执行,极大的减少了存储节点和数据库节点之间的数据流量,从而大幅度的提升了查询性能。
智能闪存缓存(Smart Flash Cache):硬件方面,使用最新 PCI 闪存技术,而非闪存磁盘,从而显著提升性能;软件方面,智能实现数据库对象缓存,并在关键的数据库日志写操作时利用闪存消除性能瓶颈。
混合列压缩(Hybrid Columnar Compression):混合实际上是一种平衡。一方面以列式保存数据,并可选择不同层级的压缩,从而提速分析型操作并节省空间;另一方面数据以压缩单元方式而非纯列式存放,从而保证一旦有传统行式查询时不会影响性能。
Exadata最大的好处是什么?
Exadata给用户带来最大的好处是简化IT,具体表现在以下方面:
安装简化了。Exadata是典型的预集成方式,这和传统的现场后集成方式不同。一方面,安装部署更快,我最近的一个用户从开始刷机到数据库就绪仅用了一天时间,这在以前是难以想象的;另一方面,安装的标准化降低了集成不确定性带来的风险,换句话说,只要按照安装步骤,熟手和新手安装,懂Oracle和不懂Oracle的人安装出来的结果都是一样的。
运维简化了。一体化的集成带来一体化的运维,整体监控,单一厂商支持,在线模块化升级。内置的软硬件高可用架构提升了系统弹性,延长了故障处理缓冲期,大大缓解了运维压力。运维所要求的知识储备也简化了,侧重于数据库方面,而存储和网络方面则大为弱化。并且,Exadata上数据库的运维虽然需要学习一些新知识,但绝大部分已有的Oracle数据库知识都可以沿用,如数据库迁移,备份,调优等。Exadata上运行的Oracle数据库软件与在传统小型机和X86服务器上运行的也没有区别。
调优简化了。Exadata对于Oracle数据库的一些核心功能进行了重度优化,如RAC,In-Memory等。由于Exadata采用的硬件规格较高,因此许多性能问题都消弭于无形,调优更多的依赖于Exadata软件所体现的专家经验或最佳实践,这正是前述工程整合的价值。
环境简化了。由于Exadata的数据库整合比较高,因此可以使用较少的硬件承载较多的数据库。并且Exadata使用的是标准开放硬件,因此空间,电力,制冷方面都大为减省。
以上就是Exadata简化IT的四个方面,我们可以简称为“四化”,总而言之,简化降低了风险,简化促进了创新。
Exadata的高可用性如何?
Exadata高可用性分为两个层面。硬件层面通过冗余部件,多路径和RAID(系统盘)等技术实现。软件层面主要还是延续了Oracle数据库的最高可用性架构,如备份,RAC,ADG,ASM等。
这里特别需要强调一点,在数据存储上,Exadata采用的是物理分布,逻辑集中的架构,所以可以理解为多存储。用户的关键业务系统在服务器冗余之外,如果还需要实现双存储或多存储的话,Exadata的这一特性就可以利用上。另外在数据库备份上,Exadata可以使用传统的网络备份,如果备份的数据库很多,备份的数据量很大,Exadata也支持利用Infiniband建立专属的备份通道,在备份服务器上加一块双口HCI和两根线缆即可实现。
Exadata的扩展性如何?
Exadata最初推出时,只有固定配置,如1/4机架,1/2机架等。为了满足中小型客户的需求,在X3时新增了1/8机架配置。这些配置都是固定配置,即数据库节点和存储节点的数量是固定的。固定配置可以满足大部分的用户需求。
为了满足用户的一些个性化需求,Exadata在X5时增加了弹性配置,即可以在1/4机架的基础上,单独添加数据库节点和存储节点。
所以简单来讲,Exadata最小配置为1/8机架,1/8的唯一升级路径是到1/4机架,在1/4机架基础上,可以进行灵活扩展。以上说的是水平扩展,在垂直扩展方面,可以增加内存,特别是做数据库整合时,我们都建议用户配置足够的内存,毕竟内存是不能共享的,而CPU方面,通常会有很大的余量。
关于Exadata中文技术资料
Exadata中文技术资料,您只需关注我们的公众号“甲骨文云技术”,然后在底层菜单中选择“技术资料”>“中文白皮书”,即可获得文件“Oracle数据库产品中文资料大全”的下载链接,在文件中搜索Exadata或在文件目录中选择“EXADATA数据库云平台”即可。