提到TimesTen,首先来介绍一下什么是 Oracle TimesTen?
简单来说,Oracle TimesTen内存数据库是一个全功能,内存优化的关系型数据库。它主要面向有关系型数据库语义、强一致性和相关功能需求的OLTP应用程序,且具有大规模的水平扩展和超高吞吐量能力。。
TimesTen 是一款历经20年市场考验的,成熟的关系型内存数据库产品!
TimesTen 早在1998年就作为全球首款内存关系型数据库面世。在过去的20年时间里,TimesTen 内存数据库不但为数以千计的企业客户提供高质量的服务,来满足他们对关键业务,核心系统的要求,而且推出了非常多的新版本,新功能来更好的兼容,无缝的集成Oracle数据库和其应用程序。
TimesTen利用内存计算优势,在应用层部署可以获得非常快的响应速度,可以在普通商用x86硬件服务器上,轻松达到微秒级的响应速度,以及相应在单位时间内超高的吞吐量。
TimesTen 内存数据库在部署上也是非常的灵活。
Classic模式
TimesTen 本身就是一款关系型内存数据库产品。可以为应用程序提供独立的数据库服务!
这种场景下,TimesTen 作为数据库独立存储数据并可以结合强大的高可用性解决方案来实现既有高性能,也拥有内置的基于复制技术的高可用性和容灾能力。
TimesTen 通常建议部署在与应用相同的服务器上,数据库的总容量取决于服务器的物理内存容量。
具体产品说明,可以参考 TimesTen 传统版本白皮书:
https://www.oracle.com/technetwork/products/timesten/overview/wp-timesten-tech-132016.pdf
缓存模式
更为重要的一点是,对于已有的Oracle数据库用户也可以通过其高速缓存的配置来加速已有的Oracle数据库的OLTP应用。
值得一提的是,不同于其他NoSQL缓存需要重写应用程序,对于TimesTen的高速缓存来说,是一套简单的配置过程。
具体的配置可以参考 TimesTen 缓存白皮书:
https://www.oracle.com/technetwork/database/database-technologies/timesten/overview/wp-timesten-cache-2215629.pdf
简单配置完成后,就可以将Oracle数据库中的热点数据子集缓存到一个或者多个 TimesTen 数据库中,使得Oracle应用程序充分利用TimesTen 丰富的 Oracle 缓存功能,极大的提高应用的响应性能。
TimesTen 的 缓存功能提供数据在Oracle数据库和 TimesTen 数据库之间的同步。通过TimesTen的高可用和容灾能力,还可以实现真正意义上的多维MAA(最大高可用架构)。
具体的配置方法和高可用案例,请参考TimesTen 高可用白皮书:
https://www.oracle.com/technetwork/database/database-technologies/timesten/overview/wp-timesten-ha-2735640.pdf
分布式模式
在TimesTen 18.1版本中,TimesTen产品家族引入了全新的分布式数据库部署方式 - TimesTen Scaleout
TimesTen Scaleout 是速度最快的、基于SQL的、OLTP 优化的分布式关系型内存数据库。基于 TimesTen 内存数据库的行业实力,这款分布式新功能受益于 TimesTen 成熟产品的所有的领先功能。例如,TimesTen 横向扩展功能具有复杂的 SQL 处理引擎和基于成本的优化器,远比所谓的 "NewSQL" 数据库提供的产品更先进。 TimesTen Scaleout 支持标准的 API,如 JDBC,ODBC,OCI 和 Oracle 数据库兼容的 SQL,PL/SQL 和数据类型。 另外,与大多数 "NewSQL" 数据库不同,TimesTen Scaleout 基于原生引擎、支持完整的 ACID 事务属性、多语句事务、约束和全局二级索引。
这种新的横向扩展体系结构在18.1版本中可在多达64台主机上实现透明扩展,并通过 active-active 数据同步的方式实现内置多副本高可用能力。
在 TimesTen Scaleout 中,TimesTen 数据库作为分布式数据库部署在多节点环境中。通过利用 TimesTen 的并行跨节点处理,透明数据位置和可伸缩性,使得具有高吞吐量要求的应用程序可以在此模式下运行。
主要特点
-- 基于成熟、强大和高性能的内存数据库(TimesTen引擎)构建而成
-- 将多台计算机的强大功能整合为一个无共享架构的单一逻辑数据库
-- 为了简单起见,使用单个数据库映像进行透明的自动数据分发
-- 通过 K-safety 提供自动高可用性
-- 完全分布式的高性能 ACID 事务处理可随时提供数据一致性
-- 集中部署以便于管理和监控
-- 使用标准数据库API和标准 SQL
应用场景
包括(但不限于)以下内容:
-- 实时计费
-- 实时风控
-- 实时交易
-- 实时授权
-- 实时设备跟踪 (IoT)
架构特点
TimesTen Scaleout 的所有安装,配置和管理任务均可方便地集中管理,并可从单个管理实例执行。此实例不参与应用程序 SQL 或事务执行, 而是存储有关系统配置和拓扑的元数据以及各种组件的状态。它编排跨所有配置主机的 TimesTen 软件的安装和配置。管理员永远不必登录到其他用户数据存放的主机来执行这些管理操作。为了提高可用性,还可以配置第二个管理实例。
应用开发
对于绝大多数的分布式系统来说,都要求应用程序根据具体分布式产品的要求重新定制开发。
而TimesTen Scaleout的分布式数据库不但支持丰富的开发API,而且实现了支持SQL应用的能力!
对于应用开发者来说,只需要做极小的代码改造(比如连接串指向变更、failover处理等),即可享受到分布式数据库带来的高并发、高吞吐量的服务!
TimesTen 18.1在GitHub上发布了开源的样例程序。感兴趣的朋友们可以看一下基于JDBC和ODBC的样例程序与当前实际运行中的业务系统的SQL应用程序有多少区别。
https://github.com/oracle/oracle-timesten-samples/tree/master/quickstart/scaleout/sample_config
运维能力
TimesTen Scaleout 拥有强大的运维交付能力!它不但推出全新的中控命令行工具,而且还支持通过图形界面工具管理、开发和运维TimesTen Scaleout。
用户能够通过全新的中控命令行工具来实现一键安装、一键管理的需求!
下面列出产品自带安装样例的简要说明:
ttGridRollout一键安装
/bin/ttGridRollout
ttGridAdmin一键监控
ttGridAdmin 中控(Central Management)命令工具是TimesTen Scaleout的核心管理工具。用户、DBA只需要登录管理实例,运行ttGridAdmin命令,即可实现对分布式内存数据库的监控、配置、管理、问题诊断等一系列操作。这也是真正意义上的可交付、可运维的分布式系统!
具体的ttGridAdmin命令选项如下:
图形化工具
让人兴奋的是,用户可以通过SQL Developer 免费工具轻松的来监控、开发、配置和管理数十个节点的分布式数据库!
OTN官网提供了虚拟机镜像,可以方便的上手进行产品的体验
http://www.oracle.com/technetwork/database/database-technologies/timesten/downloads/index.html
可以通过下面的链接,直接下载虚拟机OVA镜像文件(内置入门手册实践) 强力推荐!http://www.oracle.com/technetwork/database/database-technologies/timesten/downloads/timesten-181-vm-download-4480199.html
我们很高兴能够在产品发布后短短一个月时间内,帮助国内某客户将其基于TimesTen 传统架构的生产环境成功改造为TimesTen Scaleout,整个过程用户代码几乎没有更改,并获得了三倍以上的性能提升!
最后,值得一提的是,Oracle TimesTen 内存数据库产品家族在中国还拥有非常丰富的原厂资源,实现了从销售团队、现场运维团队、远程支持团队、OU培训以及研发团队的本地化支持。欢迎下载体验TimesTen 产品!
编辑:萧宇