oracle20c多租户,PgSQL · 应用案例 · Oracle 20c 新特性 - 翻出了PG十年前的特性

背景

熟悉PG的小伙伴一定知道,PG每年都会发布一个大版本,已经坚持了24年,每个大版本都有非常大的进步,这在软件行业都是非常罕见的,所以PG蝉联了2017,2018两届dbengine年度数据库,同时在2019年继linux后荣获OSCON 终身成就奖。

1ff43196e551ef60f1deaecf1d9dce90.png

PG大版本特征矩阵:

近些年,Oracle也开始和PG一样每年都在发版本。今年oow发布了20c,我们看一下20c支持了那些特性:可以参考盖老师发布的如下文档

ca73991ef5f84ae72105c24a213cbfdf.png

实际上在Oracle发布的新特性里面,有大多数特性在PG内核或扩展模块已经支持(主要原因是PG的架构非常灵活,可以很方便的开发扩展功能,同时允许被商业或非商业的形式使用):

来看一下20C里面PG有哪些是已经覆盖的功能呢?

1. 原生的区块链支持 - Native Blockchain Tables

这个特性在PG 中的支持方法

2. 持久化内存存储支持 - Persistent Memory Store

1ba407b4576e9612f3f5cd36bc941fcb.png

3. SQL的宏支持 - SQL Macro

这个特性在PG 中的支持方法

4. SQL新特性和函数扩展 - Extensions

f58f20bf9e6a5f7a1a1b2130a40ecfa3.png

在分析计算中,20c 提供了两种新的分布聚类算法,偏态 - SKEWNESS、峰度 - KURTOSIS,通过这两个算法,可以对给定数据进行更丰富的分布计算,新特性支持物化视图,遵循和方差(VARIANCE)相同的语义。

新的位运算符也被引入,20c 中支持的新的位运算包括:BIT_AND_AGG、BIT_OR_AGG、BIT_XOR_AGG 。

这个特性在PG 中的支持方法

5. 自动化的In-Memory 管理 - Self-Managing In-Memory

81601c6b514a9a56a55da0d0a86cbce2.png

In-Memory 技术引入之后,为Oracle数据库带来了基于内存的列式存储能力,支持 OLTP 和 OLAP 混合的计算。

6. 广泛的机器学习算法和AutoML支持

340d55adff89f9815ae05c849c3f670c.png

在Oracle 20c中,更多的机器学习算法被加入进来,实现了更广泛的机器学习算法支持。

极限梯度助推树 - eXtreme Gradient Boosting Trees(XGBoost) 的数据库实现,以及各种算法,如分类(Classification)、回归(regression)、排行(ranking)、生存分析(survial analysitic)等;

MSET-SPRT 支持传感器、物联网数据源的异常检测等,非线性、非参数异常检测ML技术;

这个特性在PG 中的支持方法

7. 多租户细粒度资源模型 - New Resource Modeling Scheme

在20c之前,多租户的数据库管理是服务驱动的,通过服务来决定PDB的资源放置,PDB的开启也是通过服务来进行隐式驱动的。

在集群环境中,这就存在一个问题,PDB 可能被放置在某个资源紧张的服务器上,服务驱动的模型并不完善。

在 20c 中,Oracle 引入了细粒度的资源模型,将负载和 PDB 的重要性等引入管理视角。例如,用户可以通过Cardinality 和 Rank 定义,改变 PDB 的优先级,在数据库启动时,优先打开优先级别高的PDB。

这个特性在PG 中的支持方法

8. 零影响的计划停机维护 - Zero Downtime for Planned Outages

e759cbb78406adf10fa3dd473842e364.png

在 Oracle 不同版本的不断演进中,一直在加强数据库的可用性能力。在 20c 中,对于计划停机维护或者滚动升级等,Oracle 通过 Smart DRM 等特性以实现对应用的零影响。

对于维护操作,数据库可以在实例关闭前进行动态的资源重分配,这一特性被称为 Smart DRM,通过GRD的动态资源重组织,重新选出的Master节点不需要进行任何的恢复和维护,对于应用做到了完全无感知、无影响。

9. In-Memory 的 Spatial 和 Text 支持

9a297acd903f0d3e3fdcfba4893e25ea.png

针对 Oracle 数据库内置的多模特性,地理信息 -Spatial 和 全文检索 - Text 组件,在 20c 中,通过 In-Memory 的内存特性,获得了进一步的支持。

对于空间数据,Oracle 在内存中为空间列增加空间摘要信息(仅限于内存中,无需外部存储),通过 SIMD 矢量快速过滤、替换 R-Tree 索引等手段,以加速空间数据查询检索,可以将查询速度提升10倍。

这个特性在PG 中的支持方法

暂时不支持内存特性,但是空间计算、文本搜索都是很早很早以前就支持的。

10. 备库的 Result Cache 支持 - Standby Result Cache

在 Oracle 12.2 和 18c 中,已经实现了 ADG 的 会话连接保持 和 Buffer Cache保持,在 20c 中,Result Cache 在备库上进一步得以保留,以确保这个细节特性的主备性能通过。

Result Cache 特性是指,对于特定查询(例如结果集不变化的),将查询结果保留在内存中,对于反复查询(尤其是大规模聚合)的语句,其成本几乎降低为 0 。

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值