我们的文章会在微信公众号“Oracle恢复实录”和博客网站“https://www.cnblogs.com/www-htz-pw/” 同步更新 ,欢迎关注收藏,也欢迎大家转载,但是请在文章开始地方标注文章出处,谢谢!

由于博客中有大量代码,通过页面浏览效果更佳。

随着交流23C的客户越来越多,最近自己也在系统的学习23C的新特性。今天要分享的是23C中True Cache的功能,看似是一个非常不起眼的功能,但是此功能给大家带来的价值是非常大的,并且也跟引入TAC等功能一样,无法开发修改业务逻辑或者业务代码即可使用True Cache的功能。关于True cache的详细说明请直接阅读由此功能的产品经理写的博客内容,连接为:https://blogs.oracle.com/database/post/introducing-oracle-true-cache。

下面是通过GPT自动翻译为中文的版本,不想看英语的,可以看下面的中文的版本。

随着我们的数字领域不断发展,提供实时响应已变得至关重要。延迟已成为新的故障,客户对速度的期望飙升。对于组织来说,调整其应用架构以满足不断增长的用户需求至关重要。

随着数据量呈指数级增长,业务逻辑变得更加复杂,确保最佳服务性能和响应时间对于提供出色用户体验至关重要。在追求卓越性能的过程中,缓存成为一种常见的解决方案,特别是考虑到大多数业务场景涉及更多读取操作而非写入操作。缓存通过将经常访问的数据存储在临时位置/缓存中,有效地减少了对数据库的依赖,从而实现了更快速、更高效的数据检索。

随着公司的扩张和风险的上升,缓存从仅仅是方便转变为绝对的必要条件。对于一个追求竞争力的大型企业而言,曾经足够的东西如今变得不可或缺。失败是不容许的。

在这篇博客中,我们将深入探讨甲骨文即将发布的 23c 版本中一种创新的缓存解决方案,称为 True Cache。通过 True Cache,甲骨文提供了一种先进的缓存解决方案,旨在解决现代业务应用面临的挑战。在本博客中,我们将探讨甲骨文 True Cache 的特性和能力,以及它如何使组织能够优化性能、减轻数据陈旧问题,并有效地管理缓存数据。此外,我们将深入探讨在应用程序中使用 True Cache 的方法、它的用例以及在各种业务场景中 True Cache 的好处。加入我们,一同踏上探索 True Cache 以及它对您的应用程序具有变革潜力的启蒙之旅。

什么是 True Cache?

现代应用程序通常需要在连接数量和可以缓存的数据量方面实现大规模的可扩展性。

一个常见的方法是在数据库前面放置缓存。这些缓存依赖于这样一个事实,即应用程序通常不需要看到最新的数据。例如,当有人浏览航班预订系统时,系统可以显示一秒钟前的航班数据。当有人预订航班时,系统则显示最新的数据。

Oracle True Cache通过仅使用其缓冲区缓存中的数据来满足查询。与Oracle Active Data Guard类似,True Cache是主数据库的全功能只读复制,只是它基本上是无磁盘的。

在高层次上,它的工作原理如下:

  • 应用程序通过Oracle JDBC驱动器手动或半自动地将查询定向到True Cache。
  • True Cache实例通过使用其为其处理的数据库应用程序服务缓存的数据来满足查询。
  • 当发生缓存未命中时,True Cache实例从主数据库实例中获取块。
  • 当True Cache实例首次启动时,除了在缓存未命中期间获取块之外,它还会以大块的形式获取周围的块以进行预热。
  • 缓存了块之后,通过来自主数据库的重做应用进行自动更新,通常具有次秒级的滞后。这类似于在Oracle Data Guard配置中实时应用重做的方式。主数据库的重做块通过主数据库实例上的LGWR进程以异步模式不断地发送到True Cache备用重做日志文件中。
  • 对True Cache的查询仅返回最新的提交数据,即与重做应用滞后一致的数据。
  • 对True Cache实例的每个查询始终返回一致的数据。

在应用程序中使用True Cache

应用程序通过以下方法之一决定是否查询True Cache或主数据库实例:

  • 在查询或更新数据之前,维护对True Cache配置的各个实例的多个物理连接,并在查询之前切换连接。

  • 仅维护对运行在主数据库实例上的数据库应用程序服务的一个逻辑连接,并让驱动程序处理相应主数据库和True Cache实例的底层物理连接。此方法仅适用于使用JDBC Thin驱动程序。开发人员可以在应用程序代码的某些部分手动将逻辑连接标记为只读。如果为数据库应用程序服务配置了True Cache实例,则Oracle JDBC驱动程序将自动将来自应用程序代码的只读部分的查询定向到其中一个True Cache实例。

