Oracle自治数据库技术概要白皮书读书笔记

Posted dingdingfish

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle自治数据库技术概要白皮书读书笔记相关的知识,希望对你有一定的参考价值。

下载地址。版本为:March, 2022, Version 2.1

副标题:

A fully autonomous, mission-critical Oracle database service that runs all workloads and reduces operational costs.
一种完全自主的任务关键型 Oracle 数据库服务,可运行所有工作负载并降低运营成本。

用途声明

本文档概述了此版本的 Oracle 自治数据库中包含的特性和增强功能。 它仅旨在帮助您评估升级到 Oracle 自治数据库的业务优势并规划您的 IT 项目。

什么是自治数据库?

Autonomous Database is a mission-critical, converged database that runs transactional and analytic workloads. It automatically scales, tunes, patches, and secures all the workloads using machine learning to provide the highest service availability, security, and performance.

可以承载关键任务,是融合数据库。可承载交易型,分析型任务。

It is built on Oracle database and Oracle Exadata for easier migration to the cloud at lower cost. Autonomous Database is available on the public cloud with shared and dedicated infrastructure and on-premises with Exadata Cloud@Customer.

基于Oracle数据库和Exadata基础设施,加以自动数据中心优化和机器学习,可以在Oracle公有云或本地的ECC上提供。

自治包括3方面:

• Self-driving: Provisions workload-optimized, highly available databases. Uses automated configuration
settings, minimizes tuning required for specific workloads, and scales compute resources as needed.

自我驱动:简化了配置,调优,扩展,高可用等方面。

• Self-securing: Protects sensitive and regulated data, automatically patches your database for security
vulnerabilities, and prevents unauthorized access.

自我加固:简化了安全合规和补丁升级。

• Self-repairing: Detects and protects against system failures and user errors and provides failover to
standby databases with zero data loss.

自我修复:错误防护和自动灾备切换。

自治数据库包括Oracle数据库企业版,Exadata和OCI。

自治数据库整合并自动化了许多 Oracle 独有的高级数据库技术,包括:

  • 用于横向扩展、故障转移和在线修补的RAC
  • 用于schema修改的在线操作
  • 用于数据库感知灾难恢复的 Active Data Guard
  • 用于高性能的Database In-Memory
  • 用于数据保护的透明数据库加密
  • 用于角色分离的Database Vault

借助 Exadata 数据库云服务器,数据库引擎将关键功能卸载到 Exadata 存储,以通过最少的数据移动来执行这些功能。 这些卸载的功能包括各种关键操作,从在增量备份期间过滤更改的块到在并行分析型操作期间运行 SQL 片段。

自治数据库的用例包括:

  • ATP用于交易型或混合负载,如OLTP, batch和 IoT。
  • ADW用于分析型处理或数据仓库,数据集市,数据湖。
  • AJD用于JSON文档型数据库。
  • AAA用于自治APEX应用开发,完全托管的低代码应用程序开发平台,用于在自治数据库上构建和部署现代数据驱动的应用程序。

自治数据库部署选项

自治数据库有3种部署模式,其实1和2均属于OCI:

  1. Shared:OCI 共享Exadata基础设施。最低配置为1 OCPU,1TB存储。
  2. Dedicated:OCI 专属Exadata基础设施。专属的好处在于可定制用于控制新数据库供应、更新时间、可用性以及在基础设施上运行的数据库密度的操作策略。控制数据库版本和升级时间对于对数据库版本和发布差异更敏感的应用程序尤为重要。 尽管客户可以自定义这些操作策略,但所有操作仍由 Oracle 完全自动化。
  3. Exadata Cloud@Customer。如果有数据驻留本地要求,并且和本地其它应用依赖关系复杂导致迁移困难。此时ECC就是适合的选择。

