天天看點

Timesten體系結構

Timesten體系結構

Timesten體系結構

上圖為官方文檔中所展示的Oracle Timesten 11g的體系結構圖。

為了友善了解我先一一解釋一下各個部件。

首先

Timesten體系結構

共享庫(Shared Libraries):主要包含實施SQL的一些例程以及一些相關函數。應用會調用到這一部分。

Timesten體系結構

Timesten中的DB Cache,它包含使用者資料、索引、系統目錄、日志緩沖區、鎖表和臨時空間。

在其參數設定方面又分為兩類PERM SIZE和TEMP SIZE。在這隻是提及一下,在後面配置的時候會詳細介紹。

Timesten體系結構

管理程式(Adminstrative programs):使用者、腳本或應用程式顯式調用實用程式來執行互動式 SQL、批量複制、備份/恢複、資料存儲區移植和系統監視等服務。

系統程序(Database processes):背景程序在系統級别為啟動、關閉和應用程式故障檢測提供服務,并在資料存儲區級别為加載、檢查點和死鎖處理提供服務。

Timesten體系結構

檢查點檔案(Checkpoint Files):這個與Oracle中的ckpt還是不太一樣的,他是一個本地的實體檔案。它将Timesten記憶體中的修改以及日志的修改寫入到本地的磁盤,分别就是檢查點檔案和日志檔案(Log Files)。在備份恢複的時候Timesten将會把這兩個檔案讀入到記憶體中進行恢複。

Timesten體系結構

Cache Agent:Cache Connect to Oracle的關鍵程序。是同步Oracle與Timesten資訊的中間程序。

在介紹了這些比較重要的元件後,大家肯定想問,它為什麼會比Oracle快呢?如果把Oracle的DB Cache弄的很大很大是不是就和Timesten一樣了呢?

Timesten從設計之初就是本着IMDB的發展思路而設計的,是以它的查詢優化、索引、算法都是針對于IMDB所開發設計的。這都将大大減少Timesten的開銷進而提升速度。當然資料在是在真正記憶體中,并非緩存。這也是快的原因之一。相對于Oracle的DB Cache來說,Timesten去定位一個資料是較為簡單快捷的,Oracle在解析SQL轉Hash定位記憶體位址再去記憶體中提取資料的過程中已經消耗了很多時間,而Timesten不用這麼複雜。