发布时间:2023-04-27 12:30
Oracle作为全球最大、历史最悠久的数据库厂商,在数据库方面的技术领先性和创新性方面,依然保持了强大的优势。Oracle数据库自从1978年发布第一个版本之后,至今已经有41年的时间。Oracle在全球数据库的市场份额超过50%。其不仅包括商用版的Oracle DB,同时MySQL作为开源数据库,也是Oracle旗下的产品。Oracle的数据库到底强在哪里呢?
Oracle数据库不断演进
我们先看一下Oracle数据库的产品矩阵,感受下全球第一个数据库厂商的实力。Oracle的数据库产品从单独的软件版本到一体机产品,而且每个产品形态都在不断演进。
Oracle数据库产品线
1、Oracle DB最新进展
2019年Oracle发布Oracle DB 19C。在2019年8月Oracle云数据库大会上,Oracle介绍了其最新产品Oracle DB 19C的特性。这里顺便说一下,Oracle数据库命名的规律和特点,Oracle DB 19C,表示的是Oracle在2019年Q3发布的第三个版本,在19Q4,Oracle DB也将随之更新至第四个版本 19d。
Oracle DB 19C可以在任何环境运行,本次版本增加的新功能包括:
1)安全可靠的Oracle 数据库版本
长期支持12c 第2 版系列(12.2、18、19)标准支持服务持续至2023 年3 月,扩展支持服务持续至2026 年3 月
2)提供更多自治数据库功能
自动索引、实时统计……
3)提供功能变更以改善整体客户体验
面向物联网的流插入,Active Data Guard 备用数据库更新、针对云对象存储的SQL 查询。
Oracle数据库18C的升级
Oracle数据库19C的升级
针对以上这些,我们初看起来,可能还没有太多直观和概念的认识。我们先看下Oracle数据库正在做的数据库革新。主要体现在几个方面:
1)自治数据库 Autonomous Database
2)云 Cloud
3)Exadata
4)分片 Sharding
5)区块链 Blockchain
6)微服务 Microservices
我们先看下,Oracle数据库在自治方面的进展。首先对于“自治(Autonomous)”,我们可以理解为将AI技术逐步植入和迭加到已有的数据库产品。
Oracle数据库从9i版本,已经开始实现“自动Autonomous”的功能,包括自动查询重写和自动撤销管理等功能。在之后的10g、11g、12c等多个版本中,不断加大和强化AI和机器学习技术的应用。
Oracle的自治数据库,集成了基于机器学习和人工智能技术的监视、管理和分析功能。自治数据库的机器学习和人工智能算法所使用的技术应包括查询优化、自动内存管理和自动存储管理,以提供一个完全自主调优的数据库。自治数据库的目标是,实现数据库调优自动化,防止应用中断,并加强整个数据库应用的安全性。
机器学习算法通过分析大量的记录数据,并标记异常值和异常模式,帮助企业提高数据库安全性,防止入侵者造成破坏。机器学习还可以在系统运行的同时自动、连续地对系统进行打补丁、调整、备份和升级,而无需人工干预。这将尽可能减少发生人为错误或恶意行为的可能性,避免影响数据库运作或安全性。
对于Oracle数据库,通常有这样的看法:“Oracle 是一个关系型数据库,因此无法管理和分析非结构化数据”。对于以上这种看法,我们认为,对Oracle数据库的认知,还停留在关系型数据库本身的固定范式。
Oracle是一个多模型数据库,可以支持多个计算场景下的数据管理,包括:文件、图形、键值、空间地理等。因此,Oracle数据库可以对任何数据类型执行SQL查询。
Oracle数据库支持多种数据类型
2、Oracle数据库的转型
为了应对新的计算环境,新的数据格式以及新的应用场景。目前Oracle数据库也在逐步转型
1)从手动到自治数据库
上面我们也提到了Oracle数据库从9i版本开始,就逐步加入数据库自动的一些功能。Oracle自治数据库可以实现“自治运行”、“自治安全”、“自治修复”等功能,将数据库的运行过程更加流畅、安全和稳定。从这个角度来看,我们也看到华为的推出的GaussDB也加入的AI的功能,来实现数据库的自动化运行和管理。
Oracle数据库自治功能的演进
Oracle数据库的自治功能
2)从通用到一体化设备
Oracle提供的数据库产品,已经不再是我们所想象的一个数据库的软件产品,而是一体化设备。2008年Oracle推出Exadata数据库服务器。
Exadata是Oracle的推出的软硬件整合一体机产品,初始目的是用于解决超大型数据库所存在的普遍性性能瓶颈,也就是磁盘存储系统向数据库服务器传输大量的数据,Exadata相当于Oracle通过硬件和软件的组合拳有效的解决了存在于存储层和数据库层之间的瓶颈,随着其发展和推广后来开始支持OLTP或者混合型的应用场景,自从2008年首次发布以来,Exadata已经经历了好几次重大变革。
Oracle Exadata 是核心由Database Machine(数据库服务器)与 Exadata Storage Server(存储服务器)组成的一体机硬件平台。运行在Exadata的软件核心为Oracle 数据库和 Exadata Cell软件,分别对应着ORACLE 19C软件和存储管理软件。
Oracle Exadata 数据库云平台运行标准Oracle数据库,因此,如今使用Oracle数据库的任何应用都可轻松无缝地迁移至Exadata数据库云平台,无需对应用进行任何更改。此外,客户还可以轻松将数据库从Exadata中迁出,完全不必担心“供应商依赖”。考虑在公有云中部署数据库的客户尽可放心,Exadata能够在内部部署与公有云部署之间提供100%的兼容性,让客户可以无缝地迁移至公有云或混合云部署。
Oracle数据库云平台产品Exadata
Exadata的特性
Exadata主要特性
• 每机架多达 912 个 CPU 内核和 28.5 TB内存用于数据库处理
• 每机架多达 576 个 CPU 内核专用于在存储中进行 SQL 处理
• 每机架 2 到 19 台数据库服务器
• 每机架 3 到 18 台存储服务器
• 每机架高达 920 TB 闪存容量(物理)
• 每机架高达 3.0 PB 磁盘容量(物理)
• 混合列压缩的压缩率通常可达 10-15 倍
• 40 Gb/秒 (QDR) InfiniBand 网络
• 完全冗余,确保高可用性
Exadata的应用
Exadata在人社核心业务的应用
3)从单数据库到分布式数据库
Oracle的数据库支持的数据计算量都比较大,为了满足全球规模的OLTP应用程序对小型数据库的需求,Oracle利用原生分片技术,将大型数据库分成很多小型数据库。
Oracle的原生SQL对分片表可以做到1000个分片
线性扩展的数据和用户隔离到不同的分片
在线添加和重组分片
路由基于分片键,交叉分片查询
Oracle的分布式数据库
4)从关系型到以Web为中心的数据
我们之前Oracle数据库有分歧的地方在于,Oracle的数据库不能很好的支持互联网数据。目前,Oracle数据库逐步向支持互联网场景的数据。
Oracle利用原生SQL对JSON进行支持。
1)JSON是Web新应用程度最流行的数据格式。
2)数据库中的JSON极大简化了应用程序开发
3)Oracle将JSON存储在表列中,并支持原生SQL
4)所有的Oracle功能都支持JSON。
5)从碎片化数据库到融合数据库
目前,初创格式和云供应商都在大力倡导单用途数据库,其可以使其避免建立通用数据库做需要的数十年的投资。能在某一个的应用场景快速超越已有的市场领先者。比如,我们现在看到的AWS的数据库,其开发了支持不用数据类型和计算场景下的多样化的数据库。
针对市场的多样化数据场景需求和竞争对手的竞争,Oracle开发了融合数据库,将众多单独的数据库产品融合到Oracle数据库产品中,可以支持键值、分析、JSON等多样化的的产品功能需求。
Oracle数据库支持多种数据类型
总结:
1、产品需要时间的积累。从国内外数据库产品发展时间来看,Oracle数据库从1978年开始到现在已经有41年的历史,AWS的数据库从2006年开始到现在大概走过了13个年头,华为的Gauss数据库大概12年的时间,阿里的OceanBase数据库从2010年开始到现在,差不多10年左右的时间。相比海外数据库产品的成熟度,国内数据库产品未来的路还很长。
2、从生态体系来看,Oracle的数据库成为全球第一数据库的地位,也是经过了很多次版本的更新升级,更与上世纪80年代开始的全球IT生态体系的逐步确立有关。Oracle数据库世界霸主地位,是随着Windows操作系统、Intel X86芯片一起建立的PC时代的IT底层生态而逐步确立的。而AWS数据库则是适应了互联网时代(云计算时代)新的计算场景对数据库的新需求,再加上自身的云生态体系,逐步迎来的客户使用的推广。国内数据库产品的成熟和推广应用,更需要IT生态体系和应用场景的支撑。
3、产品的优化和升级是一条漫漫长路。这也是软件产品的一个特点,所有我们感觉好用的软件产品都不是短期开发出来的,而是靠时间堆出来的,都是经过无数客户的实用反馈,反复修改bug,优化到大部分用户都满意的水平。对于数据库产品更是如此,Oracle的数据库之所以好用在于其在产品迭代中,不断收到客户的使用反馈,不断地对产品进行相应的修改和更新,这一过程进行了41年。