百万用户级电商云上Oracle架构设计与数据库优化

简介: 某电子商务平台国内注册会员用户数达数百万级别,业务高峰期间一小时内可能会达到数万笔交易。在袋鼠云实施完成并优化后,该电商平台双11当天该平台的网站点击量是之前的3倍多,效果远超出预期。
客户介绍:

某电子商务平台自2015年9月份对外提供服务,已在阿里云上稳定运行1年多,近期业务量突增。
据了解,此平台是一个会员制的在线交易平台,业务正在不断上升中,发展形势一片大好的同时,前端应用和后端数据库的压力却越来越大。
目前,该平台国内注册会员用户数已达数百万级别,有上百万的商品数量,在业务高峰期间一小时内可能会达到数万笔交易。

问题分析:

然而,由于应用设计和数据库没有充分优化的问题,导致数据库不堪重赋,CPU一直满负荷运行,整个平台运行缓慢,长此下去,会严重缩减客户数量,故需立即对数据库和应用进行全面优化。
此平台的操作系统是Windows 2008 R2X86_64,主机是16C、32G内存,使用的数据库是单节点Oracle 11.1.0.7 X86_64,并没有开启归档,也没有备份。
经过袋鼠云专家深入分析应用层的设计和数据库的负载情况,目前的CPU持续在95%以上,且有居高不下的态势,CPU负载和数据库等待事件见下图:
2ddb11127b4ad768bae13a57071268f3968dee52
fd5589f389240a66b9f15dcf9741f50f336d4db5

解决方案:

袋鼠云团队从CPU的负载和数据库等待事件出发,分析数据库和应用中存在的问题,并对安全、网络、IO、主机ECS、应用设计、以及SQL等多方面存在的问题与客户经过多次沟通之后,给出的方案如下:

o 数据库迁移到Linux系统;
o 利用云盘可随意挂载到ECS的特性,结合SLB,并使用袋鼠云EasyDB的HA模块,把数据库做成高可用模式;
o 考虑到电子商务平台的读特性,搭建Oracle DG,备库提供只读模式,Oracle HA+ADG见下图:
2d7b3a83fc9fc3f84b5cdc0977b9f1e839554a0d
Oracle HA+ADG架构图

o 使用EasyDB的备份模块,自动备份并上传至OSS;
o 利用EasyDB的TopSQL功能,找出占用资源严重的SQL语句,结合执行计划,优化SQL语句,同时调整表结构;
a4039546085883e2b445c553e7c61df3d83dddb8
EasyDB TopSQL 运维报告

o 考虑到读并发量的日趋增大,需要规划和指导开发人员完成redis缓存。
o 同时结合袋鼠云EasyDB提供一整套应用设计、数据库和未来3-5年的可行性云上高可用解决方案以及规划。

方案效果:

专业的服务态度,有效的技术方案,让该客户对袋鼠云连连称赞。
在袋鼠云实施完成并优化后,该电商平台双11当天该平台的网站点击量是之前的3倍多,效果远超出预期。

文中商品:
袋鼠云-Oracle11g镜像(11.2.0.4 Centos 6 64位 Java运行环境)
EasyDB: 一站式数据库管理平台,Oracle/MySQL DBA运维神器
数据库优化服务(Oracle性能优化/MySQL性能优化/SQLServer性能优化)

