5

oracle 23c新特性猜想与解读 -m6米乐安卓版下载

原创 多明戈教你玩狼人杀 2022-09-26
2910


周末看到了外国同行philipp salvisberg发的oracle23c新特性列表的一张图,于是产生了兴趣逐条比对,一共22条,我个人的解读如下,水平有限不足之处还请指正。


4k列
从过往的的oracle官方手册中我查到,oracle在过去单表的最大列是1k列。在23c中的最多列数将会支持到4096列。


sql domains

按照pg里的概念,create domain创建一个新的域。域本质上是一种带有可选约束(在允许的值集合上的限制)的数据类型。 定义一个域的用户将成为它的拥有者。域主要被用于把字段上的常用约束抽象到一个单一的位置以便维护。例如, 几个表可能都包含电子邮件地址列,而且都要求相同的 check 约束来验证 地址的语法。可以为此定义一个域,而不是在每个表上都单独设置一个约束。

在实际使用中,与pg的使用有哪些异同之处,要等到来年春天知晓。


json schema


oracle对json的进一步支持,从字面意思和举的例子来看,这是要挑战mongodb最擅长的东西。具体使用起来如何,来年看。


developer role

针对开发者提供了专门的role,通过一条exec语句实现,可以具备多种ddl的权限。对dba来说,打包了connect和resource之后的角色更合理。


schema level privileges

schema级别的权限管理,oracle你终于肯拿出来了。oracle11g时代,以往我要做一个schema级别的权限管理,需要先从dba_tables里把所有的信息select出来,然后生成一个脚本。以至于很长时间里,我们开发人员都以为我是不想给他们干活才故意弄的这么繁琐。

一行命令能搞定的事,非要绕弯子十几年。


js stored procedure

支持基于mle javascrip的存储过程。把存储过程用javascript实现。到底支持到什么程度,还是需要来年揭晓。


single server rolling maintenance

字面意思上看,单服务器滚动维护,如果我没记错,exadata已经有了类似的功能,很好奇23c这个具体是在什么样场景下使用。


native property graphs

原生的图数据库存储。oracle是想把市面上能支持的都给支持了,下一个大迭代出什么新引擎我都不觉得奇怪。


oracle rac on k8s

以往的oracle确实是有跑在k8s上的,但是缺少官方支持的情况下,无论是故障排查还是后续的m6米乐安卓版下载的技术支持多少都有灰色地带,如同当年虚机上跑oracle到底怎么支持怎么收费一样。

也能够看出来,k8s的影响力已经到了oracle不得不正视的时候。但是我谨慎不看好第一版官方支持的rac on k8s。

1024 bytes password

对于有超高要求的用户,是个好消息。之前在金融行业工作的时候,确实也有同事质疑过oracle对于密码大小的限制是否能完全满足需求。

oracle <-->kafka integration

过去我参与过的oracle和kafka之间的配置,很多时候是要通过ogg来完成,如果23c可以更加简化这一场景,是个非常好的消息。

better error messges


将错误信息进一步细化,而不是要依靠开发人员或dba的经验来猜,这件事情在他数据库中已经做的更好,oracle一直拖延到23c才做。

其他几项我之前工作涉及的比较少,想了半天没想出什么太有用的内容。值得一提的是,现场还是提出了几项sql相关的改进:

select without from:从以前select 1 1 from dual直接变成select 1 1,对于常量或者函数的开发测试更加方便。

boolean:在plsql之外的场景下,终于支持了布尔类型。对于不熟悉oracle的朋友来说,可能觉得匪夷所思,2023年才支持。

update via join:通过join的方式来更新一个表,也是一个姗姗来迟的特性。

if [not] exists:是的,你没看错,以前oracle是不支持这个关键字的,当年在其他数据库跑的业务逻辑迁移到oracle因为这个还改动很多。

group by alias/position:以前我的某一列是函数结果比如extract() as cname,那么group by的时候我是不能用这个cname的,现在可以了。

table value constructor:最直观的就是允许insert一次插入多行了,不用再一行一行插入。(ps:这是iso sql标准)


这部分能看出来,oracle想要尽可能方便现有的私有部署的客户上云,但是目前提供的几个新特性恐怕远远不够。

自动升级到keystore访问

自动升级可插拔数据库

zdm支持的standby和dg broker

上云前的相关工具


三个大板块,能看出23c重点想要解决的几个问题:

支持更多的类型,尤其是json和图,具体能做到什么样子有待验证。

完善之前被诟病已久的sql,例如无表select, if exists,和其他数据库以及标准sql尽量贴近

完善与其他生态的对接,例如kafka, k8s等等,实际上这些都是早几年就该去做的。

云服务,在错过了云多年之后,后知后觉开始追赶,但是我不看好oracle短期内的成效。

最后修改时间:2022-09-26 13:04:14
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
1人已赞赏
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

网站地图