内容简介

  《OracleDatabase12cR2In-Memory性能优化实战》循序渐进地介绍了如何使用OracleDatabase12cR2In-Memory优化数据库性能,并缩短事务处理时间。该书从Oracle企业架构师视野提出了如何实现高性能的专家建议,以及实际操作说明和实践。
  《OracleDatabase12cR2In-Memory性能优化实战》阐述了如何部署软件、构建查询以及在OracleRAC集群和多租户环境中使用In-Memory,并通过具体案例研究说明如何在实际应用中实施In-Memory。

作者简介

  张骏温,北京交通大学计算机与信息技术学院副研究员。多年来一直从事IT技术相关专业的教学和科研工作,主持或参加了多项国家和省部级重大科研项目,培养了多名硕士研究生。
  2012年主编了书籍《计算机网络系统工程监理规范理解与实施》;2013-2018年,与清华大学出版社合作,翻译出版了《EffectiveMySql之备份与恢复》《MySQLWorkbench数据建模与开发》《OraclePL/SQL性能调优诀窍与方法》和《精通OracleREnterprise大数据》四册书籍。目前研究方向包括:数据库、网络工程、信息安全、信息化工程监理、软件测试和现代通信技术。
  
  许向东,甲骨文(中国)软件系统有限公司、云平台事业部售前总监,2002年加入Oracle公司。对金融、政府、交通、电力等行业的Oracle数据库及相关选件产品的设计、开发、运维管理和培训工作做技术支持。2014年、2015年、2016年和2017年,分别与同事一起翻译了《深入解析OracleEnterpriseManagerCloudControl12c》《Oracle大数据解决方案》《OracleDatabase12c完全参考手册》等五册书籍(均已由清华大学出版社出版)。
  
  王健,甲骨文(中国)软件系统有限公司、云平台事业部售前顾问,2006年加入Oracle公司,支持过Oracle数据库及相关选件产品的设计、开发、运维管理和培训工作。目前主要负责招商银行、平安集团、广发银行、平安银行等金融行业的技术支持,提供数据库相关解决方案、应用数据平台和混合云平台架构设计。具备丰富的行业经验和技术积累,对公有云、数据库技术有深入理解。
  
  JoyjeetBanerjee,是某网络服务(AmazonWebServices)的企业解决方案架构师,负责开发能够满足客户业务需求的高可扩展的、灵活的、弹性云架构。Joyjeet帮助机构了解基于云的高级解决方案的实践以及如何将现有工作负载迁移到云上。在加入AmazonWebServices之前,Joyjeet曾在位于加利福尼亚州的Oracle总部、Oracle工程化系统团队担任企业架构师。他的主要职责是帮助Oracle企业客户从传统系统迁移到工程化系统。在加入工程化系统团队之前,Joyjeet曾在Oracle咨询部门工作,协助Oracle数据库、RAC和EBS客户实施Oracle产品。Joyjeet于2003年加入Oracle,担任电子商务套件(E-BusinessSuite)开发组织的数据库管理员,专门负责Oracle数据库的应用性能。
  Joyjeet是OracleApplicationsUsersGroup(OAUG)Collaborate和OracleOpenWorld的资深演讲嘉宾。他曾在OracleUniversity的专家小组(panel)中工作,负责评估课程内容并为Oracle数据库、RAC和OracleApplications的OCP提供问题建议。
  Joyjeet拥有系统和运营管理MBA学位,最近也被授予OracleInnovator称号。(www.oracle.com/us/products/applications/ebusiness/conversations-with-innovators-070240.html)

目录

第1章数据库体系结构
1.10racle数据库与实例
1.2数据库的存储结构
1.2.1物理结构
1.2.2逻辑结构
1.3内存结构
1.3.1系统全局区(SGA)
1.3.2程序全局区(PGA)
1.4进程结构
1.4.1ProcessMonitor(PMON)
1.4.2SystemMonitor(SMON)
1.4.3数据库写进程(DBWn)
1.4.4日志写进程(LGWR)
1.4.5Checkpoint(CKPT)
1.4.6Recoverer(RECO)
1.4.7其他进程
1.5本章小结

第2章In-Memory体系架构
2.1行处理与列处理
2.2Databaseln-Memory体系结构
2.3GET_COMPRESSIONRATIO过程
2.3.1语法
2.3.2SIMD矢量处理
2.4将数据加载到In-Memory列存储中
2.4.1IMFastStart
2.4.2具有ADO(自动数据优化)功能的In-Memory
2.4.3条件限制和用法
2.5本章小结

第3章部署In-Memory选件
3.1分配In-MemoryArea
3.2In-Memory的初始化参数
3.3向IMCS中加载数据
3.4在数据库级别启用IMCS
3.5针对表启用/禁用IMCS
3.6针对虚拟列启用/禁用IMCS
3.7针对表空间启用/禁用IMCS
3.8针对物化视图启用/禁用IMCS
3.9启用IMFastStart
3.10启用ADO功能和In-Memory选件
3.11IMCS和DataPump
3.12不能被加载到IMCS中的对象
3.13In-Memory视图
3.14本章小结

