記憶體資料庫TimesTen介紹
全稱:Oracle TimesTen In-Memory Database
1,基本特性:
作為在應用層部署的嵌入式資料庫,以完全常駐實體記憶體的方式提供SQL方式的實施訪問.
2,透過以下方式提高響應速度和吞吐量:
--在記憶體中管理資料
--針對資料在記憶體中最佳化資料結構和訪問演算法
--由於以嵌入在應用中,減少了上下文切換和網路開銷
Note:正因為後兩條,TimesTen比完全快取、基於磁碟的資料庫效能優越
3,與基於應用的快取相比,優勢在於:
--最佳化的儲存結構和演算法
--SQL介面(遵循關係模型,支援SQL、JDBC、ODBC標準),便於應用擴充套件
4,TimesTen特性
--ODBC and JDBC interfaces
--SQL functionality(SQL-92)
--Access Control(user ACCOUNTS)
--Distributed transactions(XA,JTA)
--Database connectivity(direct driver connection,client/server connection,driver manager connection/ODBC)
--Durability(同步/非同步事務log,fuzzy checkpoint and blocking checkpoint)
--Query optimization(cost based optimizer,T-tree and hash index,nested-loop and merge join,hints)
--Concurrency(Read-committed and serializable isolation)
--Automatic data aging(time based or LRU based)
--Globalization support(single-byte and multibyte encodings/Unicode,character set automatic convert,linguistic sorting)
--Transaction log monitoring(Transaction Log API(XLA),Event Notification)
--Administration and utilities(interactive SQL,backup and restore, copy)
--Replication – TimesTen to TimesTen(activestandby or active-active,asynchronous or synchronous transmission,conflict detection and resolution and automatic resynchronization after a failed server is restored.)
--Cache Connect to Oracle(updatable cache for Oracle data,propagate updates in both directions and to automate passthrough of SQL requests for non-cached data. It automatically resynchronizes data after failures.)
5,事務日誌用途
--Recover transactions if the application or database fails
--Undo transactions that are rolled back(使用versioning版本實現read committed隔離)
--Replicate changes to other TimesTen databases
--Replicate TimesTen changes to Oracle tables
--Enable applications to detect changes to tables (using the XLA API)
6,應用場景
--實時應用程式的主資料庫
--作為基於磁碟資料庫工作流部分任務的資料管理器
--作為效能要求苛刻的應用的資料管理工具,如作為訊息佇列的儲存
--作為Oracle資料庫的只讀快取,並可以自動隨Oracle庫更新
--作為Oracle資料庫的可更新快取,可以同步或非同步更新Oracle資料庫
--分散式快取,提供Oracle資料庫的多份快取
7,並行操作
--支援隔離級別
Read committed isolation(預設)
Serializable isolation
--實現方式
Read committed isolation透過多版本實現,更新操作建立被更新行的新版本,避免修改操作阻塞讀操作
Serializable isolation透過在所有獲取的行上加鎖實現
--鎖
Database-level locking
Table-level locking
Row-level locking(預設)
8,查詢最佳化
--基於成本最佳化器,考慮如下因素:
Table and column statistics
Metadata information (such as referential integrity, primary key)
Index choices (including automatic creation of temporary indexes)
Scan methods (full table scan, Rowid lookup, T-tree or hash index scan)
Join algorithm choice (nested loop joins, nested loop joins with indexes, or merge join)
--基本策略
由於一次最佳化多次執行,與最佳化所花費時間相比,執行時間在最佳化過程中有更高優先順序
傾向於使用更多記憶體獲取效能(透過使用臨時表/索引),可以透過最佳化器提示禁止該策略
9,索引
T-tree index(支援等值/範圍查詢)
Hash index(僅支援等值查詢)
10,Cache connect to Oracle
10.1Cache group
*支援對資料庫中一個或多個表資料的快取,可以使所有行/部分行,所有列/部分列
*應用可以讀/寫cache group
*cache group可以自動/手動重新整理(從Oracle庫載入)
*對cache group的更新可以自動/手動持久化到資料庫(同步/非同步方式)
*相關概念:cache group,root table/chile table,cache instance key
10.2載入/更新Cache group
*load from oracle to cache group,支援
全部載入/解除安裝
根據key載入/解除安裝
使用WHERE條件載入/解除安裝
自動按需載入
*Oracle to cache group updates,支援
全量自動重新整理,以指定間隔自動更新
增量自動重新整理,以指定間隔自動進行增量更新(依賴於基表上的觸發器)
手動重新整理
透明載入,cache group中不存在時自動載入,使用於非autorefresh的cache group
*Cache group to Oracle updates,支援
傳播,支援傳播,同步寫入(synchronous writethrough,SWT),非同步寫入(asynchronous writethrough,AWT)
flush,透過手動flush到Oracle,使用於更新頻繁且可以批次flush的情況
*Aging,支援
自動Aging
基於時間或使用次數
*Passthrough,支援SQL根據指定條件進行本地處理或傳送到Oracle
10.3系統管理Cache group,完全由cache agent處理load,propagate,flush
10.4使用者管理Cache group,使用者可以完全控制load,propagate,flush時機
10.5複製Cache group,在多個TimesTen中複製cache group
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/18922393/viewspace-717932/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Oralce記憶體資料庫TimesTen簡介記憶體資料庫
- 【記憶體資料庫】TimesTen記憶體資料庫
- 記憶體資料庫快取介紹記憶體資料庫快取
- 記憶體資料庫快取介紹總結記憶體資料庫快取
- 採用java連結timesten記憶體資料庫Java記憶體資料庫
- 合理配置TimesTen記憶體資料庫Hash索引的PAGES引數記憶體資料庫索引
- (一) MdbCluster分散式記憶體資料庫——基礎架構介紹分散式記憶體資料庫架構
- Oracle與TimesTen記憶體資料庫Cache Group同步效率與TimesTen主備資料同步機制研究Oracle記憶體資料庫
- CUDA記憶體介紹記憶體
- 記憶體回收介紹記憶體
- TimesTen記憶體資料庫評估和計算表大小及碎片記憶體資料庫
- 記憶體資料庫記憶體資料庫
- TimesTen記憶體庫monitor表引數說明記憶體
- Mongodb記憶體資料庫MongoDB記憶體資料庫
- 記憶體資料庫如何發揮記憶體優勢?記憶體資料庫
- 資料庫介紹資料庫
- 理解TimesTen記憶體資料庫DBI檔案的作用以及相關故障處理記憶體資料庫
- 計算機記憶體管理介紹計算機記憶體
- javascript記憶體管理簡單介紹JavaScript記憶體
- TimesTen記憶體庫sys.odbc.ini引數說明記憶體
- 【大頁記憶體】Oracle資料庫配置大頁記憶體記憶體Oracle資料庫
- Python記憶體資料庫/引擎Python記憶體資料庫
- 構建個人記憶體資料庫記憶體資料庫
- JVM中記憶體和GC的介紹JVM記憶體GC
- javascript 記憶體使用管理簡單介紹JavaScript記憶體
- 介紹Java中的記憶體洩漏Java記憶體
- Aerospike 分散式記憶體資料庫 筆記ROS分散式記憶體資料庫筆記
- 資料庫介紹--初識資料庫資料庫
- IndexedDB資料庫介紹Index資料庫
- TimesTen IX鎖及用途介紹[TimesTen運維]運維
- Oracle - 資料庫的記憶體結構Oracle資料庫記憶體
- Oracle - 資料庫的記憶體調整Oracle資料庫記憶體
- 瀚高資料庫記憶體結構資料庫記憶體
- 記憶體資料庫發展歷程記憶體資料庫
- 主要測試記憶體和資料庫記憶體資料庫
- STM32記憶體結構介紹和FreeRTOS記憶體分配技巧記憶體
- L10資料庫——資料庫介紹資料庫
- HSQL 資料庫介紹(1)--簡介SQL資料庫