Oracle TimesTen In-Memory Database 是一个内存经过优化的关系数据库,为当今通信、金融服务、网络应用、旅游物流、游戏等行业的企业提供应用所需的即时响应能力和超高的吞吐量。该数据库可以作为缓存数据库 (TimesTen Application-Tier Database Cache)、独立数据库 (TimesTen Classic) 或分布式数据库 (TimesTen Scaleout) 部署在应用层。该产品的标准特性包括标准 SQL 接口、高可用性和容错能力。
TimesTen Application-Tier Database Cache (TimesTen Cache) 是 Oracle Database 的选件,可为 Oracle Database 提供实时读/写高速缓存。TimesTen Cache 可将性能关键型表子集和表片段从 Oracle Database 缓存到应用层,以此缩短应用事务处理响应时间。高速缓存表将采用与 TimesTen In-Memory Database 中常规关系数据库表类似的管理方式,这使得 TimesTen Cache 能够为应用提供关系数据库的完整通用性和功能、与 Oracle Database 透明地维护缓存一致性、以及内存数据库的实时性能。TimesTen Cache 非常适合缓存 Oracle Database 的性能关键子集,有助于缩短应用层中的响应时间。为了实现高可用性,TimesTen Cache 支持使用主备配置进行部署,而高速缓存表可以在几个 Oracle TimesTen In-Memory Database 之间实时复制。
Oracle TimesTen In-Memory Database 的构建假定所管理的数据都位于物理内存 (RAM) 中。因此,硬件方面必须考虑到的事情是在应用层中提供足够的 RAM。除此之外,TimesTen 硬件需要注意的事项较少。与其他任何应用一样,拥有适当数量的 CPU(并以适当的时钟速度运行),对于快速运行您的应用非常重要。同样地,为了利用多个 CPU,您需要运行多个应用,或者通过编程使应用使用多个线程。此外,事务日志和检查点文件都会保存在磁盘上;磁盘速度越快,整体性能就越好。
TimesTen Cache 位于应用层中,使用 SQL*Net 与 Oracle Database 进行通信。Oracle Database Instant Client 安装在 TimesTen Cache 中,以便于连接到 Oracle Database。
Oracle TimesTen In-Memory Database 是一个单独许可的产品,其中包含了 TimesTen In-Memory Database、复制组件和 TimesTen Scaleout 部署。
TimesTen Application-Tier Database Cache 是 Oracle Database 的 Oracle Database Enterprise Edition 选件。该产品包含了 TimesTen In-Memory Database 和缓存技术,支持将 TimesTen Cache 部署为内存中高速缓存数据库,并在 TimesTen Cache 和 Oracle Database 之间自动同步数据。
所支持的平台如下:
TimesTen Application-Tier Database Cache 选项支持 Oracle Database 11.2.0.4、12c、19c 和 21c 版本以及以下 Oracle Autonomous Database 版本:
TimesTen 数据库可用于各行各业的许多应用,包括身份验证、授权、号码可携性、在线收费和计费、调解和呼叫中心等电信应用,以及证券交易、股票交易所、欺诈检测、合规、网上银行和债券定价等金融应用。其他应用包括游戏、CRM 系统、航空公司预订系统、旅行计划、面向客户的应用等。
Oracle TimesTen 也是某些 Oracle 应用的核心,例如用于“快如闪念”的 OLAP 分析的 Exalytics In-Memory Machine,以及用于实时计费的 Oracle Billing and Revenue Management。
TimesTen 数据库和 Coherence 都在应用层中运行。两者都是基于内存的。Coherence 是分布式内存中对象存储,主要用于使用 get/put API 存储和检索序列化对象。
TimesTen 则是具有磁盘持久性和标准事务语义的内存关系数据库,主要通过 SQL 访问。当用作 Oracle Database 的高速缓存时,TimesTen 会自动将数据与 Oracle Database 同步。分布式缓存可通过透明的位置和分布式并发控制,为应用提供单一映像。
基于 Oracle RAC 的 Exadata 是一个高度可扩展的系统,主要用于提高数据库吞吐量。
TimesTen 的独特价值在于它能够在应用层提供非常端的响应时间。为了获得理想的性能,我们会将 TimesTen 嵌入应用中。TimesTen 能够以微秒为单位提供对 SQL 请求的响应。这对于那些需要即时响应的实时应用至关重要,可满足电话路由、身份验证和授权、实时计费、证券交易、欺诈检测、在线银行等用例。
可以,目前许多客户将 Oracle TimesTen In-Memory Database 用作应用层中的独立数据库。TimesTen 为 SQL 操作提供完整的事务处理支持,并且事务处理日志将持久保留到磁盘并支持恢复(数据库始终处于内存中状态)。
可以,需要使用 TimesTen Application-Tier Database Cache。该数据库选件包含了 TimesTen In-Memory Database 和缓存技术,支持将 TimesTen 部署为内存中高速缓存数据库,并在 TimesTen 和 Oracle Database 之间自动同步数据。
TimesTen In-Memory Database 支持标准 ODBC 和 JDBC 接口,以及 OCI 和 ADO.NET,以供应用连接到数据库,并采用 SQL-92 标准。
无论是 32 位还是 64 位应用,应用接口都是相同的。如果要使用 64 位模式,需要以 64 位模式重新编译应用并链接到 TimesTen 64 位库。
应用开发可以使用 Java、.NET、C、C++、Pro*C 和 PL/SQL 以及开源语言(例如 Python 和 Node.js)。有关示例程序列表,请参阅 GitHub 上的 Oracle TimesTen In-Memory Database 示例。
Oracle TimesTen In-Memory Database 专为在应用层中运行而设计和优化,可以直接将数据库与应用相连(嵌入),以获得理想的性能。如果在应用中嵌入了 TimesTen 数据库,SQL 访问就不会产生任何网络或 IPC 开销。即使是在嵌入模式下运行,TimesTen 仍然能够提供完整的多进程/多线程访问和并发控制。
可以,Oracle TimesTen In-Memory Database 支持索引。索引可以提高查询对数据库的性能,就像在 Oracle Database 中一样。TimesTen 支持两种类型的索引:(一)范围索引,主要用于涉及等式和不等式范围的查找;(二)散列索引,主要用于提供比范围索引更快的主键和平等访问,以实现精确匹配查找和等值联接。
TimesTen In-Memory Database 支持 SQL 标准。如需创建数据结构,请使用 SQL DDL 语句,例如 CREATE TABLE、CREATE INDEX、CREATE SEQUENCE、CREATE VIEW、CREATE MATERIALIZED VIEW、CREATE PACKAGE、CREATE PROCEDURE、CREATE FUNCTION、CREATE SYNONYM、ALTER TABLE 等。RDBMS 的数据库设计技术也可用于 TimesTen。在 TimesTen 中设计和管理数据库会比在磁盘优化的 RDBMS 中更简单,因为无需调整表区大小或对磁盘进行碎片整理。
虽然整个数据库都驻留在内存中,但 TimesTen 还具有持久保存到磁盘的事务日志文件和检查点文件。如果系统重新启动或发生故障,可从检查点和事务处理日志文件恢复内存中数据库。
TimesTen Cache 支持:
TimesTen Cache 作为连接到 Oracle Database 服务器的客户端应用运行。TimesTen Cache 与 TimesTen In-Memory Database 支持相同的平台。了解Oracle TimesTen 技术支持哪些平台。
可以,TimesTen Cache 是作为 Oracle 客户端运行的,因此可以在与 Oracle Database 服务器不同的平台上运行。顾名思义,TimesTen Application-Tier Database Cache 通常位于应用层中,而 Oracle Database 则位于数据库层中。
TimesTen Cache 中需要高速缓存的性能关键数据量取决于应用的性质。您无需对整个数据库进行缓存,而是可以仅将数据库表、列和行的子集高速缓存到 TimesTen Cache 中。另一个选择是定义一个动态缓存,根据需要加载 Oracle 表中的数据。
TimesTen 复制是 TimesTen In-Memory Database 和 TimesTen Application-Tier Database Cache 的一项功能。TimesTen 复制技术支持在几个 TimesTen 服务器节点之间进行实时数据复制。该功能主要用于创建高可用性架构、灾难恢复站点以及在多个节点之间分配数据。复制技术支持使用异步或同步数据传输的活动/备用或活动/活动配置。有关更多信息,请参阅 TimesTen In-Memory Database 产品介绍。
配置 TimesTen 时,将整个 TimesTen 内存中数据库复制到一个或多个 TimesTen 节点。然后,在故障转移(备用节点成为活动节点)后,就可以从备用数据库(现在处于活动状态)恢复发生故障的节点。
可以,支持表级复制和数据库级复制。
TimesTen 复制通过 LAN 或 WAN 在复制节点之间使用持久、流式 TCP/IP 套接字。
是的,支持单向和双向复制。对于双向复制,建议对工作量进行分区,以避免出现大量冲突。如果对同一数据库行进行更新时发生冲突,TimesTen 复制支持基于时间戳的冲突检测和解决。
注:为免疑义,本网页所用以下术语专指以下含义: