华为海量数据处理与高可用性方案探索
4星 · 超过85%的资源 需积分: 10 44 浏览量
更新于2024-07-31
收藏 1.95MB PPT 举报
"华为技术有限公司提供的海量数据处理与高可用性方案文档,主要讨论了数据库N+1方案设计、原型测试、经验交流等阶段,针对传统DB冷双机存在的可伸缩性限制、无网格计算能力、高成本及低可用性问题进行了分析,并通过RAC(Real Application Clusters)集群技术的测试,提出了优化策略,包括RAC分区方案,以提高系统性能和可用性。"
在海量数据处理与高可用性方案中,首先面临的问题是传统的数据库系统如DB冷双机在处理大规模数据时存在的挑战。这些挑战主要包括系统的可伸缩性受到限制,无法有效利用网格计算能力,以及使用小型机导致的成本过高,使得系统可用性低于99%。为了改善这些问题,华为提出了一个分阶段的解决方案。
第一阶段涉及数据库的N+1方案设计,这是一种冗余备份策略,通过部署额外的数据库实例(N+1个),在主数据库故障时提供即时切换,从而提高系统的可用性。然而,单纯的N+1方案并不能解决所有问题,特别是在高并发场景下,性能可能会受到影响。
在第二阶段,华为进行了原型测试,以评估Oracle RAC(Real Application Clusters)技术的效果。测试结果显示,虽然RAC在查询操作中能提高性能,但在并发更新操作时,由于锁资源和网络I/O的消耗,性能反而下降。这是因为RAC的缓存熔合技术在处理多实例并发更新同一数据块时效率降低。
为了解决这个问题,华为提出了RAC分区方案作为第三阶段的解决方案。这个方案包括以下几个关键点:
1. 对于和电话号码相关的表,采用范围分区,每个表默认分为10个分区,分区名为instance_number,且保持非空。
2. 所有分区表的索引应使用分区索引,普通索引为local index,主键索引为global partition index,同时关联分区名。
3. 修改业务代码,根据当前活跃用户数进行负载均衡,将开户操作分配到对应的分区。
4. 其他操作需先获取分区号,然后发送给相应的DB实例处理。
5. 对于跨归属查询、无用户归属的操作和后台job,则在公共实例上处理。
通过这种方式,RAC分区方案可以减少实例间的并发冲突,优化资源利用率,提高系统的整体性能和可用性。同时,它还允许系统根据业务需求进行动态扩展,适应不断增长的数据量和处理需求,确保服务的稳定性和高效性。
2015-07-14 上传
2023-06-06 上传
2023-04-30 上传
2023-04-28 上传
2023-05-24 上传
2023-04-28 上传
2023-07-10 上传
cva123
- 粉丝: 2
- 资源: 7
最新资源
- Postman安装与功能详解:适用于API测试与HTTP请求
- Dart打造简易Web服务器教程:simple-server-dart
- FFmpeg 4.4 快速搭建与环境变量配置教程
- 牛顿井在围棋中的应用:利用牛顿多项式求根技术
- SpringBoot结合MySQL实现MQTT消息持久化教程
- C语言实现水仙花数输出方法详解
- Avatar_Utils库1.0.10版本发布,Python开发者必备工具
- Python爬虫实现漫画榜单数据处理与可视化分析
- 解压缩教材程序文件的正确方法
- 快速搭建Spring Boot Web项目实战指南
- Avatar Utils 1.8.1 工具包的安装与使用指南
- GatewayWorker扩展包压缩文件的下载与使用指南
- 实现饮食目标的开源Visual Basic编码程序
- 打造个性化O'RLY动物封面生成器
- Avatar_Utils库打包文件安装与使用指南
- Python端口扫描工具的设计与实现要点解析