TimesTen与Oracle BI一体机Exalytics

TimesTen有三种用法:
1. 独立的内存数据库
2. 作为Oracle数据库的Cache
3. 以及嵌入到Exalytics中作为BI的提速。

本文谈谈第三种用法,即TimesTen在Exalytics中的作用。

Oracle Exalytics In-Memory Machine is the industry’s first engineered in-memory analytics machine that delivers no-limit, extreme performance for Business Intelligence and Enterprise Performance Management applications.

Exalytics是Oracle用于分析的一体机,主要优势是性能,因为其中嵌入了内存数据库TimesTen,主要用途是BI整合,因为其中有企业级数据模型可以共享,这和Tableau的做法是不一样的。

传统的BI架构如下图所示:
TimesTen与Oracle BI一体机Exalytics_第1张图片
可以看到,BI中并不存源数据,而只是存元数据,如语义模型,星形,雪花模型等。BI的数据源主要还是数据仓库,不建议直接访问业务系统数据源,毕竟会影响性能,虽然技术上没有限制。

通过在BI Server和数据源间嵌入内存层,可以大大提高分析的速度,如下图:
TimesTen与Oracle BI一体机Exalytics_第2张图片

TimesTen中在这里是一个独立的数据库,相当于一个高性能的数据集成中心,并没有与后端数据库建立Cache Group。通过BIEE自己的工具,或通过ODI,OGG这样的ETL工具,或脚本等可以将频繁访问的信息如aggregate缓存在TimesTen中。
Exalytics提高Summary Advisor 工具来自动发现热点数据,并给出建议,即那些数据需要置于内存数据库中。

Exalytics也支持集群,通常是两节点集群,下面这张图来自Exalytics MAA白皮书,很好的说明了Exalytics的集群架构:
TimesTen与Oracle BI一体机Exalytics_第3张图片
这里可以看到两点:
1. 元数据库即RPD的共享是通过共享存储如SUN ZFS实现的
2. TimesTen之间并没有建立复制关系,其中数据的同步是通过应用/脚本同时写入两个TimesTen实现的,即应用发起的双写。

这里还需要补充一点的是,Oracle DB 12c中增加了DBIM(Database In-Memory)的功能,因此Exalytics中的内存加速选项有了两种,用户可以选择是用TimesTen还是DBIM。
如果想快速了解Exalytics,以及TimesTen在其中的作用,Oracle Exalytics Week : The Case for Exalytics - Rittman Mead Consulting 中的Exalytics系列文章是一个好的开始。
Rittman也写了个不错的PPT,里面提到Exalytics中的TimesTen是一个定制的版本(special edition for Exalytics),增加了许多分析功能,如下图:
TimesTen与Oracle BI一体机Exalytics_第4张图片

找Oracle确认了一下,答复是:

There is nothing special technically about TimesTen for Exalytics. There used to be a licensing restriction that certain analytical functions were only permitted to be used if you had a ‘TimesTen for Exalytics’ license but there was no techncial enforcement of those restrictions and in fact they no longer apply. All TimesTen functionality is now available in the standard TimesTen product.

简单来说,就是现在只有一个版本。列压缩这个功能我们在前文中就已经在普通版本中试过了。

你可能感兴趣的:(内存数据库,timesten,Exalytics,极速分析)