敏捷数据分析工具箱:深入解析ADW+OAC
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

第2章
自治数据库(ADW)技术特征

2.1 ADW简介

ADW的全称是Autonomous Data Warehouse,即自治数据库。它由Oracle于2018年3月发布。其定位是:为数据仓库、数据集市、数据湖、机器学习等分析型工作负载提供最佳的运行平台。当然,对于事务处理,也就是OLTP类型的工作负载,Oracle也于同年的8月发布了ATP(Autonomous Transaction Processing)。

对于ADW而言,可以用下面的简图(见图2-1)来很好地说明。

图2-1 什么是ADW

其实,在Oracle的售前工程师给客户讲解ADW时经常用到图2-1,通过简单的几句说明,客户就能够完全理解什么是ADW了。而对于具有Oracle数据库背景的IT人员而言,看一眼这张图,就全部明白了。

简而言之,ADW是Oracle公有云上的在线数据仓库平台,其底层硬件采用的是Oracle一体机Exadata技术,数据库采用的是全球第一个自治数据库18c,其运维管理由Oracle公有云后台自动完成。不仅如此,ADW本身还融入了RAC、ADG等Oracle在高可用方面的诸多关键技术,在自身后台维护中则应用了大量成熟的AI/机器学习技术来实现自动化。因此,在某种程度上,ADW可称得上是Oracle基于自身数据技术的多年积累而推出的一款集大成的作品。

从Oracle公有云的体系架构来看,ADW隶属于Generation 2 Cloud Infrastructure(第二代云基础架构)中的Autonomous Database(自治数据库)。

注:关于Oracle公有云的产品服务,我们将在第8章进行详细介绍。

与传统的数据库管理技术相比,Oracle自治数据库技术带来了诸多的改变。

(1)自动供应。ADW基于Oracle的公有云平台,能够快速创建并供应ADW实例。稍后我们将会看到,在线申请ADW实例是多么简单便捷。

(2)自治安全。ADW使用了包含DB Vault在内的诸多安全技术,能够为数据提供最大的安全保护。并且,Oracle的公有云是业界唯一进化到了第二代的公有云平台,安全性更高。

(3)自治管理。ADW能够自动完成在线打补丁、执行所有OS和SYSDBA操作等任务,并且可以诊断错误、解决问题。

(4)自治保护。ADW实现了完全的在线自动备份及恢复,无须进行任何的停机操作,或者从故障中进行恢复操作。

(5)自治伸缩。ADW能够在线伸缩,也可以配置自动伸缩功能。在能够获得最高性能的同时,保证实现按使用付费,从而实现最低成本。

(6)自治优化。ADW在后台实现了基于机器学习的工作负载优化技术,它能够持续优化每个工作负载,包括内存、数据存储、索引、并行及执行计划等。

ADW有如下特点。

(1)简单。从业务上来说,可以在分钟级完成ADW实例的申请和创建,并且通过数据探索来获得业务洞察,还可以轻松地将分析过程转换为可视化故事,从而供企业管理层在决策时参考。从技术上来说,数据库管理的自动化、自动调优及兼容现有工具的数据迁移能力,都能够让企业IT人员体会到ADW的简单,能够在很大程度上降低学习成本。

(2)快速。从业务上来说,ADW能够提供快速分析能力,从而加速创新,更快地获取商业利益。它能够支持大量用户的并发访问,从而提高团队工作效率。从技术上来说,ADW底层基于Exadata技术,能够提供极致的数据查询与分析性能,和竞争对手相比,性能大幅度提升。

(3)弹性。从业务上来说,ADW可以根据需要来满足不断变化的业务需求,只需要为使用的服务付费,极大地降低了用户成本,并且所有的操作都不会影响业务的连续性。从技术上来说,用户可以自定义ADW实例的大小,按需扩展,然后在系统空闲时关闭实例。计算资源和存储资源可以独立扩展,并且不需要停机时间。

ADW架构简图如图2-2所示。

图2-2 ADW架构简图

从图2-2所示的架构简图中可以看到,ADW分成四部分。

架构简图最左边为ADW连接与接入部分,可以使用Oracle提供的SQL Developer或其他工具连接到ADW上。该部分可以是Oracle公有云的一些数据集成平台或服务(如Oracle公有云Marketplace上的Oracle GoldenGate,或者ODI等),也可以是Oracle公有云上的第三方工具,还可以是用户本地的第三方工具,如Informatica的Powercenter,或者是开源的ETL工具Kettle等。

注:上述架构简图源自Oracle官方文档,具体链接为https://docs.oracle.com/en/cloud/paas/autonomous-data-warehouse-cloud/user/autonomous-intro-adw.html#GUID-4B91499D-7C2B-46D9-8E4D-A6ABF2093414。

架构简图的中上部分就是ADW了。这部分包括底层的自治数据库,以及在此之上的管理界面和ADW内置的应用开发工具。这些工具包括:① Machine Learning,这是Oracle基于开源的Apache Zeppelin而生成的一个交互式Web数据分析工具,称为Oracle ML;② SQL Developer Web,这是SQL Developer的网页版;③ REST Data Services,这是为开发人员提供的ADW RESTful接口;④ Application Express,这是大名鼎鼎的数据库开发工具APEX。

注:关于Oracle ML、APEX等开发方面的内容,将在本书第2部分进行详细介绍。

架构简图中的中下部分是第三部分,这部分提供Oracle对象存储服务,用于存储Excel等非结构化的外部数据。这样,我们就可以将一些数据加载到该对象存储服务中,然后在ADW中对这些数据创建外部表,之后就可以使用了。

架构简图最右边为BI工具部分,可以使用Oracle的分析云(OAC),或者OAC的简化桌面版OAD,或者其他第三方的BI工具。

注:关于OAC的相关内容,将在本书第3部分进行详细介绍。关于ADW能够支持的BI和数据集成工具,以及第三方工具的详细列表,可以参考链接https://www.oracle.com/database/adw-cloud-tools.html。

可以看到,Oracle在设计ADW的架构时,充分考虑了对用户现有工具与技术的兼容,使得用户可以在不大量增加学习成本的前提下,就能够快速上手ADW。虽然Oracle的产品一向给人以功能强大、上手难度也大的印象,但是ADW,在某种程度上打破了这种印象。基于Oracle公有云出色的后台自动化处理能力,与之前的Oracle产品相比,ADW的易用性明显提升了一个档次。