云原生能力

  • 自服务数据管理
    自助服务工具提供了一个简单、强大的环境来加载数据并使其可用于协作。 业务和数据分析师可以使用拖放功能轻松加载和转换数据,生成业务模型,快速发现异常、异常值和隐藏模式,并了解数据依赖性和变化的影响。
  • 机器学习
    数据科学家可以使用可扩展和优化的数据库内算法在数据库中构建和部署机器学习模型。 Oracle Machine Learning 消除了将数据移动到专用机器学习系统的需要,从而加快了数据科学家创建机器学习模型的速度。
  • Graph分析
    自治数据库包括对Graph功能的支持,以表示和管理复杂的数据关系。 Graph分析使数据科学家和开发人员能够对更深层次的上下文应用模式识别、分类和统计分析。
  • Spatial分析
    空间功能可解决所有形式的应用程序、空间工作负载和数据集,包括要求最苛刻的大规模位置智能和地理空间应用程序。
  • 低代码应用开发(Oracle APEX)
    Oracle Application Express (APEX) 是一个低代码开发平台,使您能够构建可扩展、安全的企业应用程序。
  • 数据保护和安全
    自治数据库提供内置的数据库安全性和隐私性,可识别敏感数据并对其进行屏蔽,对有风险的用户和配置发出警报,审计关键数据库活动,并发现可疑的数据访问尝试。
  • 数据库克隆
    自治数据库为用户提供数据库克隆,以创建数据库的时间点副本,用于测试、开发或分析等目的,可以刷新以捕获最新更新。

自动化管理

Oracle 自治数据库通过自治管理简化了数据库管理。 它为供应、配置、保护、调整和扩展提供自治管理功能,以消除几乎所有可能引入人为错误的手动和复杂任务。

  • 自动更新
    具有共享基础架构的自治数据库会将所有软件和底层组件自动升级到最新版本。 所有更新都由 Oracle 自动执行,不会中断。
  • 滚动升级和应用连续性
    具有严格应用程序连续性要求的工作负载从集群的一个节点移动到另一个节点,而不会影响应用程序或用户。 应用连续性包括跨集群节点移动会话,即使事务正在进行中。 事务通常可以在移动到不同节点后继续处理而不会丢失会话状态。
  • 自动化控制
    对于复杂的关键任务数据库应用程序,专用基础架构允许客户控制软件版本、修补计划和数据库密度。 它还使客户能够更好地控制从预生产到生产部署的 Oracle 软件版本和补丁级别的分级。 专用基础设施上的 Oracle 自治数据库的额外控制级别允许客户将开发、测试和生产环境分开,因此每个环境都使用信任和验证模型独立更新,该模型允许在自主操作将这些更新应用到任务关键型生产环境之前在预生产环境中验证更新。
  • 服务健康仪表板
    客户可以通过服务健康仪表板查看系统健康状况、可用性和执行的维护,该仪表板显示所有 OCI 服务的状态,包括 Oracle 自治数据库服务。 客户可以从 Service Health Dashboard 订阅更新,并在 https://ocistatus.oraclecloud.com 上查看过去事件的记录。
  • 故障检测与解决
    故障,包括硬件故障和软件错误,可以而且确实发生在任何计算机系统中。 自治数据库会持续监控可能发生的各种故障,并自动启动解决方案作为响应。
    自治数据库在完全冗余的 Exadata 硬件上运行,这些硬件可以在硬件故障时幸存下来而不会中断服务。 Oracle 的云运营团队会自动派遣硬件技术人员来解决任何硬件故障。
    通常通过主动健康监控和解决方案来避免软件故障,以便在系统受到影响之前解决问题。
    大多数故障都可以自动监控和解决,无需客户提出服务请求。

自动优化

数据库的优化是指优化使用分配给该数据库的资源。 Oracle 数据库中的数据库优化发生在三个级别,包括本节概述的服务、系统和应用程序Schema级别。

工作负载优化的自治数据库用例

用于分析和数据仓库 (ADW) 的自治数据库
自治数据库针对数据仓库、数据集市和分析工作负载进行了优化,以提高效率和简单性。 数据自动存储为混合列压缩 (HCC) 格式。 Exadata 闪存中自动使用列格式来加速分析操作。 除了空间效率更高之外,混合列压缩格式还为分析提供了更优化的数据访问。
存储索引会在磁盘和闪存中自动创建,以帮助从数据扫描中删除任何不必要的数据(有关更多信息,请参见下面的部分)。 Oracle 数据库结果缓存也默认为所有 SQL 语句启用,因此具有重复 SQL 的工作负载(例如 BI 仪表板等)将受益于直接从内存访问结果,而不是重新执行相同的语句。

