Oracle 考虑到 2020 年我们的客户将面临前所未有的经济和业务中断。我们决定不将 Database 20c Preview 版本升级为 General Availability。 相反,我们将所有 20c 功能都合并到 21c 版本中,并使 21c 在我们的 “自制数据库免费层” 中可用,以便所有人都可以免费试用驱动新功能和增强功能。
一、Oracle21c怎么样
Oracle 考虑到 2020 年我们的客户将面临前所未有的经济和业务中断。我们决定不将 Database 20c Preview 版本升级为 General Availability。 相反,我们将所有 20c 功能都合并到 21c 版本中,并使 21c 在我们的 “自制数据库免费层” 中可用,以便所有人都可以免费试用驱动新功能和增强功能。
Oracle 21c 在 Oracle CLoud 上,在 2020 年 12 月 8 日可用,在企业级公众版本将于 2021 年上半年发布。现在的年度版本被称为『创新版本』,仅作有限的支持,有别于长期支持版本。21c 的支持期仅仅为 2023 年 6 月,没有扩展支持。
1. 原生的区块链支持 – Native Blockchain Tables
随着区块链技术的不断成熟和发展,Oracle 在其多模的数据库支持中,引入了原生的区块链表支持。在 21c 中数据库中可以通过 blockchain 关键字来创建区块链表:
CREATE Blockchain TABLE ;
很多客户希望在不涉及多个组织的情况下, 利用区块链的防篡改和不可否认属性,区块链表使客户可以在需要高度防篡改的数据管理,而又无需在多个组织中分布分类帐或依靠分散的信任模型时使用 Oracle 数据库。
为了遵循区块链的可信和安全机制,区块链表只能 INSERT 记录,记录之间通过 Hash 算法进行链接,不能修改,同时链可以被多方参与者验证。区块链表,可以和其他常规表进行关联,进行事务处理或者查询。
2. 持久化内存存储支持 – Persistent Memory Store
自 Oracle 19c 开始,Oracle 就已经开始修改程序以更好的配合持久化内存,提升数据库性能。
在 21c 中,Oracle 明确支持了持久化内存 – Persistent Memory,虽然目前发布的信息是在 Exadata 中支持,但是软件的提升是通过的,在各类一体机中,或者是传统架构中使用持久化内存是毫无障碍的。
3. SQL 的宏支持 – SQL Macro
宏的作用在于让 SQL 获得进一步的概括和抽象能力,允许开发者将复杂的处理逻辑通过宏进行定义,然后在后续程序处理中可以反复引用这一定义。
在 21c 中引入的 SQL Macro 支持两种宏类型,Scalar 和 Table 类型。
- SCALR 表达式可以用于 SELECT 列表、WHERE/HAVING、GROUP BY/ORDER BY 子句;
- TABLE 表达式可以用于 FROM 语句。
4. 原生的 JSON 数据类型支持
12.1.0.2 引入 JSON 支持, 允许将 JSON 存储在 varchar2 或 LOB(CLOB 或 BLOB)中,可以利用 Schemaless 设计模型所提供的灵活性来构建应用程序,但又能从 Oracle 数据库的功能中受益。
可以使用标准 SQL 查询 JSON 文档,利用高级分析功能,对单个属性或整个文档进行索引,并行处理数十亿个 JSON 文档。还可以通过使用 Java、Node.js、Python、C 语言和 REST 的 SODA API 来访问 Oracle 数据库,将其视为 NoSQL 数据库。
在 21c 中,Native 数据类型 “JSON” 改进了对 JSON 的支持。在读取或更新操作时不必对 JSON 进行解析,而只在插入时才进行解析,JSON 以内部二进制格式保存,这使得访问速度更快。读取和更新速度提高了 45 倍,对非常大的 JSON 文档的更新速度提高了 2030 倍。
新的函数 JSON_TRANSFORM,使得在一次操作中更新和删除文档中的多个属性变得更加简单。
延伸阅读:
二、应用架构是什么
应用架构(Application Architecture)是描述了IT系统功能和技术实现的内容。应用架构分为以下两个不同的层次:
- 企业级的应用架构:企业层面的应用架构起到了统一规划、承上启下的作用,向上承接了企业战略发展方向和业务模式,向下规划和指导企业各个IT系统的定位和功能。在企业架构中,应用架构是最重要和工作量最大的部分,他包括了企业的应用架构蓝图、架构标准/原则、系统的边界和定义、系统间的关联关系等方面的内容。
单个系统的应用架构:在开发或设计单一IT系统时,设计系统的主要模块和功能点,系统技术实现是从前端展示到业务处理逻辑,到后台数据是如何架构的。这方面的工作一般属于项目组,而不是企业架构的范畴。