《高并发Oracle数据库系统的架构与设计》一导读

简介: 写一本Oracle数据库方面的技术书籍,是我一个持续了四五年的想法。本着自我总结和快乐分享的初衷,不只一次地咨询过eygle大师关于写书的细节,eygle大师也热情地予以指导。遗憾的是,总是因为这样那样的原因,这个想法迟迟不能落地。

image

前 言

为什么要写这本书
写一本Oracle数据库方面的技术书籍,是我一个持续了四五年的想法。本着自我总结和快乐分享的初衷,不只一次地咨询过eygle大师关于写书的细节,eygle大师也热情地予以指导。遗憾的是,总是因为这样那样的原因,这个想法迟迟不能落地。

2013年的夏天,我有幸作为微博特使参与了甲骨文全球大会(Oracle Open World)上海站的活动,跟一位甲骨文的朋友闲谈中,不经意聊到了与Oracle数据库“共事”已经快十年了。朋友说我应该有不少心得了,鼓励我花一年的时间来做一个总结,可以写一本书分享给更多的朋友。“十年”是一个非常特别的东西,它彻底激发出我写书的热情。凌乱的思绪,不知该写些什么的时候,联想到再游十年未见西湖的感触:
云恸风摧山北暮,桥断平湖,西子颜如故。曲院风荷香暗渡,余晖昨日穿朱户。
月澹星稀闻浪住,对酒当歌,言莫愁时苦。意若随心晴若雨,谁知明日鸿归处?
对于技术人来说,杭州渐渐演变成技术之城,然而因为西湖,她应该是艺术的。正如以艺术之眼去欣赏Oracle数据库,不仅仅是纯技术活,更能发现其艺术之美。怀着一颗附庸风雅之心,我决定写一本具有一定实用价值的数据库架构设计和性能优化方面的书。
回顾十年技术之路,如大多数同行一样,一切都是从OCP认证开始的,没能赶上8i OCP的末班车,只好搭乘了9i OCP的头班车。如今认证不如以前受重视了,然而我一直认为OCP给我们提供了一个完整的基础知识体系,其价值不在于那一张纸而已。现在,DBA工作内容逐步实现了流程化和模块化,一些初学者已经可以轻松地完成一些复杂架构的搭建,却时常会因为一些基础的概念性的东西而纠结不清,我会毫不犹豫地推荐他们去进行OCP教材的学习。只有建立自己的基础知识体系,才能主动地去思考问题,才能开始专职DBA之路。
在十年之前,有专职DBA的公司可以说少之又少,早期的DBA都是从开发转过来的,做的人多了,也就有专职DBA这个概念,进而很多不愿意写代码的人也纷纷投身其中。各个公司也出于系统安全和精细分工的考虑,开始禁止DBA了解、熟悉业务,禁止DBA访问业务数据等,以至于现在很多DBA没有开发能力,也不懂得业务应用,仅仅是一个数据库技术的支持者,进而导致DBA被误读为夕阳职业。早期的DBA为什么能备受重视,不仅仅是因为物以稀为贵,更多的是因为有开发背景,了解业务流程,具备复合能力,这才是最可贵的。可以说不懂得DBA技能的开发不是好开发,不懂得开发的DBA不是好DBA。
可喜的是,随着时间的发展,大家都开始意识到这个问题,于是数据库架构师的概念应运而生,他们是一群复合能力的拥有者,是开发人员和DBA之间的桥梁。然而,复合能力也是有较强的行业依赖性的,没有可以跨行业的万能复合,也没有能完全跨行业实现的万能数据库架构。我在本书的编写过程中,也是以我熟悉的金融行业为立足点,尽可能地兼顾全面阐述。
本书将给读者一个全新的视角,秉承大道至简的主导思想,只介绍高并发数据库架构设计中最值得关注的内容,不在于某种技能的分享,而致力于一种方法论的建立,希望能抛砖引玉,以个人的一些想法和见解,为读者拓展出更深入、更全面的思路。

目 录

