Oracle内存计算应用模式

前言

内存计算是利用内存来加速数据访问和应用的性能,并降低应用开发复杂度的技术。近十年来,随着软硬件技术的发展和用户需求的成熟,内存计算技术已经得到了广泛地应用。

Oracle在内存计算领域具有非常重要的地位,这主要得益于Oracle在技术领域的长期耕耘和深厚积累。Oracle在内存计算领域的产品和解决方案包括:Oracle TimesTen,Oracle Database In-Memory和Oracle True Cache。

按照时间顺序。TimesTen 1996年成立,2005年6月被Oracle收购,在电信和金融行业得到广泛应用。Database In-Memory作为数据库选件,于2014年7月首次发布,极大增强了Oracle数据库的分析能力。True Cache 于2023年9月推出,包含在即将发布的Oracle 23c数据库中,极大简化了只读缓存的管理和应用开发。

来看一下官网对这3种内存计算技术的介绍:

  • TimesTen:超快速、超高可用且弹性可扩展的 OLTP 数据库。Oracle TimesTen In-Memory Database 是一个功能全面、内存优化的关系型数据库,可助力众多行业的任务关键型应用实现微秒级响应和超高的吞吐量性能。

  • Oracle Database In-Memory:将列功能引入 Oracle Database,透明地加快分析查询速度高达数个量级。它支持企业基于实时数据制定明智决策,降低成本、提高工作效率和竞争力。

  • Oracle True Cache :是一项只读的内存中高性能 SQL 和键值缓存服务,它支持自动化管理,可确保数据一致。Oracle True Cache 能够在改善应用响应速度的同时降低数据库服务器负担。此外,得益于自动化管理和数据一致性,它还能简化应用开发,降低开发人员工作量和成本。

基于以上3种技术,下面我们将对Oracle主要的内存计算应用模式进行简要地介绍。

模式1:TimesTen作为Oracle数据库只读缓存

在这里插入图片描述
将内存作为缓存,是一种非常流行的内存计算应用模式。使用缓存的好处包括:

  • 降低延迟:内存的高性能
  • 更高的吞吐量:内存的高性能
  • 可扩展性:缓存比数据库更容易扩展
  • 数据库减压:可以将数据库任务卸载到缓存执行
  • 高可用性:如果数据库宕机,缓存仍可对外服务

使用Redis,Memcached作为缓存是一种非常普遍的做法,但这一类缓存为Key/Value模式,而Oracle数据库是关系型,因此需要额外的开发在两种模式间做转换。如果使用TimesTen,由于都是关系型数据库,加之作为同一家公司的产品,Oracle和TimesTen之间做了深度集成,因此缓存的管理会更简单,包括定义,配置更改,刷新等,这些都不需要编程来实现。应用程序只需要将连接指向TimesTen即可,之前在Oracle运行的SQL也可以在TimesTen上运行,可以无需修改或经过很少的修改。

也就是说,使用TimesTen实现的只读缓存,不仅运行得快,而且开发也快,管理更简单。

关于此模式,可参考eBay使用TimesTen满足每日服务1400亿调用并满足延迟要求的案例。

模式2:TimesTen作为Oracle数据库写缓存

在这里插入图片描述
TimesTen也可以作为Oracle数据库的写缓存。在这种模式中,数据的流向和模式1是相反的,也就是数据先进入TimesTen,然后再自动同步到后端的Oracle数据库中,这特别适合于数据采集和数据汇聚类的应用,如IoT。

这种模式可以极大减轻后端数据库的压力,提升整体架构的稳定性和高可用性。另外,和模式1一样,缓存管理简单,开发快也是其差异化优势。

TimesTen作为写缓存还支持一种滑动窗口模式,可以按照用户的业务需要在内存中自动保留指定时间窗口期内的数据,如一周,半个月或一个月的数据,从而可以更精准地满足业务需求,也可以将更多后端Oracle的负载转移到写缓存中来运行。

关于此模式,可参考Oracle官网的美国邮政服务使用TimesTen实现防欺诈的案例。

模式3:TimesTen替换中小型数据库

在这里插入图片描述

这里说的中小型数据库是指数据量相对较小,并发访问相对较少。

TimesTen本身就是一个关系型数据库,只不过数据全部在内存中。因此对于数据量不大(如<1TB),同时又需要满足低延迟访问的数据库,就可以直接使用TimesTen运行,这样架构更简洁,开发和运维也更简单。

