产品特色
编辑推荐
本书首先综合介绍了内存计算的发展趋势、内存计算的基本概念、内存计算产品和架构。然后从深度上详细介绍了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内存数据库架构与实践 epub pdf mobi txt 电子书 下载 2024
TimesTen内存数据库架构与实践 下载 epub mobi pdf txt 电子书 2024