51job数据库系统:3+1架构与运维实践
4星 · 超过85%的资源 需积分: 9 8 浏览量
更新于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 上传
2015-07-24 上传
2013-01-16 上传
点击了解资源详情
点击了解资源详情
点击了解资源详情
点击了解资源详情
2024-11-04 上传
点击了解资源详情
taobai021
- 粉丝: 2
- 资源: 21
最新资源
- Python中快速友好的MessagePack序列化库msgspec
- 大学生社团管理系统设计与实现
- 基于Netbeans和JavaFX的宿舍管理系统开发与实践
- NodeJS打造Discord机器人:kazzcord功能全解析
- 小学教学与管理一体化:校务管理系统v***
- AppDeploy neXtGen:无需代理的Windows AD集成软件自动分发
- 基于SSM和JSP技术的网上商城系统开发
- 探索ANOIRA16的GitHub托管测试网站之路
- 语音性别识别:机器学习模型的精确度提升策略
- 利用MATLAB代码让古董486电脑焕发新生
- Erlang VM上的分布式生命游戏实现与Elixir设计
- 一键下载管理 - Go to Downloads-crx插件
- Java SSM框架开发的客户关系管理系统
- 使用SQL数据库和Django开发应用程序指南
- Spring Security实战指南:详细示例与应用
- Quarkus项目测试展示柜:Cucumber与FitNesse实践