作为商用数据库,TimesTen也支持高可用和灾备等企业级功能。

关于此模式,可参考Oracle官网的Ericsson使用TimesTen实现实时计费的案例。

在《铁路计算机应用》2019年第28卷第2期,也有一篇用户文章“基于TimesTen内存数据库提升股道现车同步应用性能的研究与测试”可以参考。

模式4:TimesTen替换大型数据库图片

在这里插入图片描述

此模式和模式3几乎是相同的,区别在于,模式3使用的是TimesTen Cassic,即TimesTen传统模式。而模式4使用的是TimesTen Scaleout,即TimesTen分布式内存数据库。TimesTen Scaleout支持更大的数据量,以及更高的并发访问请求。

和TimesTen Classic一样,TimesTen Scaleout也是关系型数据库。在和某一能源客户的联合测试中,数据迁移到TimesTen后,应用未经修改仍可以正常运行。

关于此模式,可参考Oracle官网的中国移动使用TimesTen Scaleout用于营销推广的案例。

模式5:TimesTen作为实时ODS

在这里插入图片描述

这种模式和模式2有些类似,都充分利用了TimesTen的内存计算和关系型数据库的特点。但此处TimesTen不是缓存,而是作为多数据来源的数据汇聚后的高速计算引擎,和后端数据库的耦合度更低,因此也更灵活,后端不限于Oracle数据库。

模式6:Oracle Database In-Memory实现极速分析图片

在这里插入图片描述

从技术层面看,TimesTen是一个独立开发的产品,而Database In-Memory是Oracle数据库的一部分。Database In-Memory是Oracle融合数据库的重要特征,也是实现Oracle数据库HTAP能力的重要技术。

由于Database In-Memory技术,Oracle被主流研究公司评为Translytical(HTAP的另一种说法) 数据平台领导者。Forrester Research在报告“Forrester Wave™:Translytical 数据平台,2019 年第 4 季度”中指出:“与其他供应商不同,Oracle 使用双格式数据库(同一个表的行和列)来提供卓越的 Translytical 性能”,并且“客户喜欢 Oracle 支持多种工作负载的能力,包括 OLTP、物联网、微服务、多模型、数据科学、AI/ML、空间、图形和分析。”

关于Database In-Memory的技术介绍,可参考之前的公众号文章:“加速度:走进Oracle Database In-Memory”。关于案例,可参考之前的公众号文章“海信Oracle Database In-Memory案例分享”,或Oracle官网上的更多案例。

模式7:True Cache 作为Oracle数据库只读缓存

在这里插入图片描述

此模式是模式1的深化。相对于TimesTen,True Cache和Oracle数据库之间的集成度更高,因为True Cache就是无盘的Active Data Guard 备库,只不过数据在内存中。

传统的读缓存模式,用户经常纠结于缓存刷新的频率。如果太频繁,担心对后端数据库造成太大压力;如果间隔太久,又担心数据太陈旧。使用True Cache就完全没有此顾虑,因为数据变化利用ADG的重做日志传输机制自动刷新到True Cache。

由于Oracle数据库支持JSON,因此除了SQL缓存,True Cache也支持Key/Value缓存。开发层面也更简单,传统模式需要维护两个连接,一个到缓存数据库,一个到源数据库。而True Cache也支持应用层面的连接统一管理,例如Java应用可以仅通过设置属性,就可以自动在True Cache(只读)和原始Oracle数据库(需要写时)间进行切换。

关于True Cache的更多信息,请参考Oracle官方网页。在True Cache正式推出后,我们也将发布详细的介绍文章。

结语

以上就是Oracle内存计算典型的应用模式,大体可以分为独立内存数据库(集中式和分布式),内存缓存(只读缓存和读写缓存)两类。从商务模式来看,TimesTen可以作为独立的数据库销售(TimesTen Classic和TimesTen Scaleout),即TimesTen In-Memory Database;当作为Oracle数据库前端的缓存时,TimesTen被视为数据库选件,即TimesTen Application-Tier Database Cache。Database In-Memory只作为数据库选件售卖,True Cache的商业销售模式,则有待23c 本地版正式发布时揭晓。

有了模式以后,最重要的就是确定在何种场景下应该(或不应该)选用哪种模式。以上列举的几种应用模式,TimesTen占比较大,这是由于TimesTen作为独立产品,使用方式比较灵活,是一种偏广度的产品;而Database In-Memory和True Cache依存于Oracle数据库,是一种偏深度的解决方案。具体选用哪种产品和技术方案,取决于实际技术需求,投入,用户现有架构,开发和运维能力和偏好,以及未来的目标架构等因素。如果您有这方面的需求或问题,请联系我们,让我们共同规划出适合您的产品和解决方案。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2810266.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

