Oracle内存数据库TimesTen 18.1新特性
Oracle TimesTen是业界领先,面向 OLTP 应用程序的关系型内存数据库产品,拥有数以千计的大型企业客户,遍布全球许多行业。TimesTen在普通商用硬件上即可支持每秒数百万次事务的吞吐量,并且支持标准 SQL,标准数据库 API 和完整 ACID 事务属性。
下图为研究机构The Forrester Wave于2017年最新发布的内存数据库分析报告,Oracle在当前提供功能和战略两方面均处于首位(基于TimesTen+ 12c In-memory综合评估,
参考资料:http://www.oracle.com/us/corporate/analystreports/forrester-imdb-wave-2017-3616348.pdf
)。TimesTen需将整个数据放进内存中运行,因此数据库受到独立主机上物理内存容量的限制,不能实现类似于数据分片的功能,即将数据分布在不同的TimesTen实例上,实现对应用的优化,同时对应用透明。
因此TimesTen数据库的事务吞吐量受限于单个主机上可实现的吞吐量。
为了解决这些限制,在版本 18.1 中,TimesTen 新增支持一个全新对应用透明的、无共享的、横向扩展的数据库部署模式,称为TimesTen Scaleout 。 这种横向扩展的体系结构使TimesTen内存数据库能够跨几十台主机扩展,达到数百 TB 的容量,每秒支持数百万次事务,而无需手动进行数据库分片或应用程序分区。
下面先介绍TimesTen Scaleout全新的概念,比如Data Element、Data Distribution、父子表的数据分布以及高可用HA等。
Data Element:
每个数据库由Data Element组成。
每个Data Element保存数据库里面一部分数据(不是全部数据,可以理解为数据分片)。
每个Data Element有自己的交易日志和检查点文件(确保Element自己的事务一致性)。
Data Element是数据的最小单元,包括它的HA、Failure Recovery(是不是有点象ASM Allocation Unit)。
下图为Data Element架构图以方便大家理解。
Data Distribution:
大表数据使用哈希方法分布到全部Elements。
父子表数据会发布到相同Element以最大化本地数据处理。
小的读需求多的表复制到全部Elements。
哈希数据分布:
父子表和复制数据分布:
高可用性:
可以定义TimesTen Grid,每台主机归属于一个Data Space Group。
数据库的Element会逻辑组成不同的复制组比如Replica Set。
每个复制组包含K个Elements(由K-Safety定义)。
复制组里面的Element包含完全相同的数据。
复制组中的Eletmet全部都是”Active”。
使用两阶段
提交
而非复制保持他们的数据同步。复制组自动创建和自动管理,无需人工干预。
最大化数据的可用性。
如下图所示:
从Replica Set 1到Replica Set 3都不会出现应用停机和数据丢失的情况。
Replica Set 4是个例外,就是复制组中的两个Element都出现故障。
弹性扩展:
TimesTen Scaleout根据业务需要提供非常强的弹性扩展能力,以保证业务发展的需求,并且数据会自动的分布到新加入的TimesTen实例,以起到负载均衡的作用。
增加或者删除Element。
Data Space group里面的数据自动重新分布。
应用负载自动使用新的Element。
应用吞吐量提升级。
应用开发:
TimesTen Scaleout 兼容 Oracle 数据库的数据类型,支持 SQL 和 PL/SQL。它还提供了丰富的 API 以实现简单开发:
ODBC (C/C++)
TTClasses (proprietary ‘JDBC like’ C++ API)
JDBC (Java)
OCI (C/C++)
PRO*C (C/C++)
ODP .NET (.NET)
支持开源工具包括 PHP,node.js,Ruby,Python,Go,R 和 REST。
TimesTen Scaleout 技术架构图:
最后来一张TimesTen Scaleout技术架构图。
TimesTen Scaleout 的主要特点:
基于成熟、强大和高性能的内存数据库(TimesTen引擎)构建而成。
将多台计算机的强大功能整合为一个无共享架构的单一逻辑数据库。
为了简单起见,使用单个数据库映像进行透明的自动数据分发。
通过 K-Safety 内建自动高可用性。
完全分布式的高性能 ACID 事务处理可随时提供数据一致性。
集中部署以便于管理和监控。
使用标准数据库API和标准 SQL。
支持用户数据中心部署,未来将支持公有云服务。
支持弹性扩展。
提供极限性能。
适用场景:
TimesTen Scaleout 主要针对 OLTP 和 IoT 的业务场景进行了优化。TimesTen Scaleout 还支持混合分析(HTAP)工作负载。特别适合有高并发、高吞吐量事务处理需求的业务场景。
典型用户场景包括(但不限于)以下内容:
实时计费
实时风控
实时交易
实时授权
实时设备跟踪(IoT)
编辑:殷海英
- 宇宙内存在“时间膨胀”现象,科学家认为借助此力或能实现永生
- 创响中国——2018国产数据库技术产品交流会(新疆)完美落幕!
- 国内存储步入正轨,大国重器即将量产,存储价格居高不下(附股)
- 作为 Java 开发者,你需要了解的堆外内存知识
- 苹果WWDC或发布“性能怪兽”笔记本:32G内存6核心
- 新MBP跑分曝光:i7-8750H处理器+32GB内存
- 存储三巨头遭调查牵出异象:2年价格暴涨130%的内存 成本根本没有
- 这个玩笑开大了!美宇航员升空后发现相机里没装内存卡,傻眼了!
- 行车记录仪内存会满吗?买多大储存容量的合适?
- DRAM价格垄断:揭秘为何内存那么贵的原因