一、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系统时,设计系统的主要模块和功能点,系统技术实现是从前端展示到业务处理逻辑,到后台数据是如何架构的。这方面的工作一般属于项目组,而不是企业架构的范畴。