开了抖店该怎么玩?不知道运营流程的,今天一文带你了解!

大家好&#xff0c;我是电商小布。 在电商的快速发展下&#xff0c;越来越多的新手小伙伴开始加入其中。 抖音小店作为当前的低成本创业项目&#xff0c;吸引到了很多的新手朋友加入其中。 但是开店后怎么玩&#xff0c;如何做好运营操作呢&#xff1f; 今天&#xff0c;小…

WampServer环境下载安装并结合内网穿透实现远程访问管理界面

文章目录 前言1.WampServer下载安装2.WampServer启动3.安装cpolar内网穿透3.1 注册账号3.2 下载cpolar客户端3.3 登录cpolar web ui管理界面3.4 创建公网地址 4.固定公网地址访问 前言 Wamp 是一个 Windows系统下的 Apache PHP Mysql 集成安装环境&#xff0c;是一组常用来…

AI论文速读 | 【综述】(LLM4TS)大语言模型用于时间序列

题目&#xff1a;Large Language Models for Time Series: A Survey 作者&#xff1a;Xiyuan Zhang , Ranak Roy Chowdhury , Rajesh K. Gupta and Jingbo Shang 机构&#xff1a;加州大学圣地亚哥分校&#xff08;UCSD&#xff09; 网址&#xff1a;https://arxiv.org/abs/…

CleanMyMac2024一款备受赞誉的mac电脑垃圾清理软件

在数字世界中&#xff0c;我们的Mac不仅仅是一台电脑&#xff0c;更是我们工作、娱乐和生活的得力助手。然而&#xff0c;随着时间的推移&#xff0c;系统垃圾、无用文件和缓存不断堆积&#xff0c;让Mac变得迟钝&#xff0c;甚至威胁到我们的数据安全。此刻&#xff0c;您需要…

《Docker 简易速速上手小册》第6章 Docker 网络与安全(2024 最新版)

文章目录 6.1 Docker 网络概念6.1.1 重点基础知识6.1.2 重点案例&#xff1a;基于 Flask 的微服务6.1.3 拓展案例 1&#xff1a;容器间的直接通信6.1.4 拓展案例 2&#xff1a;跨主机容器通信 6.2 配置与管理网络6.2.1 重点基础知识6.2.2 重点案例&#xff1a;配置 Flask 应用的…

vite搭配vue2创建工程

一、安装vite npm init vite2.8.0 vite默认支持的是vue3&#xff0c; 这里选择框架和版本vanilla&#xff0c; 方便以后自己安装vue2. 二、修改package.json 默认生成的pacakage.json文件 {"name": "vite-project","private": true,"v…

开源项目---集成系信息管理平台

文章目录 概要整体架构流程内置的功能介绍系统演示小结 概要 提示&#xff1a;开源信息管理平台 主要是进行的是对于大部分的管理信息平台的综合&#xff0c;以及进行相关的开源项目的改造和升级&#xff0c;添加新的功能的同时&#xff0c;也是为了更好的让大家一起学习&#…

优优嗨聚集团:法律咨询服务,守护您生活的每一份权益

在当今社会&#xff0c;随着法治意识的日益增强&#xff0c;法律咨询服务的重要性愈发凸显。无论是个人还是企业&#xff0c;面对纷繁复杂的法律环境&#xff0c;专业的法律咨询服务成为了不可或缺的护航者。 一、法律咨询服务&#xff1a;个人权益的守护者 在日常生活中&…

手机和windows的便签怎么共享账号使用

在忙碌的生活中&#xff0c;我经常需要在手机和电脑之间同步记事信息。可是&#xff0c;每次当我在手机上记下一些重要事项后&#xff0c;想要在电脑上查看或继续编辑时&#xff0c;总是遇到各种麻烦。因为手机和电脑上的便签软件各不相同&#xff0c;无法实现账号共享和内容同…

Object中的hashCode()

让hashcode方法的返回值为地址 vm参数中输入-XX:UnlockExperimentalVMOptions -XX:hashCode4&#xff0c;如下图&#xff1a; 参考 搞懂JAVAObject中的hashCode()_java_脚本之家 JDK核心JAVA源码解析(9) - hashcode 方法 - 知乎

