51job数据库系统:3+1架构与运维实践
4星 · 超过85%的资源 需积分: 9 5 浏览量
更新于2024-07-26
1
收藏 968KB PDF 举报
"51job数据库系统架构实践"
在51job的数据库系统架构实践中,他们采用了"3+1"的方案来应对当时的系统超负荷工作问题。这个方案包括了三台主机作为主要运行服务器,一台备机用于冗余和故障恢复。在数据库层面上,设置了两台Primary数据库服务器和一个Standby库,利用Data Guard (DG)技术来实现高可用性和灾难恢复。
Data Guard是一种Oracle数据库特性,它提供了物理 standby数据库,可以在主数据库出现故障时,自动或手动将服务切换到standby数据库,从而确保业务连续性。这种架构有以下优势:
1. **结构简单可靠**:由于采用了双Primary和Standby的配置,系统结构清晰,易于管理和维护。
2. **不存在单点故障**:通过多台服务器的分布式设置,避免了单一设备故障导致整个系统的瘫痪。
3. **DG快速切换**:当主数据库出现问题时,Data Guard可以迅速将服务切换到备用数据库,减少业务中断时间。
然而,这个架构也存在一些劣势:
1. **处理能力减半**:由于需要将一部分处理能力分配给Standby库,因此整体处理能力相对于单个大型数据库来说有所下降。
2. **资源浪费**:配备的备用服务器在正常情况下可能处于空闲状态,造成一定的硬件资源浪费。
在日常运维中,51job对系统进行了全面的监控和维护,包括业务监控、网络和主机监控、数据库监控等。对于主机性能,使用了如top、sar、iostat、vmstat和glance等工具进行实时监测。在数据库层面,通过crontab和shell脚本定时执行SQL查询,利用v$xxx和dba_xxx视图以及AWR报告来分析性能指标,如事务处理量、系统负载和空间使用情况。此外,还定期进行数据清理,如将历史数据离线存储,以及使用exp/expdp进行数据导出,drop partition进行分区管理等操作,以保持数据库的高效运行和合理的空间使用。
总结起来,51job的数据库系统架构实践是基于提高系统稳定性和业务连续性的目标,通过采用"3+1"的主机配置和Data Guard技术,实现了简单的架构设计,有效降低了单点故障的风险。同时,配合全面的监控和维护策略,确保了系统的健康运行,满足了在线招聘业务的高性能需求。
2010-04-17 上传
154 浏览量
2013-01-16 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-04 上传
点击了解资源详情
taobai021
- 粉丝: 2
- 资源: 21
最新资源
- androidcollectibleguide:Android收藏指南应用程序的源代码-Android application source code
- 2004年全国主要人口数据
- leetcode答案-leetcode-cs:leetcode刷题
- WHGradientHelper:iOS渐变,支持——线性渐变,径向渐变,渐变动画,lable字体渐变,lable字体渐变动画
- 基于STM32手写绘图板的设计.zip
- C-:siki教程
- FabriKGenerator:用Kotlin编写的Fabric mod的mod模板生成器
- leetcode答案-leetcode-machine-swift:Xcode中的leetcode解决方案验证
- YourToDo:使用Django制作的To Do应用程序,用户可以在其中添加,编辑和删除任务
- PHP实例开发源码—PHP版 Favicon在线生成工具.zip
- HttpServer.rar
- SmartCurrencyConverter:Android应用程序的源代码-SmartCurrencyConverter-Android application source code
- MDA车库
- GOTOTALPLAY
- leetcode答案-Study4Job:为了准备秋招而做的准备
- hkp_client:用Dart编写的非常基础的HKP密钥服务器客户端