第一部分 内政篇
第1章 大道至简
1.1 初见高并发
1.2 说句时髦话
1.3 在Oracle的世界里
1.4 本章小结
第2章 高效B树索引
2.1 索引扫描识别
2.2 索引与排序
2.3 索引设计优化
2.4 索引分裂
2.5 索引维护
2.6 本章小结
第3章 高效表设计
3.1 数据生命周期管理
3.1.1 什么是数据生命周期管理
3.1.2 架构模型设计
3.1.3 数据分层存储
3.2 常用字段类型选择
3.2.1 VARCHAR2与CHAR
3.2.2 NUMBER与VARCHAR2
3.2.3 主键字段的选择
3.2.4 LOB字段
3.3 字段顺序
3.3.1 热字段靠前排
3.3.2 行宽需要控制
3.4 行链接与行迁移
3.4.1 行链接原理
3.4.2 行迁移原理
3.4.3 发现问题
3.4.4 解决问题
3.5 分区表的使用
3.5.1 何时使用分区表
3.5.2 分区表设计思路
3.5.3 分区表特性
3.6 适当的冗余
3.6.1 反范式建模
3.6.2 物化视图
3.6.3 结果集缓存
3.6.4 直接路径插入
3.7 碎片分析与整理
3.7.1 碎片的产生
3.7.2 DBMS_SPACE包
3.7.3 碎片的整理
3.8 本章小结

相关文章
|
2月前
|
缓存 NoSQL 关系型数据库
|
2月前
|
缓存 安全 API
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
公司对外开放的OpenAPI-Server服务,作为核心内部系统与外部系统之间的重要通讯枢纽,每天处理数百万次的API调用、亿级别的消息推送以及TB/PB级别的数据同步。经过多年流量的持续增长,该服务体系依然稳固可靠,展现出强大的负载能力。
114 9
【亿级数据专题】「高并发架构」盘点本年度探索对外服务的百万请求量的API网关设计实现
|
2月前
|
运维 Oracle 容灾
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
Oracle dataguard 容灾技术实战(笔记),教你一种更清晰的Linux运维架构
|
17天前
|
弹性计算 Oracle 关系型数据库
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!
技术好文共享:谁说阿里云不能跑Oracle,让驻云架构师告诉你怎么办!
13 0
|
2月前
|
存储 缓存 算法
高并发架构设计三大利器:缓存、限流和降级
软件系统有三个追求:高性能、高并发、高可用,俗称三高。本篇讨论高并发,从高并发是什么到高并发应对的策略、缓存、限流、降级等。
107 1
|
2月前
|
机器学习/深度学习 搜索推荐 算法
高并发推荐系统架构设计-1 基本介绍
【5月更文挑战第5天】推荐系统是信息过滤工具,通过处理物料数据和行为日志,运用预处理、特征工程、算法模型学习用户兴趣,实现个性化推荐。在线架构包括AB分流、多路召回、模型排序和业务规则重排序。旧版线上架构由C++编写的API和engine服务组成,HTTP请求经SLB、Nginx、FastCGI到达服务程序,召回和排序服务处理推荐。存在并发瓶颈问题。
82 1
|
2月前
|
存储 运维 物联网
【专栏】OceanBase 是一款先进的分布式数据库系统,以其分布式架构、高扩展性、高可用性和强一致性特点,应对大规模数据处理挑战
【4月更文挑战第29天】OceanBase 是一款先进的分布式数据库系统,以其分布式架构、高扩展性、高可用性和强一致性特点,应对大规模数据处理挑战。它支持混合负载,适用于金融、电商和物联网等领域,提供高性能、低成本的解决方案。尽管面临技术复杂性、数据迁移和性能优化等问题,通过合理策略可克服挑战。随着技术发展,OceanBase 在数字化时代将持续发挥关键作用。
|
2月前
|
消息中间件 缓存 NoSQL
设计一个高并发场景下的Python Web应用架构。
在高并发Python Web架构中,关键组件包括负载均衡器用于分散请求,应用服务器如Gunicorn与Docker部署多实例,缓存如Redis提升数据访问速度,优化后的数据库(如MySQL或MongoDB),消息队列如RabbitMQ处理异步任务,通过横向扩展增加服务器,监控和日志系统确保稳定性,代码优化减少不必要的操作,CDN加速静态资源,以及自动化部署和弹性伸缩工具适应负载变化。性能测试和优化是保证系统稳定性的关键。
|
2月前
|
存储 SQL 数据库
软件体系结构 - 架构风格(10)数据库系统架构风格
【4月更文挑战第21天】软件体系结构 - 架构风格(10)数据库系统架构风格
60 0
|
2月前
|
缓存 负载均衡 网络协议
作者推荐 | 高并发挑战?试试这些架构优化篇技巧,让你的系统焕发新生!
作者推荐 | 高并发挑战?试试这些架构优化篇技巧,让你的系统焕发新生!
72 1

推荐镜像

更多