用于事务处理的自治数据库 (ATP)
自治数据库针对交易处理和包括交易处理和运营报告混合的工作负载进行了优化。 数据自动以行格式存储以加快事务处理,其中每个事务只对少量记录(通常是一两个记录/行)感兴趣。
在表中查找单个记录的最快方法是通过索引,这就是为什么 ADB 不仅支持手动创建索引而且还可以利用自动索引的原因。
自治数据库依赖于 Exadata,并使用 Exadata 的底层特性,如 SQL 卸载和 Exadata Smart Flash Cache,来满足工作负载的需求。 自动功能因预期的工作负载类型而异。

自动系统和存储优化

系统级别的数据库优化完全在 Oracle 自治数据库的控制下,无需数据库用户的输入即可完成。

自动Schema层级优化

自治数据库在应用程序模式级别应用了一系列复杂的优化技术,例如:

  • 自动优化器统计信息
    Oracle 数据库使用基于成本的优化器,它依靠统计信息来确定最佳 SQL 执行计划。 过时(或“陈旧”)优化器统计信息是 SQL 性能问题的主要来源。 Oracle 自治数据库通过多种方式自动收集统计信息,无需手动收集优化器统计信息。 当数据被批量加载到自治数据库中时,统计信息将作为加载操作的一部分自动收集。 在 DML 操作(插入、更新或删除语句)期间,会自动维护关键统计信息。 自治数据库还可以使用高频统计数据收集作业来调整任何陈旧的优化器统计数据。
  • 数据完整性约束的索引
    通常创建索引以加强数据完整性。 简单地定义这些约束会导致自动创建索引。 虽然为完整性约束创建索引并不是自治数据库独有的,但这是整体数据库优化的重要组成部分。 这些约束和相关索引用于 SQL 优化。
  • 自动存储索引
    自治数据库中的优化考虑了底层 Exadata 平台的存储索引功能。 Exadata 软件检查卸载的 SQL 片段,以确定这些谓词与每个 Exadata 存储单元保存的数据块内的数据值之间的关系。 在许多情况下,存储索引功能消除了对其他类型索引的需求,尤其是那些为支持报告工作负载而创建的索引。
  • 自动二级索引
    除了使用索引来确保数据完整性之外,出于性能原因可能还需要额外的索引。
    自治数据库包括这些附加索引的自动创建和管理。 SQL 语句根据现有索引进行评估,自治数据库确定是否需要额外的索引以获得最佳性能。 自治数据库会自动评估新索引的好处,并在实施这些索引之前(自动且独立地)测试更改。
    自动索引还监视其实现的索引的使用情况。 如果一个索引不再有用,它会被自动删除。

模式级手动优化灵活性
自治数据库允许在模式级别进行手动优化,并不会被系统更改。 手动模式级优化还包括实现甚至专门的索引方法的能力,例如基于函数的索引、位图索引和复合索引。 此功能可确保客户拥有尽可能广泛的功能来优化业务应用程序。

简化管理

自治数据库为 Oracle 数据库的操作带来了高级自动化,与遗留系统或其他第三方云服务相比,它提供极简的体验。
自动化管理功能
自治数据库几乎自动化了 Oracle 数据库的所有管理功能,这些功能通常会占用数据库管理员、系统管理员和其他 IT 专业人员的大量时间和精力。
客户保留交付数据库服务以满足业务需求所需的控制程度,同时利用这种前所未有的自动化水平。 Oracle 提供了一组强大的工具来帮助客户更轻松地采用自治数据库。

数据库操作
Database Actions 是一个基于 Web 的界面,可为 Oracle 自治数据库提供开发、数据工具以及管理和监控功能。
主要功能包括执行 SQL 语句和脚本、创建 Data Modeler 图表、开发 RESTful Web 服务和管理 JSON 集合,以及使用数据加载、目录、数据洞察、业务模型和数据转换工具从本地加载数据和远程源,查看表和视图中的数据,以及组织、分析和转换数据。

