某传统企业去O上云案例

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云原生数据库 PolarDB 分布式版,标准版 2核8GB
简介:

最近参与到某新能源制造企业去O上云的项目,网站的需求很简单:以WEB/APP 的形式提供数据查询展示、分析的功能。
网站使用java编写,数据库采用Oracle DataGuard 搭建的高可用架构。DG环境是找第三方公司来搭建的,过了维保期之后主库出了问题,客户根据维保手册自行将备库提升为主库,但DG环境却搭不起来。找数据库运维公司来搭建,要10WRMB(狠!),也就咬牙不搭建DG环境了。相当于数据库一直处于果奔状态。
数据库主要存储站点、设备状态、设备运行日志、发电量、二氧化碳减排量等数据。数据表不多,但单表数据量特别大。WEB站点大都以图表的形式展示日、月、年发电量、二氧化碳减排量、Input、Output数据。很遗憾,所有的统计数据都是在用户访问页面时实时计算得来的。
image

随着新能源产业的兴起,公司销售的设备也越来越多,收集到的数据量也越来越大,单表最高达2亿,多张表数据量相当可观。同时也因为页面响应越来越慢的原因,收到更多的用户投诉。
而此时用户已经感受到来自WEB架构、数据表扩展等的压力,通过一番咨询后,找到我们来优化架构,解决数据量越来越大,WEB访问越来越慢、便于开发维护的问题。
在对公司业务、WEB/APP的业务类型、数据量变化趋势及客户想要达到的数据入库速度、页面响应时间详细了解之后,开始架构优化和数据库改造计划。

大家都知道Oracle相较于其他开源或者非开源的数据库都有很大的优势,表现在OLTP、OLAP等事务操作,以及对过程、触发器、函数等的强烈支持。但在大数据表的处理及扩展方面的能力也一直被大家诟病。另外一面就是对非专业数据库管理人员来说,维护起来有很大的挑战,并且第三方的运维服务公司大都很贵!
出于易运维、可扩展的需求,推荐使用阿里云分库分表中间价DRDS+RDS数据库架构;并对当前实时数据统计的业务场景做了优化。
DRDS:https://help.aliyun.com/document_detail/29659.html?spm=5176.doc52009.6.539.xf7Rpp
RDS:https://help.aliyun.com/knowledge_detail/41872.html
解决的问题:
DRDS单实例可以和N个RDS实例组成分库分表集群,每个RDS会创建8个数据库,每个数据库可以根据拆分规则创建M个分表,最终一张大表的数据会均匀(理论上)的分布在NM8个数据表上,单表数据量直线下降。
阿里云提供DRDS、RDS管理控制台,实例CPU、内存、慢日志等等都可以直观的在页面展示,快速定位解决问题,节省人工运维的成本。
针对实时计算的业务类型,做了大量的代码层和数据库层改造。基本思想是将该类型的业务放到后台,以定时任务的方式去计算,不同需求的结果存储在不同的月、年统计表中,真正做到页面与数据库的交互只有简单的DML操作,减少响应时间提升客户体验。
image


多轮性能测试下来,在100并发下,单个页面最快响应时间可达到500ms以下,多个页面的性能测试响应时间也在2S以下。

去O改造的指导思想是:
梳理和拆分业务,将需要计算的事情交给后台JOB去做,页面对数据库的请求只有一次交互、且只是一次对表的查询操作,避免多次交互和大量的计算操作,提升性能。

相关实践学习
快速体验PolarDB开源数据库
本实验环境已内置PostgreSQL数据库以及PolarDB开源数据库:PolarDB PostgreSQL版和PolarDB分布式版,支持一键拉起使用,方便各位开发者学习使用。
目录
相关文章
|
7月前
|
存储 大数据 云计算
企业级服务:技术实现与业务价值
企业级服务:技术实现与业务价值
104 4
|
7月前
|
弹性计算 安全 关系型数据库
阿里云上云解决方案参考,多种技术与行业解决方案助力企业上云
对于初次上云的用户来说,参考一份适合自己行业的解决方案可帮助自己快速上手,并根据方案的内容选择适合自己的云产品进行方案部署。阿里云发布各种解决方案是基于众多客户上云的成功案例萃取而成的最优化企业上云指导,涵盖前端Web和移动应用程序开发、网站搭建、网络组网、数据库、迁云等众多上云项目。本文为大家汇总了一些上云解决方案的详情入口,方便大家快速查询与自己场景相符的解决方案。
1035 1
阿里云上云解决方案参考,多种技术与行业解决方案助力企业上云
|
存储 Cloud Native 大数据
浅谈传统企业的大数据平台如何上云
浅谈传统企业的大数据平台如何上云
|
运维 负载均衡 Kubernetes
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(2)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(2)
135 0
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(2)
|
消息中间件 运维 Kubernetes
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.2 云原生应用架构优势(上)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.2 云原生应用架构优势(上)
221 0
|
监控 Kubernetes Cloud Native
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.2 云原生应用架构优势(下)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.2 云原生应用架构优势(下)
202 0
|
消息中间件 JSON 运维
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(3)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(3)
125 0
|
数据库
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(4)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(4)
104 0
|
运维 Dubbo Java
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(1)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(1)
168 0
|
SQL Oracle 安全
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(5)
《快递行业云上技术服务白皮书》——4. 快递行业技术服务最佳实践——4.1 核心业务上云最佳实践——4.1.3 业务迁移上云最佳实践(5)
138 0