搜索
高级检索
高级搜索
书       名 :
著       者 :
出  版  社 :
I  S  B  N:
出版时间 :
Oracle高性能系统架构实战大全
0.00     定价 ¥ 128.00
泸西县图书馆
此书还可采购1本,持证读者免费借回家
  • ISBN:
    9787301309612
  • 作      者:
    张君华
  • 出 版 社 :
    北京大学出版社
  • 出版日期:
    2020-03-01
收藏
荐购
编辑推荐
(1) 深入浅出:详解与 Oracle 数据库性能相关的方方面面,涵盖 Oracle 的体系架构及其背后的运行机制。
(2)直击难点:全面解析Oracle SQL 执行计划和Oracle SQL 性能分析与优化。
(3)全新实战:真实有效的实战案例再现Oracle数据库开发过程中的问题及解决思路。
(4)双管齐下:先设定方案,然后从应用角度和数据库角度综合考虑,逐一分析实现环境。
展开
作者简介
张君华,金融证券企业级系统架构师,曾负责多省商品清算所架构设计,新一代基金登记过户系统架构设计,拥有丰富的一线金融系统架构设计和性能优化实战经验。主要研究方向包括中台建设、微服务、云原生架构、Oracle&MySQL&PostgreSQL、分布式并行清算、MPP等。
展开
内容介绍
《Oracle高性能系统架构实战大全》介绍与 Oracle 数据库性能相关的方方面面,涵盖了 Oracle 的体系架构,其背后的运行机制包括事务、锁与闩、多版本并发,各种 Oracle 高级特性如分区、并行执行、直接路径操作,以及大数据导入 / 导出性能优化,并用具体的例子来解释每个特性,它是如何工作的、其限制是什么。
本书用通俗易懂的方式介绍如何理解并掌握 Oracle SQL 执行计划,如何高效地掌握 Oracle SQL 性能分析与优化,这是摆在众多开发人员面前的两座大山。
本书不仅是从 Oracle 数据库与 SQL 优化本身的角度探讨高性能架构设计,更重要的是从整个应用层、综合中间件角度考虑各特性是否适合采用 Oracle 实现,如何在 Java 及 JDBC、 MyBatis 中优化。为此多个章节专门探讨 Oracle 不擅长的特性,以及如何在 Java 和中间件中更好地实现它们。
本书适合具有一定 Oracle 数据库经验的开发人员和数据库管理员阅读。
展开
精彩书摘
3.1 基于磁盘数据库的弱项
事务数据库的特性包括原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和
持久性(Durability),简称 ACID。前 3 个特性因为和业务结合得相对比较紧密,通常会在无意中
考虑得更多,第 4 个特性持久性,除了 DBA 和数据库内核开发人员外,大部分开发人员只关心逻
辑上应该如此,并不关注实现上能否满足业务要求,以及如何借助它更加高效地实现业务功能,这
也是本节要讲的内容。这里假设读者已经掌握 ACID。
对于基于磁盘的数据库来说,持久性是涉及最后物理磁盘操作的。前面章节介绍了普通商用服
务器各组件之间的性能差异,磁盘相对于内存来说要慢好几个数量级,所以对于任何满足 ACID 特
性的基于磁盘的数据库来说,最小化不必要的持久性是让数据库保持高性能的关键之一。需要注意
的是,不仅写入是持久化,写入的数据最终是为了读取,所以读的成本也需要算进去。
由于硬盘速度慢是目前无法突破的物理限制,而一个事务中通常会包含不止对一个数据块的修
改,如修改账户余额要同时记录资金流水,因此对于修改后数据库的存储,现代数据库等都采用先
写日志(Write Ahead Logging, WAL)技术,尽可能将数据块的随机写转换为 Redo 日志的顺序写
来提高整体的吞吐量。
而读则基于相邻的数据通常会被一起访问的原则,尽可能采取预读技术,将多个连续但是当前
没有明确请求的块一次性读取到内存来提高读的速度。例如,在 Oracle 中,可以通过初始化参数
控制全表扫描和快速全索引扫描时每次读的块数。相对于随机读 / 写来说,顺序读 / 写的速度则要
快数倍到数十倍。
为了让读者更加深刻地理解并加深记忆,可以进行一个测试。对于 Insert 单表操作,如果直
接访问磁盘, Oracle 的 TPS 能达到多少?为了不让 Oracle sga 缓存,同时尽量模拟随机写,使用 6 张
分别在不同表空间的表,这些表空间已经包含 500MB~5GB 初始数据,因为不同的 filesystemio_options
会导致不同的结果,这里以 Linux 下默认值 None 为例。测试数据和表结构如下:
create table io_test_1(id int,text1 char(2000),text2 char(2000),text3
char(2000))storage(initial 100m) tablespace SOE;
create table io_test_2(id int,text1 char(2000),text2 char(2000),text3
char(2000))storage(initial 100m) tablespace USERS;
展开
目录
第 1 章 实现高性能系统的基础
1.1 何为高性能
1.2 为什么仍需要高性能设计
1.3 直到系统跑不下去了才去重构
1.4 保持高性能需要持续维护
1.5 系统性能低下的原因
1.6 影响系统性能的合理因素
1.7 基准性能测试
1.8 高性能系统设计原则
第 2 章 规划性能友好的架构
2.1 典型系统架构
2.2 分布式架构的挑战
2.3 何为友好的架构设计A
2.4 尽早确定具体技术栈和接口规范
2.5 确定可用的特性和软件版本
2.6 开放思路
2.7 普通商用服务器的当前现状
2.8 虚拟化和云主机的影响
2.9 限制性能友好技术架构的原因
2.10 按照规范执行后,性能和扩展性还是不理想A
2.11 多租户应用的挑战
Oracle 高性能系统架构实战大全
第 3 章 理解 Oracle 运行机制
3.1 基于磁盘数据库的弱项
3. 万元买来当摆设
3.3 选择标准版还是企业版
3.4 Oracle 体系架构概览
3.5 Oracle 事务
3.6 多版本并发控制
3.7 Redo 日志
3.8 Undo 日志
第 4 章 高效 Oracle 设计
4.1 设计良好的 Oracle 表
4.2 除了常规表外还有哪些选择
4.3 深入理解 Oracle 索引
4.4 深入理解分区
4.5 深入理解 Oracle 并行执行
4.6 直接路径操作
4.7 深入理解 Oracle 内存列式存储
4.8 熟悉分析函数
4.9 不建议使用 Oracle 实现的场景
第 5 章 高并发和锁
5.1 各种类型的高并发
5.2 影响并发性的因素
5.3 锁 - 共享资源访问控制机制
5.4 Oracle 中的锁
5.5 Java 中的并发访问控制
5.6 分布式锁的实现
5.7 选择正确的锁实现方式
第 6 章 应用层高性能设计
6.1 领域模型、数据库模型和 Java 类
6.2 把掌握和维护中间件重视起来
6.3 充分利用各级缓存
6.4 JDBC、 OCI 优化
6.5 最小化网络交互
6.6 分页查询优化
6.7 统一模式功能使用 AOP
6.8 通知型功能使用消息队列
6.9 日志优化
6.10 根据上下文自适应优化
6.11 核心逻辑避免通用代码生成
6.12 该用 PL/SQL 时不要故意避开
第 7 章 Oracle 实例与系统优化 
7.1 Oracle 实例优化概述
7.2 内存优化
7.3 存储优化
7.4 初始化参数优化
7.5 其他 Oracle 实例优化
7.6 高可用 / 可恢复性相关性能影响
7.7 Linux 优化
第 8 章 系统性能分析与诊断
8.1 整体性能监控与分析
8.2 Linux 性能分析
8.3 Java 性能分析
8.4 Oracle 实例性能分析
8.5 Oracle 典型等待事件分析
第 9 章 精通执行计划分析
9.1 SQL 内部执行过程
9.2 SQL 性能分析的关键
9.3 Oracle 性能分析工具
9.4 高效掌握执行计划
9.5 Oracle 执行计划精解
9.6 其他执行计划相关要点
Oracle 高性能系统架构实战大全
第 10 章 Oracle SQL 性能分析与优化
10.1 优化器
10.2 统计信息
10.3 直方图和绑定变量窥视
10.4 深入理解 Oracle 优化器提示
10.5 典型性能优化案例
第 11 章 大数据导入 / 导出优化
11.1 常见的大数据处理场景介绍
11.2 大数据导入 / 导出方案
11.3 其他优化
展开
加入书架成功!
收藏图书成功!
我知道了(3)
发表书评
读者登录

温馨提示:请使用泸西县图书馆的读者帐号和密码进行登录

点击获取验证码
登录