护眼台灯怎么选?五大2024年口碑台灯力荐!

护眼台灯算得上是近年来家长为孩子置办最多的用品之一&#xff0c;作为一名十分关注各类市场的测评师&#xff0c;我时刻关注各种家电、灯具的走向&#xff0c;也结合实际的使用&#xff0c;为广大用户提供专业深度的护眼台灯测评。对于护眼台灯&#xff0c;消费者的评价褒贬不…

git之远程操作

一.分布式版本控制系统 分布式版本控制系统通常也有⼀台充当“中央服务器”的电脑&#xff0c;但这个服务器的作⽤仅仅是⽤来⽅便“交换”⼤家的修改&#xff0c;没有它⼤家也⼀样⼲活&#xff0c;只是交换修改不⽅便⽽已。有了这个“中央服务器”的电脑&#xff0c;这样就不怕…

如何在本地部署密码管理软件bitwarden并结合cpolar实现远程同步

文章目录 1. 拉取Bitwarden镜像2. 运行Bitwarden镜像3. 本地访问4. 群晖安装Cpolar5. 配置公网地址6. 公网访问Bitwarden7. 固定公网地址8. 浏览器密码托管设置 Bitwarden是一个密码管理器应用程序&#xff0c;适用于在多个设备和浏览器之间同步密码。自建密码管理软件bitwarde…

疯狂收割offer,软件测试-自动化测试面试题汇总(新版)

目录&#xff1a;导读 前言一、Python编程入门到精通二、接口自动化项目实战三、Web自动化项目实战四、App自动化项目实战五、一线大厂简历六、测试开发DevOps体系七、常用自动化测试工具八、JMeter性能测试九、总结&#xff08;尾部小惊喜&#xff09; 前言 面试题&#xff1…

带你认识PCIe插槽!除了插显卡它还能插什么?

前言关注我们的玩家或者经常接触台式机的玩家应该对PCIe这个词不陌生&#xff0c;它经常出现在主板、显卡甚至是硬盘上。可以说它是你电脑里最重要的接口或通道之一&#xff0c;不过似乎很多人并不知道它是个什么东西&#xff0c;到底能够干什么&#xff0c;觉得它只能用来插显…

VIC模型参数率定和优化、未来气候变化模型预测

目录 专题一 VIC模型的原理及特点 综合案例一 基于QGIS的VIC模型建模 专题二 VIC模型率定验证 综合案例二 基于R语言VIC参数率定和优化 专题三 遥感技术与未来气候变化 综合案例三 运用VIC模型评估未来气候对水文情势的影响 更多应用 VIC模型是一个大尺度的半分布式水文…

一个开箱即用的高性能 Barra 风控模型……

伴随着癸卯兔年到甲辰龙年的交替&#xff0c;A 股市场在短期内经历了剧烈波动。随着雪球产品大面积敲入&#xff0c;基差快速扩大&#xff0c;小微盘股等板块流动性枯竭&#xff0c;量化基金行业出现了整体性净值大幅回撤。这种市场情况无疑对量化交易的风控能力提出了更严格的…

c++ 广度优先搜索(Breadth-First Search,BFS)

广度优先搜索&#xff08;Breadth-First Search&#xff0c;BFS&#xff09;是一种图遍历算法&#xff0c;通常用于搜索或遍历树和图等数据结构。其基本思想是先访问起始顶点&#xff0c;然后逐层遍历其相邻的顶点&#xff0c;直到找到目标顶点或遍历完所有顶点。 BFS通常使用…

火山方舟:Skylark-chat(豆包同款) API调用说明

一、前言&#xff1a; 云雀 (Skylark) 是字节内部团队研发的大规模预训练语言模型系列&#xff0c;目前有 lite, plus 和 pro 三个不同规模的版本。 Skylark-chat跟豆包版本对齐&#xff08;版本更新有1天左右延迟&#xff09;。 说明&#xff1a; 1、该模型会跟进豆包&…

基于ZYNQ的PCIE高速数据采集卡的设计(三)硬件设计

采集卡硬件设计 3.1 引言 采集卡的硬件设计是实现采集功能的基础&#xff0c;良好的硬件设计可以使采集功能更容 易实现&#xff0c;方便软件开发。本章基于第二章的硬件设计方案来详细介绍采集卡硬件设计。 包括载卡和子卡的芯片的选型、配置和具体电路的设计。载卡和子卡…