産品特色
編輯推薦
本書首先綜閤介紹瞭內存計算的發展趨勢、內存計算的基本概念、內存計算産品和架構。然後從深度上詳細介紹瞭Oracle內存數據庫TimesTen,由淺入深,配閤實際的操作腳本和源程序,促進和加深讀者對TimesTen內存計算架構和特性的理解,並迅速掌握TimesTen內存計算的精髓。
內容簡介
TimesTen是全球*個商用關係型內存數據庫,本書也是*本全麵和深入介紹TimesTen架構和關鍵特性的專著,內容包括TimesTen內存數據庫架構,TimesTen數據庫操作和管理,TimesTen應用層數據庫緩存,TimesTen數據庫高可用性,TimesTen數據庫備份恢復與升級以及TimesTen數據庫應用開發。本書在全麵、深入地介紹TimesTen基礎架構和重要概念的基礎上,以豐富的示例,促進和加深讀者對TimesTen內存計算架構和特性的理解,並迅速地掌握TimesTen內存計算的精髓。
本書麵嚮對內存計算和TimesTen內存數據庫感興趣的讀者,是讀者學習TimesTen內存數據庫的入門指南,同時也是讀者深入瞭解TimesTen內存數據庫的極有價值的參考書籍。本書讀者對象主要包括數據庫管理員,企業架構師和應用開發人員。
作者簡介
蕭宇, 本科畢業於西南交通大學自動控製專業,研究生畢業於西南交通大學計算機應用專業,畢業後進入中國鐵道科學研究院工作,參與鐵路客票係統核心應用的開發,此後曆經係統集成商,Dell中國,目前任職於Oracle(中國)軟件係統有限公司,負責交通運輸行業架構與解決方案設計。
具有20年的IT實踐經驗,參與過全球*的鐵路售票係統-中國鐵路客票係統核心應用開發,國內規模*的彩票係統- 廣東電腦福利彩票係統架構設計和核心係統開發,翡翠航空存儲虛擬化與災備項目,凱德置地中國數據中心服務器,備份,桌麵與存儲全虛擬化項目。目前專注於雲計算和內存計算技術。
目錄
第1章內存計算概述
1.1內存計算的興起
1.1.1硬件的發展
1.1.2軟件的發展
1.1.3企業應用的需求
1.2內存計算技術分類
1.2.1內存數據庫
1.2.2內存數據網格
1.2.3主流內存數據管理産品
第2章準備TimesTen內存數據庫操作環境
2.1TimesTen內存數據庫操作環境支持
2.2TimesTen實驗操作環境及介質準備
2.3安裝TimesTen服務器軟件
2.4安裝TimesTen客戶端軟件
2.5創建第一個TimesTen數據庫
2.6探索TimesTen服務器安裝目錄結構
2.7搭建雲中的TimesTen操作環境
2.8TimesTen學習資源
第3章TimesTen內存數據庫基本概念
3.1TimesTen實例架構
3.1.1連接驅動
3.1.2主守護進程
3.1.3數據庫守護進程
3.1.4服務器守護進程
3.1.5TimesTen內存數據庫
3.1.6緩存代理
3.1.7復製代理
3.1.8管理程序
3.1.9TimesTen實例重要進程列錶
3.1.10為什麼TimesTen比傳統數據庫緩存要快
3.2TimesTen事務管理
3.2.1TimesTen數據庫的原子性
3.2.2TimesTen數據庫的一緻性和持久性
3.2.3TimesTen數據庫的隔離性
3.3TimesTen數據庫生命周期管理
3.3.1內存加載/卸載策略
3.3.2數據庫恢復過程
3.3.3數據庫生命周期
3.4TimesTen數據庫部署模式
3.4.1獨立部署
3.4.2應用層緩存
3.4.3Exalytics嵌入模式
第4章熟悉TimesTen數據庫操作環境
4.1TimesTen數據庫特性概覽
4.1.1ODBC與JDBC支持
4.1.2SQL與PL/SQL支持
4.1.3訪問控製
4.1.4數據庫連接
4.1.5分布式事務支持
4.1.6事件通知機製
4.1.7數據可用性和一緻性
4.1.8並行訪問
4.1.9應用層緩存
4.2TimesTen數據源
4.2.1TimesTen數據源定義文件和類型
4.2.2定義TimesTen服務器DSN
4.2.3定義TimesTen客戶端DSN
4.2.4數據源連接屬性
4.3啓動和關閉TimesTen數據庫
4.3.1啓動TimesTen數據庫
4.3.2關閉TimesTen數據庫
4.4連接TimesTen數據庫
4.4.1使用ttIsql連接數據庫
4.4.2使用SQL Developer連接數據庫
4.4.3使用應用服務器連接數據庫
4.5TimesTen訪問控製
4.5.1TimesTen用戶認證
4.5.2TimesTen權限管理
4.6操作數據庫中對象
4.6.1錶
4.6.2索引
4.6.3鎖
4.6.4視圖
4.6.5物化視圖
4.6.6序列
4.6.7同義詞
4.6.8PL/SQL
4.7與Oracle數據庫的兼容性
第5章TimesTen內存數據庫管理工具
5.1SQL Developer圖形化管理工具
5.2交互式SQL工具ttIsql
5.2.1ttIsql命令行選項
5.2.2在綫幫助
5.2.3命令曆史
5.2.4命令行編輯
5.2.5數據庫對象列錶和描述
5.2.6執行操作係統命令
5.2.7設置和顯示ttIsql屬性
5.2.8事務操作
5.2.9標準ODBC調用
5.2.10動態SQL
5.2.11更新統計信息
5.2.12多連接支持
5.2.13數據庫監控
5.3TimesTen內置過程
5.4TimesTen實用程序
5.5TimesTen輔助實用程序
5.6Benchmark工具
5.6.1tptbmOCI事務吞吐量基準測量工具
5.6.2wiscbm性能基準測量工具
5.7TimesTen建議器
5.7.1索引建議器
5.7.2緩存建議器
5.8Oracle企業管理器
5.9Oracle日誌分析雲服務
5.9.1設置正確的日誌時間格式
5.9.2創建TimesTen日誌解析器
5.9.3創建TimesTen日誌源
5.9.4上傳TimesTen日誌文件
5.9.5TimesTen日誌分析
第6章TimesTen數據遷移與容量規劃
6.1從Oracle數據庫嚮TimesTen遷移
6.1.1設置TimesTen與Oracle數據庫的連通性
6.1.2利用緩存組實現數據導入
6.1.3ttIsql命令Createandloadfromoraquery
6.1.4ttIsql內置過程ttLoadFromOracle
6.1.5ttImportFromOracle數據遷移工具
6.1.6SQL Developer圖形化管理工具
6.1.7ttBulkCp實用程序
6.2TimesTen數據庫容量監控與規劃
6.2.1數據庫空間監控工具dssize
6.2.2錶空間監控工具tablesize
6.2.3錶空間規劃工具ttSize
6.2.4錶空間監控工具dsmap
6.2.5ttSizeOra容量規劃工具
精彩書摘
第5章TimesTen內存數據庫管理工具
5.1SQL Developer圖形化管理工具
SQL Developer是Oracle提供的免費圖形化管理工具,可提高數據庫管理效率並簡化數據庫開發。SQL Developer不僅可以管理Oracle和MySQL數據庫,同時也支持TimesTen數據庫。必須在SQL Developer所在主機上安裝TimesTen客戶端,在界麵中纔會齣現TimesTen數據庫管理菜單和頁麵。如圖5��1所示,如果SQL Developer成功識彆到TimesTen客戶端中的驅動,在About Oracle SQL Developer菜單中即可顯示TimesTen插件的信息。SQL Developer既可以安裝在開發管理人員的客戶端主機,也可以安裝在TimesTen服務器端,在TimesTen服務器軟件中,通常已包含瞭TimesTen客戶端軟件。
圖5��1SQL Developer關於菜單中TimesTen插件信息
在TimesTen服務器軟件安裝完成後,SQL Developer往往是用戶使用的第一個與TimesTen數據庫交互的軟件,這源於其直觀友好的圖形化界麵,以及與管理Oracle數據庫類似的操作習慣。
使用SQL Developer管理TimesTen數據庫的第一步是配置數據庫連接,在4.4.2節詳細介紹瞭三種連接TimesTen數據庫的配置方法。連接到TimesTen數據庫後,即可操作TimesTen數據庫對象,執行特定的TimesTen數據庫的管理任務。
盡管大部分SQL Developer中的操作都可以通過命令行完成,但圖形化和基於嚮導的界麵使一些任務通過SQL Developer完成更加簡捷,並且是命令行無法替代的。以下為建議使用SQL Developer完成的任務。
1. 緩存組配置和管理
緩存組是TimesTen最重要和獨有的特性之一,詳細的介紹請參見第7章: TimesTen應用層數據庫緩存。由於緩存組配置和屬性組閤比較復雜,通過圖形化管理比命令行更直觀,效率更高,且不易齣錯。
2. SQL Worksheet
SQL Worksheet又稱SQL工作颱,是圖形化的交互式SQL執行工具。如圖5��2所示,此界麵在連接到數據庫後自動齣現,也可以在Tools菜單下打開。在此界麵中可以方便地編輯和執行SQL語句,既可以執行整個腳本,也可選擇其中部分語句執行。SQL執行輸齣中包括執行狀態和執行耗時。所有執行的SQL語句均保存在SQL曆史中,方便重復調用和修改。
SQL Worksheet中整閤瞭索引建議器功能,另外其可以直觀地顯示SQL執行計劃,方便進行SQL語句的調優。
圖5��2SQL Developer中的SQL Worksheet
3. 從Oracle數據庫加載數據到TimesTen錶對象
可實現Oracle數據到TimesTen的遷移,一般用於數據初始化或性能測試與對比。詳細介紹可參見6.1.6節: SQL Developer圖形化管理工具。
4. 瀏覽和操作數據庫對象
由於TimesTen是標準的關係型數據庫,因此在SQL Developer中大部分的操作與Oracle類似,例如對於最常用的錶對象,可以通過SQL標簽頁得到錶的定義,或通過Model標簽頁進行數據庫建模。比較重要的區彆是TimesTen可以為普通錶定義緩存屬性以及整數和變長字符串數據類型的內部實現方式。瀏覽和操作TimesTen數據庫對象如圖5��3所示。
圖5��3瀏覽和操作TimesTen數據庫對象
5. 索引建議器
對於TimesTen 11.2.2.4及以上版本,索引建議器支持從連接或數據庫層麵評估SQL工作負載,並生成索引建議,這是一個非常有用的性能調優工具,詳細介紹請參見5.7.1節: 索引建議器(Index Advisor)。
6. 數據導入導齣
數據導入導齣支持在相同或不同數據庫之間導入和導齣數據庫對象或對象中數據,可實現數據庫間數據遷移和數據邏輯備份。在SQL Developer中有多處可實現數據導入導齣,包括View菜單下的收藏車(Cart),Tools菜單下的數據庫導齣嚮導和數據庫遷移嚮導等,詳細介紹請參見6.1.6節: SQL Developer圖形化管理工具。
7. TimesTen性能分析報告
TimesTen 11.2.2.5及以上版本支持生成性能分析報告,此功能類似Oracle數據庫的AWR報告,通過建立兩個時間點的性能快照並比較,從而生成涉及事務、SQL、鎖、緩存組及復製等方麵的性能分析報告。通過右鍵單擊TimesTen數據庫連接,選擇TimesTen Performance Metrics菜單即可使用此功能。
以下為生成性能分析報告的簡要步驟,生成報告如圖5��4所示。
(1) 為執行性能分析報告的用戶賦權。
由於性能分析報告通過調用TT_STATS PL/SQL包實現,因此必須對用戶賦予此PL/SQL包的權限:
Command>grant all on TT_STATS to ttuser。
(2) 通過Create Snapshot...子菜單創建第一個時間點性能快照。
(3) 運行工作負載。
(4) 通過Create Snapshot...子菜單創建第二個時間點性能快照。
(5) 在Report子菜單中選擇兩個快照並生成報告。
圖5��4SQL Developer中的性能分析報告
8. TimesTen預定義和自定義報告
在SQL Developer中的Reports頁麵,包含瞭大量數據庫和對象層麵預定義報告,包括數據字典報告、數據庫及對象報告、緩存組報告和性能及安全報告等,對於瞭解TimesTen數據庫的整體結構和概貌非常有用。用戶也可以通過SQL腳本生成自定義報告,例如,圖5��5是使用4.6.2節中SQL腳本生成的索引報告。
圖5��5TimesTen預定義和自定義報錶
總之,SQL Developer功能豐富強大,是管理TimesTen數據庫不可或缺的工具,以上隻簡要介紹其中比較重要的功能,更詳細的說明參見Oracle SQL DeveloperTimesTen數據庫支持用戶手冊https://docs.oracle.com/cd/E39885_01/doc.40/e39882.pdf。
5.2交互式SQL工具ttIsql
ttIsql是TimesTen提供的交互式SQL工具,類似於Oracle數據庫的SQL*Plus或Sybase數據庫的Isql。通過ttIsql,不僅可以執行標準的SQL命令,還可以執行TimesTen內置過程來執行數據庫的管理、運維和監控任務。ttIsql可以完成的典型任務包括:
(1) 執行SQL和PL/SQL,包括DDL、DML語句和過程及函數。利用DDL語句創建錶、索引、存儲過程和序列對象,後續修改錶的定義等。利用DML語句執行事務,對錶中的數據進行增刪改查等操作。ttIsql同時對標準SQL進行瞭擴展,包括設置透傳模式,從Oracle數據庫中遷移數據等。
(2) 執行內置過程,進行數據庫的管理和維護,包括數據庫進程監控、數據庫空間監控、緩存管理和監控、復製管理和監控、更新錶的統計信息、優化查詢計劃。
ttIsql有兩個編譯版本,其中ttIsql使用直連驅動,適用於ttIsql程序與數據庫位於同一主機的情形。如果數據庫位於遠端服務器,則必須使用客戶端驅動的ttIsqlCS訪問。
5.2.1ttIsql命令行選項
通過ttIsql �瞙可以顯示ttIsql幫助以及ttIsql所支持的命令行選項,例如:
……
前言/序言
第一次接觸TimesTen是在2001年左右,當時我的領導從Sybase公司拿迴一本TimesTen技術手冊讓我研究,由於沒有具體項目需求,因此這本書很快就被遺忘在故紙堆中。2005年,TimesTen被Oracle公司收購,隨後是閃存存儲的普及,x86架構逐漸成為標準,雲計算和大數據時代的到來。在所有這些技術趨勢中,內存計算是其中不可忽略的一種。內存計算並非一種新技術,但直到2010年後纔逐漸成為主流,這其中包括TimesTen、HANA、Coherence和Redis等內存計算産品,一方麵是由於軟硬件發展條件已經成熟,另一方麵也源於雲計算大數據時代不斷湧現的新型業務需求。2011年我加入Oracle公司,有瞭深入接觸TimesTen的機會,同時在大量客戶接觸中,發現內存計算可應用的場景越來越豐富,使用範圍也越來越廣泛。雖然TimesTen有大量英文手冊,卻缺乏一本係統講述TimesTen基本概念與核心精髓的入門和指導型書籍,因此我決定撰寫一本介紹TimesTen內存計算架構的專著。
本書適用於不同類型的讀者。如果你是數據庫管理員,可以學習TimesTen數據庫的內部結構,TimesTen內存數據庫與傳統關係型數據庫的異同,如何進行內存數據庫的管理、運維、監控和調優。如果你是架構師,可以瞭解如何利用新型的內存計算技術簡化整體架構設計,釋放後端傳統磁盤數據庫壓力,滿足大數據時代應用性能和可擴展性需求。如果你是應用開發人員,可以學習如何使用標準的ODBC/JDBC接口和流行的Java、C#和C/C++語言進行TimesTen內存數據庫應用開發。
我希望本書能幫助讀者編寫齣更高效的應用,設計齣更敏捷的架構。閱讀本書的唯一先決條件是對關係型數據庫有基礎的瞭解,包括數據庫事務概念、錶和索引對象、SQL操作等。如果讀者具備Oracle數據庫管理、關係型數據庫應用開發或係統架構設計能力中的一種,對於理解本書內容也大有裨益。
本書全部內容分為10章,每一章各討論TimesTen內存數據庫的一個重要方麵。本書目錄結構的設計是從基礎概念和架構開始,逐步深入到日常管理和操作、應用層數據庫緩存和數據庫高可用性等TimesTen高級特性。本書建議的閱讀方式是從第1章開始逐章閱讀,並結閤動手實驗,對於TimesTen有一定瞭解的讀者也可以直接閱讀感興趣的章節。
第1章首先簡要介紹瞭內存計算的發展曆史,以及推動內存計算發展的軟硬件技術和新型企業應用需求; 然後對內存計算技術的概念和分類進行瞭闡述; 最後簡要介紹瞭當前主流的內存數據管理産品,以使讀者對內存計算技術發展概況有一個基本的瞭解。
由於本書的特點是基礎理論和動手實踐相結閤,並且後續章節大部分概念的講述都配備有實際操作示例,因此第2章詳細介紹瞭如何搭建TimesTen內存數據庫操作環境,包括準備工作、安裝TimesTen服務器和客戶端軟件、創建TimesTen數據庫,以及安裝目錄結構的簡要說明。最後列舉瞭常用的TimesTen學習資源,以便讀者進行持續和深入的學習。
無論是開發者、數據庫管理員還是架構師,對於數據庫基本概念和架構的瞭解都是必須的。盡管TimesTen是標準的關係型數據庫,但基於內存的架構使其與傳統基於磁盤的數據庫有顯著不同。第3章介紹瞭TimesTen內存數據庫最基礎也是最重要的概念,包括TimesTen數據庫實例架構、TimesTen事務管理、TimesTen數據庫生命周期管理,即數據庫從創建、加載、卸載到銷毀的整個過程。最後介紹瞭TimesTen數據庫最典型的三種部署模式。
第4章進入TimesTen數據庫的實際操作,本章涉及的內容包括TimesTen數據庫關鍵特性概覽,TimesTen數據源概念,如何啓動、連接和關閉TimesTen數據庫,操作係統和數據庫層麵的訪問控製,以及如何操作數據庫中的錶、索引、視圖和PL/SQL等對象。
工欲善其事,必先利其器。第5章全麵介紹瞭TimesTen數據庫常用管理工具,包括交互式SQL工具ttIsql、TimesTen內置過程和TimesTen實用程序。性能是內存數據庫的優勢,同時也是用戶關注的重點,本章介紹的TimesTen Benchmark工具和TimesTen建議器可以為用戶建立性能基綫,進行性能測量和提供性能調優建議。SQL Developer和Oracle企業管理器是傳統的Oracle數據庫管理工具,同時也支持TimesTen數據庫的管理,本章也簡要介紹瞭這兩種管理工具與TimesTen的結閤。公有雲是未來IT發展的趨勢,本章最後介紹瞭如何使用新型的Oracle日誌分析雲服務進行TimesTen日誌模式查詢,關聯
TimesTen內存數據庫架構與實踐 下載 mobi epub pdf txt 電子書