当前位置: 首页 > 科技观察

说说自治数据库

时间:2023-03-18 20:39:48 科技观察

如何定义自治数据库的概念?目前,自治数据库的概念非常普遍,很多数据库都自称是“自治数据库”。如果一个数据库产品提供强大的预警能力,或者像ADDM一样提供自动诊断报告,那么这个数据库算不算自治数据库?答案是不。即使数据库本身具备很强的预警能力,数据库的预警也能及时推送到告警平台,DBA也无法第一时间确认这一点。他们很可能会利用自己的经验和知识,并使用一系列自动化工具。分析系统中出现的问题,只有在最终确认后才能采取消除缺陷的行动。这可能意味着很长一段时间内无法采取主动行动。数据库自动出现问题,自动修复,消除隐患,符合自治数据库的特点。自治数据库结合了基础设施的动态灵活性和自适应机器学习对应用程序的智能响应能力。此设计目标是最大限度地减少或消除人工劳动和相关的人为错误,并确保数据安全和最佳性能。企业会发现数据库的自主功能可以进一步帮助IT部门提高效率,使他们能够专注于更高价值的活动,而不是例行的、人力密集型的任务。据统计,高达75%的IT运维成本花在了人工数据库管理上。自治数据库可以帮助组织将IT运营转变为现代软件-硬件融合模型,降低运营成本,消除代价高昂的停机时间,并最终使它能够在使用更少资源的同时实现更多创新。让我们来看看数据库行业的标杆Oracle数据库是如何实现“自治数据库”的目标的。Oracle自治数据库的“自治”主要体现在三个方面:l自治驾驶:自治数据库实现数据库Provisioning、管理、监控、备份、恢复、设施调优的自动化;l自我保护:自治数据库比人工操作的数据库更安全,因为它会自动保护自己免受内部和外部的漏洞和攻击。甲骨文通过云平台提供持续的威胁检测,而自治数据库自动应用所有安全在线更新并提供“永远在线”的端到端加密。这种预防方法至关重要,因为如今85%的安全漏洞发生在CVE(常见漏洞和暴露)警报之后;l自我修复:自治数据库针对所有计划外和计划内的中断提供预防性保护,快速自动恢复避免停机而不会停机。通过使用基于AI的自动化数据库可用性和性能管理将自动化提升到一个新的水平自主集成多个诊断域,在运行时启用分析和操作以最大限度地减少或消除操作中断。要实现自动驾驶,首先要了解Oracle的内部运行机制和运行状态,这是一切自主运行的基础和关键;自我保护首先要感知自己面临的安全风险,其次要能够在线修复,这一切都依赖于数据库自我修复是指数据库可以依靠AI分析,利用平台的整体能力自动修复优化、解决已发现和识别的缺陷。其实通过对Oracle自治数据库的一些白皮书的解读不难发现,Oracle自治数据库的能力只有在Oracle自己的云和一体机上才能充分发挥。这是因为只有对已知环境的调整才是最可靠的。如果我们的数据库运行在一个资源共享的环境下,对数据库不完全了解,那么对环境和资源的调整就不能自主,必须经过运维人员的确认,才能正确实施。从上图可以清楚地看出,甲骨文的观点是,只有完全自治的数据库产品,完全自治的IT基础设施,以及云平台提供的机器学习支持的自动化数据中心,才能形成完善的自治数据库系统。我觉得这个描述是非常有道理的,至少比国内目前号称自治数据库的一些数据库更靠谱。如果我们深入一些细节,就会发现Oracle的自治数据库其实集成了大量Oracle过去成熟的技术,包括MAA高可用架构、ADG、RAC、自动备份技术、在线补丁技术、GDS全局数据库服务等。OracleAutonomousDatabase利用RAC技术实现了服务的高可用和自动化管理,并且可以在服务出现故障时发起自动切换。Oracle采用MAA架构,实现了极高的可用性,利用这种极高可用性的计算框架,可以实现故障的自动修复。借助自动备份服务,Oracle定期自动将数据备份到Oracle云中的对象存储。从上面的描述中我们可以看出,Oracle的自治数据库并不是一个简单的数据库技术,而是一个非常复杂的技术集成的结果。这也是我今天最想表达的观点。要真正让自治数据库技术落地,绝非在数据库中引入一些人工智能算法那么简单。自治数据库的目的是降低IT成本,减少运维人员对数据库日常琐碎运维的参与。要做到这一点,仅仅在数据库核心上做文章是不够的。Oracle自治数据库采用整体方法设计,由集成和协同工作的组件组成。例如,自愈功能与备份、恢复、在线打补丁、MAA高可用故障转移等技术相结合。自我监控和响应能力是基于机器学习的自适应能力。OracleAutonomousDatabaseMonitoringandResponse是现有和下一代集成工具的集合,它们补充了OracleMAA,是自治数据库自我修复能力的关键。与OracleMAA一样,许多在本地Oracle数据库环境中也可用的监视和响应功能已在OracleCloud中得到扩展,利用OracleCloud的灵活性获得一些额外功能。OracleAutonomousDatabaseMonitoringandResponse结合了自动驾驶和自动修复功能,在管理框架上自主工作以保持Oracle数据库健康和运行,同时最大限度地减少或消除人工反应时间。这些工具共同识别数据库系统的潜在致命情况,尽可能防止这些问题,并采取纠正措施以快速解决这些问题。OracleMonitoringandResponse组件已得到增强并由应用机器学习驱动,以最大限度地提高数据库运行时可用性和性能。许多健康监控解决方案从异常检测的角度利用机器学习,但无法提供响应。Oracle的自主监控和响应超越了异常检测和症状,可以深入分析根本原因。这种更深入的应用和自适应机器学习方法将数据科学、算法和领域专业知识结合在一起。它基于数千小时的机器学习,使用了十多年来从数千个客户部署中开发的知识库。这些结果已在Oracle技术部门的主题专家的监督下在Oracle实验室环境中进行了复制、分析和解决。所有这些工作只能在云端实现,不能直接惠及部署在私有云中的用户。最后,我们来看看OracleAutonomousDatabase目前可以解决哪些问题。OracleMonitoringandResponse解决了单节点和集群数据库环境的可用性和性能问题。这些问题通常由系统和数据库管理员处理,包括与操作系统、硬件和软件的安装、修补、升级和资源可用性相关的管理员数据库资源。OracleMonitoringandResponseAutomation有助于在运行时解决这两种类型的问题。在具体方面,OracleAutonomousDatabase可以解决以下问题:1)服务器可用性:这些问题可能会导致服务器退出RAC集群,关闭服务器上运行的所有数据库实例,从而导致数据库中断。例如:服务器可用物理内存耗尽导致的内存压力;网络拥塞或网络故障;2)数据库可用性:这些问题可能导致数据库或其实例之一变得无响应并最终不可用。例如:CPU资源不足或挂起、软件错误或配置更改;3)数据库服务器性能:这些问题可能导致数据库服务器的性能达不到最佳。例如:与配置的偏差、最佳实践、瓶颈资源、构造不当的SQL或可以通过补丁修复的已知错误;4)数据库客户端驱动的性能:这些客户端问题也会影响数据库性能。通过我今天对OracleAutonomousDatabase的分析,大家应该可以看出,AutonomousDatabase是一个全栈的解决方案,肯定不是只在数据库层面实现的。数据库产品提供了支撑自治数据库的基础能力,而云是实现自治数据库的关键。