新書推薦:
《
炙野(全2册)
》
售價:NT$
356.0
《
女人的胜利
》
售價:NT$
254.0
《
数据有道:数据分析+图论与网络+微课+Python编程(鸢尾花数学大系:从加减乘除到机器学习)
》
售價:NT$
1214.0
《
500万次倾听:陪伤心的人聊聊
》
售價:NT$
245.0
《
英国商业500年(见证大国崛起与企业兴衰,启迪未来商业智慧。)
》
售價:NT$
367.0
《
万千心理·儿童心理治疗中的心智化:临床实践指导
》
售價:NT$
398.0
《
自我囚禁的人:完美主义的心理成因与自我松绑(破除你对完美主义的迷思,尝试打破自我评价过低与焦虑的恶性循环)
》
售價:NT$
301.0
《
周易
》
售價:NT$
203.0
|
編輯推薦: |
本书首先综合介绍了内存计算的发展趋势、内存计算的基本概念、内存计算产品和架构。然后从深度上详细介绍了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与PLSQL支持
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.8PLSQL
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容量规划工具
第7章TimesTen应用层数据库缓存
7.1缓存基本概念
7.1.1缓存组与缓存实例
7.1.2缓存组数据操作
7.1.3缓存组分类
7.1.4缓存代理和复制代理
7.1.5缓存相关连接属性
7.1.6选择性复制
7.2缓存的配置
7.2.1缓存配置准备工作
7.2.2缓存管理命令与工具
7.2.3配置只读缓存组
7.2.4配置AWT缓存组
7.2.5配置SWT缓存组
7.2.6配置用户自管理缓存组
7.2.7配置全局缓存组
7.2.8缓存组行为特征比较
7.2.9缓存清理
7.3缓存应用模式
7.3.1配置滑动时间窗
7.3.2缓存组数据分片
7.4透传模式与配置
7.4.1透传模式级别
7.4.2使用透传模式的考虑
7.5缓存监控
7.6选择适合的缓存架构
7.6.1只读缓存组
7.6.2AWT缓存组
第8章TimesTen数据库高可用性
8.1数据库高可用性
8.2TimesTen数据库复制架构
8.2.1数据库复制模式
8.2.2数据复制传输方式
8.2.3并行复制
8.2.4复制压缩
8.3TimesTen传统复制模式
8.3.1主从复制架构
8.3.2双活复制架构
8.3.3分发复制架构
8.3.4更改传统复制架构
8.3.5错误切换与恢复
8.4TimesTen ASP主从复制模式
8.4.1定义ASP复制架构
8.4.2更改ASP复制架构
8.4.3ASP缓存组复制
8.4.4交换主从数据库的复制角色
8.4.5客户端自动切换
8.5监控复制环境
8.5.1复制代理状态
8.5.2复制配置和状态
8.5.3复制相关系统表
8.5.4监控事务日志
8.5.5复制相关内置过程
8.6使用Oracle Clusterware管理TimesTen
8.6.1安装Oracle Clusterware
8.6.2建立和删除ASP复制
8.6.3故障检测与恢复
8.6.4DDL复制
8.6.5应用切换
8.6.6监控 Oracle Clusterware
第9章TimesTen数据库备份恢复和升级
9.1TimesTen数据库备份与恢复
9.1.1数据库备份与恢复工具
9.1.2备份和恢复工具对比
9.1.3数据库备份与恢复
9.1.4数据库变更
9.1.5数据库迁移
9.2TimesTen数据库升级
9.2.1离线升级
9.2.2就地升级
9.2.3在线升级
第10章TimesTen数据库应用开发
10.1应用开发框架
10.2常用API示例程序
10.2.1使用JAVA连接TimesTen
10.2.2使用Pro*C连接TimesTen
10.2.3使用OCI连接TimesTen
10.2.4使用.NET连接TimesTen
10.3配置应用服务器和ORM框架
10.4TimesTen源代码检查工具
10.5TimesTen应用开发最佳实践
10.5.1选择适合的开发语言
10.5.2使用直连驱动模式
10.5.3使用正确的提交模式
10.5.4使用参数化的SQL语句
10.5.5其他通用建议
附录A中英文术语对照表
|
內容試閱:
|
前言
第一次接触TimesTen是在2001年左右,当时我的领导从Sybase公司拿回一本TimesTen技术手册让我研究,由于没有具体项目需求,因此这本书很快就被遗忘在故纸堆中。2005年,TimesTen被Oracle公司收购,随后是闪存存储的普及,x86架构逐渐成为标准,云计算和大数据时代的到来。在所有这些技术趋势中,内存计算是其中不可忽略的一种。内存计算并非一种新技术,但直到2010年后才逐渐成为主流,这其中包括TimesTen、HANA、Coherence和Redis等内存计算产品,一方面是由于软硬件发展条件已经成熟,另一方面也源于云计算大数据时代不断涌现的新型业务需求。2011年我加入Oracle公司,有了深入接触TimesTen的机会,同时在大量客户接触中,发现内存计算可应用的场景越来越丰富,使用范围也越来越广泛。虽然TimesTen有大量英文手册,却缺乏一本系统讲述TimesTen基本概念与核心精髓的入门和指导型书籍,因此我决定撰写一本介绍TimesTen内存计算架构的专著。
本书适用于不同类型的读者。如果你是数据库管理员,可以学习TimesTen数据库的内部结构,TimesTen内存数据库与传统关系型数据库的异同,如何进行内存数据库的管理、运维、监控和调优。如果你是架构师,可以了解如何利用新型的内存计算技术简化整体架构设计,释放后端传统磁盘数据库压力,满足大数据时代应用性能和可扩展性需求。如果你是应用开发人员,可以学习如何使用标准的ODBCJDBC接口和流行的Java、C#和CC语言进行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数据库,操作系统和数据库层面的访问控制,以及如何操作数据库中的表、索引、视图和PLSQL等对象。
工欲善其事,必先利其器。第5章全面介绍了TimesTen数据库常用管理工具,包括交互式SQL工具ttIsql、TimesTen内置过程和TimesTen实用程序。性能是内存数据库的优势,同时也是用户关注的重点,本章介绍的TimesTen Benchmark工具和TimesTen建议器可以为用户建立性能基线,进行性能测量和提供性能调优建议。SQL Developer和Oracle企业管理器是传统的Oracle数据库管理工具,同时也支持TimesTen数据库的管理,本章也简要介绍了这两种管理工具与TimesTen的结合。公有云是未来IT发展的趋势,本章最后介绍了如何使用新型的Oracle日志分析云服务进行TimesTen日志模式查询,关联分析,以加速问题定位和解决过程。
TimesTen可作为独立数据库运行,也可以作为Oracle数据库的内存缓存,前者需要将关系型数据库中数据迁移到TimesTen,后者通常也需要迁移数据以验证TimesTen的性能。第6章介绍了多种实现数据迁移的TimesTen工具,包括传统的SQL Developer工具、文本导入导出工具以及TimesTen特有的命令、实用程序和缓存导入方式,并重点讲述了TimesTen在整数和变长字符串类型实现方式上与Oracle数据库数据类型的区别。此外,本章的另一个主题是介绍TimesTen数据库内存容量监控和规划,以保证TimesTen有足够的内存空间并可以应对未来内存容量的增长。
作为Oracle数据库的应用层数据缓存是TimesTen最重要的特性之一,也是TimesTen区别于其他内存计算产品的主要特点。第7章全面介绍了TimesTen缓存组的基本概念、缓存组数据操作和缓存组分类,并使用大量示例说明如何配置只读、AWT、SWT、用户自管理和全局缓存组以及它们的特点与区别。在此基础上,本章深入介绍了缓存组的应用模式,包括滑动时间窗和数据分片。最后介绍了TimesTen特有的透传模式以及如何选择合适的缓存架构。
高可用性是关键业务系统最重要的非功能性需求之一。TimesTen内存数据库不仅提供极致性能,同时也可以确保关键应用的业务连续性。第8章介绍了TimesTen丰富的高可用实现技术手段和拓扑形式,包括传统复制、ASP主从模式和Oracle Clusterware集群模式,并结合大量示例说明如何构建和管理各种复制模式,以及在服务器端和客户端两个层面的错误切换和恢复过程,最后介绍了对TimesTen复制环境进行监控的多种方式。
数据备份是实现数据保护最基本和最重要的手段,第9章介绍了多种TimesTen数据库备份和恢复工具和方式,包括物理和逻辑备份、全量和增量备份等,以及如何利用数据备份与恢复实现数据库的变更和数据库的同平台或跨平台迁移。最后介绍了多种TimesTen数据库的升级方法,包括离线升级、就地升级以及结合复制实现业务最高可用性的在线升级。
日趋复杂和不断变化的业务需求不仅需要稳定和高效的系统支撑,同时也要求更高的应用开发效率。TimesTen作为Oracle公司旗下产品,同时也是标准的关系型数据库,在应用开发上与Oracle数据库有许多相似之处,开发人员从Oracle数据库应用开发转向TimesTen时,可以充分利用已有知识,轻松实现应用的快速开发。第10章对TimesTen数据库应用开发进行了专门介绍,并给出了Java、Pro*C、OCI和.NET四种常用开发语言连接TimesTen数据库的示例。最后介绍了TimesTen应用开发最佳实践,包括数据库应用开发通用建议以及TimesTen数据库应用开发特定建议。
附录A为TimesTen中英文术语对照表。由于本书是第一本系统阐述TimesTen内存数据库的中文专著,并且TimesTen的官方帮助文档和知识库均只有英文版,在阅读此书的过程中需要经常参照这些资源; 因此附录A试图为TimesTen英文术语的中译建立标准,形成读者之间相互沟通的共同语言,并方便中文读者在查阅英文文档时有清晰的概念对应。
本书的一大特色是理论与动手实践相结合,在计算机旁阅读此书是最佳的方式,可以对书中的概念进行验证和探索。全书附带大量脚本和代码,以加深读者对产品特性和基本概念的理解,所有脚本和代码均按章节组织,可以从清华大学出版社相关页面下载。
我衷心感谢在出书过程中给予帮助与指导的所有朋友和同事。感谢清华大学出版社的王芳编辑,通过CSDN联系到我并促成了此书的出版。感谢Oracle公司的同事马文锋、刘晓宇、张军华、梁铭豪、刘凯斌,TimesTen中国区产品经理Jason Yang,Oracle公司总部TimesTen产品经理Chris Jenkins,TimesTen架构师Sam Drake和TimesTen开发总监ChihPing Wang,以及Paul Tuck,Rajesh Pradhan,James Healy,Doug Hood,Jeremy Palmer等人,感谢他们通过Oracle TimesTen内部论坛、电话、邮件及现场对我提出问题的耐心指导和答疑,这本书的出版也有他们的功劳。最后,我想对我的父母说: 这本书是献给你们的,我终于完成了你们希望我出一本书的心愿,谢谢你们!
萧宇
2017年2月24日于北京
|
|