目录
相关文章
|
1月前
|
NoSQL 关系型数据库 MySQL
微服务架构下的数据库选择:MySQL、PostgreSQL 还是 NoSQL?
在微服务架构中,数据库的选择至关重要。不同类型的数据库适用于不同的需求和场景。在本文章中,我们将深入探讨传统的关系型数据库(如 MySQL 和 PostgreSQL)与现代 NoSQL 数据库的优劣势,并分析在微服务架构下的最佳实践。
|
1月前
|
设计模式 缓存 关系型数据库
探索微服务架构中的数据库设计挑战
微服务架构因其模块化和高扩展性被广泛应用于现代软件开发。然而,这种架构模式也带来了数据库设计上的独特挑战。本文探讨了在微服务架构中实现数据库设计时面临的问题,如数据一致性、服务间的数据共享和分布式事务处理。通过分析实际案例和提出解决方案,旨在为开发人员提供有效的数据库设计策略,以应对微服务架构下的复杂性。
|
2天前
|
存储 Oracle 关系型数据库
Oracle数据库的应用场景有哪些?
【10月更文挑战第15天】Oracle数据库的应用场景有哪些?
94 64
|
1天前
|
监控 Oracle 关系型数据库
Oracle数据库性能优化
【10月更文挑战第16天】Oracle数据库性能优化是
5 1
|
14天前
|
SQL 存储 Oracle
Oracle数据库SQL语句详解与应用指南
在数字化时代,数据库已成为各类企业和组织不可或缺的核心组件。Oracle数据库作为业界领先的数据库管理系统之一,广泛应用于各种业务场景。掌握Oracle数据库的SQL语句是数据库管理员、开发人员及运维人员的基本技能。本文将详细介绍Oracle数据库SQL语句的基本概念、语法、应用及最佳实践。一、Or
28 3
|
1月前
|
Oracle 关系型数据库 数据库
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
打开oracle数据库报错“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。 数据库没有备份,无法通过备份去恢复数据库。用户方联系北亚企安数据恢复中心并提供Oracle_Home目录中的所有文件,急需恢复zxfg用户下的数据。 出现“system01.dbf需要更多的恢复来保持一致性”这个报错的原因可能是控制文件损坏、数据文件损坏,数据文件与控制文件的SCN不一致等。数据库恢复工程师对数据库文件进一步检测、分析后,发现sysaux01.dbf文件损坏,有坏块。 修复并启动数据库后仍然有许多查询报错,export和data pump工具使用报错。从数据库层面无法修复数据库。
数据库数据恢复—Oracle数据库文件出现坏块的数据恢复案例
|
27天前
|
Oracle 关系型数据库 数据库
Oracle数据恢复—异常断电导致Oracle数据库数据丢失的数据恢复案例
Oracle数据库故障: 机房异常断电后,Oracle数据库启库报错:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。数据库没有备份,归档日志不连续。用户方提供了Oracle数据库的在线文件,需要恢复zxfg用户的数据。 Oracle数据库恢复方案: 检测数据库故障;尝试挂起并修复数据库;解析数据文件。
|
27天前
|
Oracle NoSQL 关系型数据库
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
主流数据库对比:MySQL、PostgreSQL、Oracle和Redis的优缺点分析
106 2
|
8天前
|
存储 Oracle 关系型数据库
【数据库-Oracle】《Oracle 数据库探秘:基础知识点全攻略》
《Oracle 数据库探秘:基础知识点全攻略》深入介绍 Oracle 数据库的基础知识点,包括数据类型、表结构、查询语句等。通过详细讲解、代码示例和流程图,帮助读者快速掌握 Oracle 数据库的基本操作,为数据库开发和管理打下坚实基础。
19 0
|
10天前
|
Oracle 关系型数据库 数据库
oracle数据恢复—Oracle数据库文件损坏导致数据库打不开的数据恢复案例
打开oracle数据库时报错,报错信息:“system01.dbf需要更多的恢复来保持一致性,数据库无法打开”。急需恢复zxfg用户下的数据。 出现上述报错的原因有:控制文件损坏、数据文件损坏、数据文件与控制文件的SCN不一致等。数据恢复工程师对数据库文件做进一步检测分析后发现sysaux01.dbf文件有坏块。修复sysaux01.dbf文件,启动数据库依然有许多查询报错。export和data pump工具无法使用,查询告警日志并分析报错,确认发生上述错误的原因就是sysaux01.dbf文件损坏。由于该文件损坏,从数据库层面无法修复数据库。由于system和用户表空间的数据文件是正常的,