Oracle 作为数据库领域的“领导者”,有赞美者,有跟随者,更不缺质疑者、挑战者。
2019 年 8 月 8 日,Oracle 在北京举行了以“数聚中国 30 年”为主题的 2019 甲骨文数据库云大会。发布会上,甲骨文公司数据库技术执行副总裁 Andy Mendelsohn 不仅介绍了 Oracle 在数据库领域的最新研究,同时也对业界对于 Oracle 的相关质疑做出了回应。
本文基于 Andy Mendelsohn 的演讲内容,整理出了大家广为关注的 6 个问题,希望能够带领读者看到一个更新、更全面的 Oracle。
疑问 1:Oracle 是个关系型数据库?
相信对于这个问题的答案,很多人都会脱口而出:“是的!”没错儿,Oracle 数据库是个关系型数据库,但它仅仅只是一个关系型数据库吗?它是否无法管理和分析非结构化数据?
Andy 表示经常会听到大家有这样的看法,但其实 Oracle 数据库已经不再只是一个关系型数据库,更是一个多模型数据库,它支持所有类型的数据库,例如 JSON 类型的数据库。使用 Oracle 数据库,用户不仅可以获取到各种各样的数据类型,同时也可以满足不同的用户需求,例如一致的数据视图、高性能的 SQL 查询、事务、安全性、可靠性和可扩展性等等。
疑问 2:如果我想要建一个机器学习模型,是不是需要先将数据移出 Oracle 数据库呢?
Andy 首先表示这其实也是大家的一个误解:“人工智能和机器学习到现在已经有 15 年的发展历史了,无论是我个人还是公司,都认为这是非常有意思的领域,同时也专注于人工智能和机器学习的研究,例如通过算法移植数据,这种方式要比移动数据更加容易、更加边界便捷、更加方便。”
Oracle 的机器学习被内置在部署体系的每一层中,在数据库基础设施层,它会被用来检测和恢复故障,运行欠佳的服务器、存储或交换机/链路;在数据库操作层,它被用来挂起管理、异常检测、维护槽识别、结果识别和优先排序;在负载优化层,它被用来查询优化器、实时统计信息、自动索引。
疑问 3:Oracle 数据库不适合微服务和云等现代范式?
Oracle 数据库已经是一个有 40 多年历史的数据库,而 IT 技术日新月异,当新的技术不断涌现,大家难免就可以开始担心,这个“老家伙”能够适应新的技术吗?
Andy 表示:“这个担心是多余的,以 Docker 容器为例,它可以运行这个应用或微服务,而 Oracle 提供的平台针对不同的容器,可以面向微服务、云等。”
“我们通过协议支持的数据库来为大家提供服务,每一个 PDB 充当应用或者微服务的数据存储,可以通过分库或者 SMP、RAC 进行扩展。但是这种做法也会存在问题,例如如果有 3 个独立的微服务,那么除了把数据从数据库中抽取出来,你可能还需要另一个数据库。而使用 Oracle 数据库,就可以把所有的数据都整合起来放在一个容器里面,便于进行数据分析、数据抽取。所以我们在一次交易当中就可以使用微服务,并很快完成你想要的数据服务,包括数据恢复。如果数据丢失了,还可以通过这个平台很快恢复。”
疑问 4:Exadata 是一款会对供应商产生依赖的产品?
Andy 表示:“Exadata X8 在全球的应用范围很广,但它并不是一款会对供应商产生依赖的产品,我们开发这个产品的目标是保证 Oracle 数据库在所有的环境当中都支持相同的开发人员 API,不管是在本地部署还是云端部署。因此,Exadata 上运行的数据库负载可以在所有环境中运行,无需更改应用。”
“我们认为 Exadata 是现在运行数据最好的平台,有很大的差异化的优势,但是它不会使你产生依赖。我们有很多服务的平台都可以在上面升级应用。在我看来,然后 IBM 的和大型机以及大多数的 AWS、Azure 和 Google 的云服务,才会使用户对供应商产生依赖。”
疑问 5:关于大家都很关心的自治数据库,它有什么新发展?
2017 年开始,Oracle 就一直在将“自治数据库”,那么所谓的自治数据是什么呢?Andy 表示:“我们的自治数据管理技术其实是基于数据库,所以打造安全可靠的数据库或自治数据管理平台就变得至关重要。同时,我们还需要非常多样的工作模型来适应自治数据管理,通过数据库服务器或终端实现提升服务的目标。”
同时,Andy 也介绍了 Oracle 在自治数据管理方面的新成果。
自治数据仓库(ADW),在传统的数据集市、数据仓库的基础之上,将机器学习和数据湖充分结合在一起形成非常强大的数据湖,并以非常低聚的成本存储大量的数据进行分析。Oracle 针对分析负载做了优化,高性能的数据仓库查询,使其具有了大数据平台出色的灵活性;轻松供应、加载数据和执行查询,便于迁移现有数据库;低成本,零管理弹性扩展。
自治事务处理(ATP),适用于 OLTP、混合 OLTP/分析、物联网和文档负载。高性能、安全、可靠的 Exadata 基础设施;便于供应新数据库或迁移现有数据,只需指定 OCPU 数量和存储量,数秒就可完成系统供应;低成本,即时弹性扩展支持联机更改 OCPU 和存储,完全自治的基础设施数据库操作;可选择手动调优或自动调优。
专用自治数据库,可以实现安全数据库整合和负载的隔离,部署在专用的 Exadata 基础设施之上,保证 99.995%的 SLA 服务级别,专用隔离用户的所需性能,整个过程可以做到与其它租户完全隔离。专用的意义在于能在公有云当中给客户提供独一无二的完全隔离的私有云,用户体验也能做到与私有云完全一样。
ATP 自动索引,针对事务性的负载和混合的负载,可以进行自动调优,实现优化性能的目标。通过机器学习持续监视负载,捕获所有 SQL 语句,识别新的 SQL 计划和索引,在生产环境外部来进行一些更新的测试,在首次执行的时候进行验证,如果速度比原先的慢,那么我们就恢复原先的计划,如果速度比原先的快,我们就已经完成了调优。如果负载完成了调优,则可以在顾问模式下使用,并且这是一个不断进行自动调优和不断进行性能优化的过程,所有过程都可以由客户来进行审核。
基于自治数据库的 APEX,这是一个常用的低代码应用开发平台。利用它,能够立即开始开发和部署应用,不需要额外的 DBA 资源,只需要 Web 浏览器的界面,也不需要额外购买、管理或集成额外的应用开发框架,零延迟数据访问,可在自治数据库中运行应用逻辑和数据访问。
疑问 6:自治数据库的下一步动作是什么?
据 Andy 介绍,Oracle 对自治数据库的未来计划是部署在客户内部的自治数据库,即客户数据中心的自治数据库。
这是一种纯云端服务,自治数据库可以将自动化引入整个体系,例如服务器、存储、网络、互联、软件等。这种自治数据库主要服务的客户人群是因为法规、公司政策、网络延迟等原因迟等原因,无法迁移至公有云的客户,通过这种方式,数据还是掌握在客户手中。
在基于云的应用环境的发展过程中,第一代是把所有服务缝缝补补凑在一起放到云端,但自治数据库的做法是把所有通用的服务都集中在自治数据库,例如数据获取,可以利用 ETL 技术或其它工具进行自由迁移;数据访问,要确认应用中所有的 API 都是可以使用,并访问相关数据。
评论