应用程序开发 SDK
尽管应用程序开发 SDK 通常不用于数据库管理,但管理员经常使用这些工具来自动执行常见任务或应用程序维护工作。 自治数据库为 Oracle 调用接口 (OCI)、ODBC 和 JDBC OCI 连接提供原生支持。 这使得自治数据库能够支持市场上的许多工具,包括所有流行的开发工具和框架。

云编排工具集成
自治数据库支持常见的云编排工具,例如 Terraform,它允许用户使用“基础设施即代码”模型以编程方式管理、版本化和持久化 IT 基础设施。 Oracle Cloud Infrastructure Provider(一个 Terraform Provider)是在开源许可下提供的。

性能分析工具
自治数据库包括自动(实时)统计、自动索引和自动 SQL 计划管理,使开发人员和 DBA 从常见而繁琐的性能调优中解脱出来。 它还允许开发人员和 DBA 访问 Oracle 数据库中相同的深入性能分析工具,以深入了解 SQL 和使用自治数据库的应用程序的性能。 自治数据库性能分析工具还包括以下内容:

  • 云用户界面
  • 性能中心
  • Oracle 自动工作负载信息库 (AWR)
  • SQL监视器

即用即付的扩展

自治数据库资源(计算和存储)按秒计费,最短时间为一分钟。 为确保客户仅在需要时为他们需要的资源付费,自治数据库具有即时在线扩展系统资源的能力,以满足应用程序和业务的需求。 缩放可以通过云用户界面或通过 REST API(脚本)手动完成,也可以通过内置的自动缩放功能自动完成。

自动缩放功能
自动缩放功能提供了在预定义边界内自动缩放以实时响应工作负载需求的能力。 该功能从基线 OCPU 配置开始,并会在工作负载增加时自动将 CPU 扩展至基线的三倍。 可以手动或通过 REST API 修改基线,Autoscaling 将从已建立的基线开始运行。 额外的 CPU 仅在必要时使用,当工作负载不再需要额外资源时,自治数据库会立即返回到基线 CPU。

服务扩展设置
与其他云服务不同,自治数据库不需要用户使用预定义的硬件形状或配置进行扩展。 用户可以在需要时增加或减少分配给其配置的 CPU 内核数量和/或存储空间。
CPU核心数和存储空间是在数据库初始创建时设置的,可以根据需要随时更改。

自动脚本缩放
高级用户可能会考虑使用 REST API 通过自动化脚本扩展自治数据库服务,从而消除手动干预的需要。 自动脚本缩放也可以与自动缩放功能结合使用,以提供动态缩放以更好地满足有关性能、容量和成本的业务需求。

一流的安全性
近年来,由于网络安全威胁和漏洞的增加,信息安全已成为一个更加重要的话题。 自治数据库建立在 Oracle Cloud Infrastructure 的基础之上,Oracle Cloud Infrastructure 是一种企业级云服务,可提供业界最高的安全标准。
自治数据库的用户负责创建数据库用户和模式所有者。 Oracle 允许在单个数据库中包含数十、数百甚至数千个模式。 多个应用程序、应用程序模块或微服务可以共享一个数据库,但仍能实现足够的隔离。 当然,客户也可以根据应用开发团队的需求,选择部署多少个自治数据库。
应用程序开发人员或开发 DBA 使用模式所有者帐户创建应用程序使用的对象,包括表、索引、触发器、存储过程等。我们将在下一节中更详细地探讨开发 DBA 的角色。 客户可以在必要时使用 ADMIN 用户重置任何架构所有者帐户的密码。

最佳实践安全配置
运行自治数据库的系统在每个级别都使用最佳安全实践来保护,包括虚拟机、O/S、驱动程序、Exadata 存储、Oracle 集群件、Real Application Clusters 和 Oracle 数据库。 不断扫描自治数据库以确保符合当前最佳实践安全配置。 如果检测到异常,更改会自动实施,无需客户干预。 自治数据库还包括 Oracle Data Safe,它提供全面的工具来确保数据安全。

自动安全更新
安全修复会尽快自动应用,通常每季度一次。 自治数据库使用 Exadata 产品堆栈,其中包括从虚拟机和设备驱动程序到 Oracle 数据库的每个级别的安全修复程序。 使用行业领先的安全扫描器扫描堆栈中的安全问题,并在应用到自治数据库之前将修复程序集成到堆栈中。 任何紧急安全更新也是 Oracle 的责任,并且会自动应用。