第4章DatabaseIn-Memory与RAC和Multitenant协同工作的方式
4.1RAC基础介绍
4.1.1RAC架构及概念
4.1.2RAC后台进程
4.2利用RAC执行并行操作
4.3RAC对内存的要求
4.4RAC和DBIM
4.4.1在RAC环境下将数据加载到IMCS中
4.4.2IMCS数据和服务
4.5Multitenant和IMDB
4.6本章小结

第5章DatabaseIn-MemoryAdViSOr
5.1安装In-MemoryAdViSOr
5.2运行In-MemoryAdvisor
5.3实施In-MemoryAdvisor建议并比较结果
5.4本章小结

第6章DatabaseIn-Memory查询优化
6.1使用连接组
6.2使用IM表达式
……
第7章In-Memory和工程化系统
第8章In-Memory动手实验
附录A安装OracleDatabase和启用In-Memory

前言/序言

  现代商业运作的模式已经发生了转变。企业希望能够找到帮助他们快速地、轻松地做出有效决策的工具。通常,为了快速应对需求的增长,除了数据仓库外,公司还直接在其交易型系统上运行分析。这导致了在事务型工作负载(需要频繁插入和更新)和需要扫描大量数据的报表类查询之间的不确定性操作。
  借助OracleDatabaseIn-Memory(Oracle内存数据库),单个数据库现在就可以有效地支持混合工作负载,为事务型操作提供最佳性能的同时,还支持实时分析和报表。用OracleDatabaseIn-Memory独特的双模结构实现这一点是《Oracle Database 12cR2 In-Memory性能优化实战》的精髓所在。双模结构即以行格式维护OLTP操作的数据,以In-Memory(内存)列格式维护分析处理的数据。
  OracleDatabase的In-Memory选件与现有应用程序兼容,并可使用Oracle
  Database中所有现有的功能,而且在不改变应用程序的情况下使用。
  通过《Oracle Database 12cR2 In-Memory性能优化实战》,你将学习并练习以下操作:
  ·配置OracleDatabase12c并构建启用In-Memory的数据库。
  ·在图形化界面上编辑和控制In-Memory选件。
  ·利用OracleRealApplicationCluster部署In-Memory。
  ·使用In-MemoryAdvisor确定哪些对象要保存在内存中。
  ·使用组、表达式和聚合来优化In-Memory查询。
  ·使用OracleExadataDatabaseMachine和In-Memory选件使性能达到最优。
  ·使用Swingbench创建数据并模拟真实系统的工作负载。
  《Oracle Database 12cR2 In-Memory性能优化实战》包括以下8章内容。
  第1章“数据库体系架构”在该章中,你将了解OracleDatabase体系结构,将学习OracleDatabase中所包含的组件,将了解OracleDatabase引擎的工作原理并了解所有的后台进程。如果你不熟悉OracleDatabase,该章提供了一个快速入门。如果你已熟悉OracleDatabase,该章将有助于你复习其功能和体系结构。
  第2章“In-Memory体系架构”该章介绍In-Memory选件及其体系结构,讨论运行DatabaseIn-Memory的益处,并说明它的工作原理以及数据在内存中的存储和处理方式。你还将了解In-Memory所涉及的所有后台进程。
  第3章“部署In-Memory选件”在该章中,你将学习如何在数据库中部署In-Memory功能。你将分配In-Memory工作区并学习与In-Memory相关的所有初始化参数,如何在In-Memory中加载数据以及如何为各种数据库对象(诸如表、列、物化视图等)启用In-Memory。
  第4章“DatabaseIn-Memory与RAC和Multitenant协同工作的方式”在该章中,你将了解OracleRealApplicationClusters,学习并行查询的工作原理,了解在RAC系统上运行In-Memory的要求,学习在RAC中是如何加载数据的,以及In-Memory是如何与RAC和Multitenant协同工作的。
  第5章“DatabaseIn-MemoryAdvisor”在该章中,你将学习如何使用In-MemoryAdvisor来决定哪些对象最好保存在内存中。你将学习如何安装和运行In-MemoryAdvisor,并学习各种In-MemoryAdvisor的方法。本章还提供了一个运行In-MemoryAdvisor、实施Advisor建议和比较结果的示例。
  第6章“DatabaseIn-Memory查询优化”在该章中你将学习如何优化In-Memory查询以获得最大的性能提升。你将学习如何使用joingroup、In-Memory表达式和In-Memory聚合操作。
  第7章“In-Memory和工程化系统”在该章中,你将学习Exadata的架构和功能、Exadata的优势,在Exadata中运行In-Memory的益处以及如何在Exadata上运行In-Memory。
  第8章“In-Memory动手实验”在该章中,你将使用In-Memory功能。该章包含用于部署In-Memory功能的示例和场景。你将使用Swingbench工具在自己的数据库中生成数据,并将针对该数据集运行与In-Memory相关的各种查询。你将获得对In-Memory足够的了解,以便在自己的工作区中部署它。
  附录A“安装OracleDatabase和启用In-Memory”附录A介绍了OracleDatabase的完整安装过程,涵盖了Oracle软件的使用和In-Memory选件的启动。

其他推荐