1. 記憶體資料庫簡介
在重研所多個專案中都有記憶體資料庫的應用,但重研所應用的記憶體資料庫有多個版本,沒有統一的版本,目前以fastdb佔主流。普遍存在以下問題,訪問方式不符合sql92規範,不支援客戶伺服器模式,沒有完整的api,可靠性不高,和資料庫之間的資料互操作困難等等。
近期和oracle技術工程師作了一次關於timesten,oracle10g,oracle9i的交流。在交流中,oracle的工程師比較詳細地介紹了oracle的記憶體資料庫timesten。因此在與oracle技術工程師交流過程中,根據重研所的需求情況特別關注了一下timesten。
oracle和times ten公司6月20日在上海宣布,雙方已就甲骨文收購times ten正式達成最終協議。times ten公司是一家私有的實時資料管理軟體**商,主要為電信、網路、**交易等行業提供基礎架構軟體,並用這種軟體進行事件管理、交易和資料的工作。其在全球的客戶包括amdocs、亞斯貝克通訊公司、愛立信、jp摩根、nec、諾基亞、斯普林特、美國航空等。這家公司目前支援的系統包括實時計費系統、**交易系統、呼叫中心系統、航線運營系統等。oracle收購times ten標誌 oracle進入記憶體資料庫領域。
2. times ten簡介
times ten 特點:
l 符合rdbms標準的獨立記憶體資料庫服務
l 支援sql92
l 支援 odbc & jdbc
l 高效能
l 可以作為oracle資料庫的前端cache,目前不支援其他資料庫
l 支援本地的高速訪問和網路訪問方式
l 可靠性高。支援完整日誌,支援映象複製功能。
l 不是開源**,需要較高費用
l 目前不支援儲存過程和觸發器
times ten 和 oracle 資料庫的比較
系統特點
oracle
timesten
架構 磁碟為中心
記憶體為中心
驅動方式
人機互動
計算機到計算機
實施方式
單獨的伺服器
可以嵌入應用
響應速度
毫秒級
微秒到毫秒
資料容量
數十tg
數十g
管理 dba和系統管理
不需要特別的進行管理
3. times ten體系結構
併發管理:
l 支援多執行緒訪問。
l 支援不同的事務隔離級別:read committed serializable
l 支援不同級別的鎖控制:庫級,表級,行級
l 支援拴:用於保護內部資料結構
l 自動死鎖檢測和解除
l 完整的事務控制機制,包括commit/rollback
l 資料一致性:資料庫總是保持資料一致狀態,並且在掉電等情況下能夠基於磁碟(日誌等)恢復一致性。
l 可靠性:通過log和checkpoint file保證可靠性
日誌:
l 支援自動檢查點
l 支援人工強制檢查點
l 支援完整日誌機制。
l 支援日誌寫入硬碟,寫入記憶體,支援不寫日誌以提高效率。
映象複製:
l 靈活的配置:支援多種形式
l 快速可靠:不是基於資料複製,而是基於日誌。
l 支援同步或非同步模式
l 支援映象之間的自恢復
l 支援故障時,應用訪問自動快速安全切換到備用
oracle資料庫快取:
l timesten cache中表符合關係模型
l cache 提供唯讀,自動重新整理資料庫資料,自動刷入資料庫,手工刷入資料庫等多種資料同步機制。
l sql語句傳遞功能:對於不在記憶體資料庫中表的訪問,timesten傳遞到資料庫執行
sql開發
l 支援sql92的函式
l 基於代價的查詢優化機制
l 完善的索引方式
l 支援分不事務處理
l 支援odbc2.5 jdbc3.0
l 支援c和c++庫
l 支援命令互動方式ttlsql
l 支援事件觸發可以部分替代觸發器
安全控制
l 可以開啟和關閉安全訪問控制
l 7種訪問許可權控制:instance administrator, connect, createdatastore, select, write, ddl, and admin
l 支援sql grant/revoke方式授權
4. 效能
以下是timesten的效能測試資料
5. 應用案例
上圖是乙個預付費(實時計費)的案例。timesten用於實時計價和出話單,為了保證可靠性採用映象(複製)技術。
oralce資料庫索引
例如有如下表 test tbid name rowid 1zhangsan 0 1 2limei 1 2 3haungqing 0 3 如果在該表中不存在任何索引,那麼在查詢某一條記錄,例如姓名為limei的人,因為查詢到乙個後下面不確定是否還存在姓名為limei的人,因此會進行全表掃瞄查詢。而如果...
ORALCE資料庫監控指令碼
最近在做資料庫segment的資訊監控,具體什麼意思不是很明白,就是段的意思,總而言之就是監控你的資料庫的一些資訊,看看表空間增長如何,哪些表的行數,索參數量,就好像乙個pl sql一樣,指令碼都來自網上的蒐集指令碼,我不是dba不是很懂這些,只是做了些簡單的關聯資訊,供大家看看,有更好的建議可以提...
Oralce資料庫表資料還原
在執行插入 更新 刪除等操作時,容易產生誤操作,導致資料庫中的內容被修改,通過普通的sql操作無法還原,則可採用oralce資料庫表的閃回機制,將表資料還原到某個時間點,具體如下 先查詢某個時間點的資料是否為要還原的資料 select from tablename as of timestamp t...