自动数据库加密
Oracle 自治数据库使用 Oracle 的透明数据加密 (TDE) 技术作为标准(强制)配置。 TDE 为 Oracle 数据库提供静态数据加密。 数据库备份也被加密

加密密钥管理
加密/解密密钥作为 Oracle 自治数据库服务的一部分自动管理,无需客户干预。 加密密钥用于控制数据库内数据的加密,以及网络通信的加密。 自治数据库为透明数据加密 (TDE) 提供了两种选项来加密您的数据库:

  • 自治数据库上的 Oracle 管理的主加密密钥:默认情况下,自治数据库使用 Oracle 管理的加密密钥。 使用 Oracle 管理的密钥,自治数据库创建和管理保护数据的加密密钥,而 Oracle 处理 TDE 主密钥的轮换。
  • 自治数据库上客户管理的加密密钥:如果您组织的安全策略需要客户管理的加密密钥,您可以将自治数据库配置为使用 Oracle Cloud Infrastructure Vault 主加密密钥。

网络访问控制
客户可以指定访问控制列表 (ACL) 来阻止所有不在 ACL 列表中的 IP 地址访问数据库。 指定访问控制列表后,自治数据库仅接受来自访问控制列表上的地址的连接,而数据库拒绝所有其他客户端连接。

审计数据库访问
客户可以使用 Oracle 统一审计功能审计数据库访问和其他活动。 客户可以使用治理(审计)下的 OCI 服务控制台查看审计信息。 Oracle Data Safe 还提供了用于评估终端安全、监视用户操作和满足安全合规性要求的综合工具。

完整的数据保护

一旦创建了自治数据库,就会自动配置数据保护。 由于基于 Exadata 和 Oracle 数据库备份/恢复功能的底层架构,Oracle 自治数据库提供了强大的数据保护。

自治数据卫士
Autonomous Data Guard 为每个 ADB 实例启用一个备用数据库。 它通过在主数据库出现故障时自动故障转移到备用数据库来保护数据免受不可预见的灾难情况的影响。 如果发生灾难,当用户在几分钟内无法连接到他们的主数据库时,自治数据库将自动触发自动故障转移(无需用户操作)。 由于这是一个自动操作,只有当我们可以保证不会发生数据丢失时,我们才允许自动故障转移成功。

高可用性
自治数据库包括作为底层 Exadata 平台一部分的所有内置冗余和弹性功能。 自治数据库使用高可用性 (HA) 配置作为非可选的默认配置。
自治数据库使用 Oracle Application Continuity 将这些 HA 功能扩展到应用程序层。 借助应用程序连续性,可以通过屏蔽许多计划内和计划外中断来改善最终用户体验,而无需应用程序开发人员尝试恢复请求。

标准数据库备份
标准数据库备份使用每周一次的完整备份和每天一次的增量备份策略,默认配置的恢复窗口为 60 天。 这意味着每周进行一次完整备份,每天进行一次增量备份。 还包括 REDO 日志的备份,以便在备份窗口内对任何时间或系统更改号 (SCN) 进行时间点恢复。

补充数据库备份(手工进行)
客户还可以根据需要补充标准备份,例如出于合规性目的。 额外的备份可以手动或通过 REST API 进行,并存储在 Oracle 的对象存储中。

数据库恢复
自治数据库控制台提供了一个简单的界面,无需专业知识即可执行数据库恢复。 控制台列出定义的恢复窗口内的可用备份,客户只需选择所需的备份进行恢复或指定所需的恢复时间点。 Oracle 自治数据库使用分配给服务的适当级别的资源自动执行数据库恢复,例如 CPU 内核、存储、并行性等。
与传统的本地数据库不同,客户只需执行恢复,即可将数据库重置到更早的时间点。 使用自治数据库,物理损坏通常会被健康框架检测到,并作为自动修复过程的一部分启动恢复(如有必要)。 客户无需干预来执行恢复以修复因基础设施故障而损坏的数据库。
自治数据库包括对 Oracle 闪回技术的全面支持,包括闪回数据库、闪回表和闪回查询。 闪回通常用作数据库恢复的替代方法,特别是用于恢复单个表,例如当流氓用户或事务不正确地删除或修改数据时。