Oracle True Cache 提供以下优势:

提升应用性能

Oracle True Cache 通过卸载查询并减少对主数据库的请求,提高可伸缩性和应用响应时间,而无需重写应用程序。

自动化维护

Oracle True Cache 在多个实例中自动化缓存数据的维护,减少手动工作量,提高生产效率。

简化开发

开发人员通过维护对主数据库实例的单一逻辑连接,可以在主数据库和 True Cache 实例之间无缝切换,无需手动指定实例名称,从而提高应用程序的透明性和效率。

改善服务水平协议(SLA)

Oracle True Cache 通过集成瘦客户端和数据库简化应用程序架构,消除对额外中间层产品的需求。这种协同作用导致提升的服务水平协议(SLAs)和减少潜在错误,确保用户体验更为顺畅和高效。

实现成本节省

通过将缓存卸载到具有成本效益的通用硬件上,减轻数据库负载并减少与更昂贵硬件相关的潜在费用,实现成本节省。

使用案例

探索 Oracle True Cache 在各个领域的独特适用性,其中企业和应用程序追求特定要求:

用户会话存储: Oracle True Cache 存储短暂的会话数据,如用户配置文件和浏览历史,提供微秒级响应时间,优化实时推荐引擎的性能。

电子商务应用: 客户通过访问 Oracle True Cache 实例而不是后端数据库来检索在线产品目录的数据。这一过程提高了响应时间,并在销售高峰期(如黑色星期五、网络星期一和黄金时段电视交易)提升了客户体验。

在线游戏: Oracle True Cache 通过存储实时玩家数据,支持排行榜等功能,减少延迟并提升沉浸式游戏体验。

用户认证: Oracle True Cache 处理每天数百万次对用户配置文件的更新,实时验证应用程序用户。它还支持多个数据模型以本地存储不同类型的元素,降低了复杂性和成本。

实时分析: Oracle True Cache 可用于缓存数据并卸载数据库 I/O,以减轻运营负担、降低成本,并提高数据库和应用程序的性能。

边缘计算: Oracle True Cache 可部署在更接近用户或设备的地区,缩短从数据库收集、存储和检索数据所需的时间。

数据主权: Oracle True Cache 将读取卸载到部署在更接近最终用户或主权区域的实例中,加快分析响应时间并保持数据主权。

总的来说,Oracle True Cache 为现代数据领域提供了一个全面的解决方案。True Cache 充分利用了 Oracle 数据库的全部潜力,包括高级功能如索引、并行查询和压缩;对各种数据类型的支持,包括关系型、对象型、文档型(JSON/XML)、键值对、文本、图形和空间;以及对各种数据格式(行/列式)的支持。它消除了管理单独缓存层和失效的复杂性。通过优化延迟、个性化体验、简化操作,以及在一系列用例中提高性能——从电子商务到游戏,从金融运营到物联网管理——Oracle True Cache 势必重新塑造数据加速和传递,使企业能够满足当今数字领域不断增长的需求。

下面引入来至23年的00W中关于True Cache主题的一页PPT,这页PPT很好的总结了Oracle True Cache与原来传统的缓存的差异。

Oracle 23C仍然在引领数据库的发展,并且还在23C中提出新的Oracle数据库愿景:

“让开发和运行

任何规模的任何应用和分析

都非常容易”

不管在23C引入的新的功能,还是说23C中提出的数据库愿景,其实都值得国产数据库厂商的借鉴。