常见用例

部门级数据仓库:改进业务线的分析
客户可以部署自服务部门数据仓库,将多个企业系统、电子表格和第三方数据源整合到一个可信、可维护和集成的仪表板中。 集成的自助数据工具允许用户通过拖放加载和转换数据、生成业务模型、快速发现异常并构建机器学习模型。

企业级数据仓库:简化和现代化企业数据仓库
使用所有数据回答更复杂的问题。 简化您的企业数据仓库,以支持具有自主功能的多模式、融合数据。

低代码应用程序开发
使用 APEX(一种内置于自治数据库中的低代码开发工具)以最少的编码构建可扩展、安全、数据驱动的应用程序。

迁移自定义应用程序
优化和扩展您的自定义和 ISV 应用程序以提高性能、可用性和安全性,同时降低管理复杂性。 通过自治运营降低总拥有成本。

迁移 Oracle 应用程序(JDE、Peoplesoft、Siebel)
优化和扩展您的 Oracle 应用程序,例如 PeopleSoft、JD Edwards 和 Siebel,同时降低管理复杂性。 从您的应用程序中获得更多价值,同时降低成本。

数据库整合
通过在专用基础架构上使用部分 OCPU 和存储分配将多个数据库整合到一组计算基础架构中,从而降低数据库基础架构和管理的成本。

在您的数据中心部署具有自治服务的关键任务应用程序
提供安全、受管控和高性能的自助服务数据库,同时 IT 控制数据的预算、容量规划、可用性、安全性和管控。

使用大规模物联网数据构建实时混合工作负载应用程序
通过对键值交易(例如 IoT 数据)的强大分析,每秒提供数十亿次插入和检索,而没有单一用途数据库的操作复杂性。

迁移工具与服务

有多种选项可用于将您的数据移动到自治数据库中。 下面列出了这些选项。

  • Oracle 数据库迁移服务:一种完全托管的云服务,可简化将已建立的数据库从本地、第三方或 Oracle 云迁移到自治数据库的过程。
  • Oracle GoldenGate:Oracle 的数据复制工具,用于一次性数据迁移以及具有更改数据捕获的数据复制。
  • 零停机迁移 (ZDM):一种具有命令行界面的服务,您可以在您提供的主机上安装和运行该服务。 安装零宕机迁移软件的服务器称为零宕机迁移服务主机。 您可以从零停机迁移服务主机运行一个或多个数据库迁移作业。
  • Oracle 数据泵:一种数据库实用程序,支持 Oracle 数据库和自治数据库之间的高速批量数据和元数据移动。
  • Oracle SQL* Loader:一种数据库实用程序,用于将数据从外部文件加载到 Oracle 数据库中。

总结

Oracle 的自治数据库在 Oracle 公有云中可用,也可在客户数据中心内部为无法迁移到公有云的客户提供。 Oracle 自治数据库几乎自动化了所有 DBA 操作功能,使客户能够专注于构建和部署更有效地满足业务需求的应用程序。 Oracle Cloud 中的自动化层自动检测和更正问题的速度和准确度远高于经验最丰富的专业人员使用传统手动方法所能完成的工作。
Oracle 自治数据库建立在 Oracle 云基础设施之上,它使系统不断更新最新的修复程序和安全补丁,并使开发人员能够立即访问 Oracle 数据库中的最新创新。 自治数据库可为客户提供最苛刻和任务关键型应用程序所需的高性能和经济高效的操作。

以上是关于Oracle自治数据库技术概要白皮书读书笔记的主要内容,如果未能解决你的问题,请参考以下文章

Oracle自治数据库技术概要白皮书读书笔记

“Oracle数据库并行执行”技术白皮书读书笔记

“Oracle数据库并行执行”技术白皮书读书笔记

《微服务设计》读书笔记

Understanding Optimizer Statistics (理解优化器统计信息) 读书笔记

[读书笔记]《淘宝技术这十年》