23C新特性:True Cache的介绍的更多相关文章

  1. java8新特性--Stream的基本介绍和使用

    什么是Stream? Stream是一个来自数据源的元素队列并可以进行聚合操作. 数据源:流的来源. 可以是集合,数组,I/O channel, 产生器generator 等 聚合操作:类似SQL语句 ...

  2. Python 3.8.0 正式版发布,新特性初体验 全面介绍

    Python 3.8.0 正式版发布,新特性初体验 北京时间 10 月 15 日,Python 官方发布了 3.8.0 正式版,该版本较 3.7 版本再次带来了多个非常实用的新特性. 赋值表达式 PE ...

  3. 11G新特性 -- Result Cache

    共享池存放sql语句的解析和编译版本,以便数据库能快速执行频繁执行的sql语句和plsql. 在11g中,数据库使用result cache来存放sql和plsql的执行结果. result cach ...

  4. C#3.0新特性之扩展方法介绍

    C#3.0扩展方法是给现有类型添加一个方法.现在类型即可是基本数据类型(如int,String等),也可以是自己定义的类.以下是引用片段: //Demo--1 //扩展基本类型 namespace T ...

  5. 二十五、JDK1.5新特性---枚举

    与上篇文章介绍的相同,本文也是介绍jdk 1.5出现的新特性,本文将介绍枚举的相关用法. 在jdk 1.5 之前.Java可以有两种方式定义新类型:类和接口.对于大部分面向对象来说.这两种方法看起来似 ...

  6. 背水一战 Windows 10 (1) - C# 6.0 新特性

    [源码下载] 背水一战 Windows 10 (1) - C# 6.0 新特性 作者:webabcd 介绍背水一战 Windows 10 之 C# 6.0 新特性 介绍 C# 6.0 的新特性 示例1 ...

  7. 重新想象 Windows 8.1 Store Apps (85) - 警报通知(闹钟), Tile 的新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (85) - 警报通知(闹钟), Tile 的新特性 作者:webabcd 介绍重新想象 Windows 8.1 Store Ap ...

  8. 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性

    [源码下载] 重新想象 Windows 8.1 Store Apps (91) - 后台任务的新特性: 下载和上传的新特性, 程序启动前预下载网络资源, 后台任务的其它新特性 作者:webabcd 介 ...

  9. 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性

    [索引页][源码下载] 返璞归真 asp.net mvc (13) - asp.net mvc 5.0 新特性 作者:webabcd 介绍asp.net mvc 之 asp.net mvc 5.0 新 ...

  10. 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性

    [索引页][源码下载] 精进不休 .NET 4.5 (12) - ADO.NET Entity Framework 6.0 新特性, WCF Data Services 5.6 新特性 作者:weba ...

随机推荐

  1. 线性关系和非线性关系在.net中的应用

    在数学中,线性关系和非线性关系是描述两个变量之间函数关系的两种不同类型. 线性关系是指两个变量之间可以用一条直线来表示的关系.具体来说,如果存在一个一次函数 y = kx + b,其中k和b是常数,使 ...

  2. 何时使用Elasticsearch而不是MySql

    MySQL 和 Elasticsearch 是两种不同的数据管理系统,它们各有优劣,适用于不同的场景.本文将从以下几个方面对它们进行比较和分析: 数据模型 查询语言 索引和搜索 分布式和高可用 性能和 ...

  3. 3.0 Python 迭代器与生成器

    当我们需要处理一个大量的数据集合时,一次性将其全部读入内存并处理可能会导致内存溢出.此时,我们可以采用迭代器Iterator和生成器Generator的方法,逐个地处理数据,从而避免内存溢出的问题. ...

  4. WPF 入门笔记 - 08 - 动画

    感谢大家对上篇博文的支持 回到正题,今天和大家分享下学习动画过程中的内容.动画对我来讲还是蛮新鲜的,大家知道在接触WPF之前我只用过Winform,而Winform中并没有动画的概念,当想要实现某些& ...

  5. 作为用户我该如何调用API 接口获取商品数据

    作为用户,如果你想要获取商品数据,可以通过调用API接口来实现.下面是一些步骤和注意事项,帮助你成功获取商品数据. 了解开放平台:首先,你需要了解开放平台,注册一个开发者账号,并创建一个应用.在创建应 ...

  6. 2023羊城杯RE部分

    vm_wo 代码copy下来调了一下 vm_body[0]=input[i] vm_body[1]=vm_body[0]>>1 v12=vm_body[0] vm_body[2]=v12& ...

  7. Maven安装与配置教程

    一.安装前检查 检查电脑上是否安装JDK,如果没有安装,请查看JDK安装教程:点我查看 如果电脑上已经安装JDK,按Win 和R键,输入cmd,然后点击确定 输入java -version,点击回车, ...

  8. Confluence的Excel插件Elements Spreadsheet安装

    背景 Confluence是现在广泛使用的团队协作文档系统.虽然自身带了一些表格编辑功能,但表格的整体功能较弱,比如不能通过Excel文件进行导入导出,表格在复制到Excel时格式会比较奇怪等等.对于 ...

  9. Linux平台Oracle 23c单实例 安装部署配置 快速参考

    转眼间已经2023年,再有一周就要过年了,在这里先给大家拜个早年,祝大家新的一年万事顺利. Oracle如今版本号也和年份挂钩,在前段时间的OCW上也宣布发布了beta版本的23c,因为23c是继19 ...

  10. std::for_each易忽略点

    以下代码为修改vector内部的每一个元素,使其每个元素大小变为原来的平方. std::vector v1{1, 2, 4, 2}; std::for_each(begin(v1), end(v1), ...