云数据库GaussDB(for MySQL),商业数据分析场景的全新体验【GaussDB(for MySQL)】
商业数据分析的手工时代
业务场景
某公司为自己新上市的产品运营投入了30000元,现在需要分析用户行为数据和充值情况计算投入产出比(ROI)。
实现方案
以往,我遇到上面描述的业务场景,会设计以下步骤实现最终的功能。
步骤一:提取关键字
首先要进行的便是关键字提取,提取到的关键字主要用于和数据库的字段做对应
关键字 |
描述 |
投入 |
运营投入 |
收入 |
实际收入 |
用户行为 |
充值、非充值 |
用户类型 |
月卡、充值 |
充值金额 |
实际支付金额 |
步骤二:数据库字段映射
关键字 |
字段 |
投入 |
investment_amount |
收入 |
income_amount |
用户行为 |
user_activity |
用户类型 |
user_type |
充值金额 |
charge_amount |
步骤三:设计SQL查询语句
汇总所有的充值记录,将获取的求和结果与投入做对比。
SELECT
ROUND(SUM(charge_amount) / SUM(activity_amount), 2) AS inout_ratio
FROM (
SELECT
SUM(c.amount) AS charge_amount,
SUM(a.occurrence_count) AS activity_amount
FROM
(SELECT user_id, COUNT(*) AS occurrence_count FROM user_activities GROUP BY user_id) a
JOIN
(SELECT user_id, SUM(amount) AS amount FROM user_charges GROUP BY user_id) c
ON
a.user_id = c.user_id
) AS user_stats;
小结
手工时代,每个步骤都需要开发者进行设计和实现,其中还不乏一些不同但是相似的业务需求。
此外,对于复杂的业务场景,对性能有更高的要求,这样一来开发成本会更高。
或许,借助第三方的产品会是一个不错的选择。
比如云数据库GaussDB(for MySQL)。
GaussDB(for MySQL)
一分钟了解它
GaussDB(for MySQL)是华为自研的新一代企业级高扩展海量存储云原生数据库,兼容MySQL。基于华为新一代DFV存储,采用计算存储分离架构,128TB的海量存储,数据0丢失,既拥有商业数据库的高可用和高性能,又具备开源低成本效益。
它的产品优势
GaussDB(for MySQL)作为计算存储分离、云化架构的企业级云数据库,有以下产品优势:
超高性能
对于某些业务负载,吞吐量最高可提升至开源MySQL7倍,可达百万级QPS。
高扩展性
- 横向扩展:支持分钟级添加只读节点,最大支持15只读,解决性能扩展问题。
- 纵向扩展:支持规格升级,应对不确定的业务增长。
- 存储扩展:根据数据容量自动弹性伸缩,无须提前规划容量,最大支持128TB,解决海量数据问题。
高可靠性
支持跨AZ部署、异地容灾,金融级别可靠性。
跨AZ部署,数据三副本,安全性有保障。
高兼容性
100%兼容MySQL,应用上云无须改造。
超低成本
十分之一的商用数据库成本。
非中间件式架构
业务性能正常情况下,无需搭载分布式数据库中间件分库分表。
它的典型场景
GaussDB(for MySQL)完善的解决方案满足多样化需求。
- 金融行业:稳定可靠、安全容灾
- 互联网行业:弹性高扩展、高稳定
GaussDB(for MySQL)实现商业数据分析
业务场景
依旧是之前的业务场景:
某公司为自己新上市的产品运营投入了30000元,现在需要分析用户行为数据和充值情况计算投入产出比(ROI)。
我们来看看怎么使用GaussDB(for MySQL)更便捷、更快速的实现它。
GaussDB(for MySQL)实验
步骤一:购买并创建实例
1、购买华为云数据库GaussDB(for MySQL)。
该过程可以参考帮助文档:购买并通过MySQL客户端连接GaussDB(for MySQL)实例
2、实例创建之后,运行状态是创建中,登录按钮不可用,需要等到运行状态为正常,登录按钮才可用。
步骤二:实例登录
实例创建完成并成为正常状态之后,便可以进行登录操作了。
步骤三:创建数据库并导入数据表
1、创建数据库:
2、导入数据脚本userdate.sql
- 点击“导入·导出”,选择导入。
- 进入导入页面,选择“新建任务”。
- “新建任务”弹窗,填写表单项。
步骤四:获取关键业务汇报数据
1、返回“SQL查询”页面
2、计算本次运营活动的ROI
步骤五:删除数据库实例,防止继续扣费
1、删除导入任务
2、删除实例
3、删除桶
优化建议
1、购买页面的实例类型选项与解释说明中的名称不一致
根据帮助文档里面的购买实例可以了解到,之前实例类型是主备和单击,现在购买页面改成了集群和单机,但是帮助文档中没有更新。
总结
对比手工时代和云数据库GaussDB(for MySQL)对商业数据分析实现的能力,不难发现,云数据库GaussDB(for MySQL)不但帮开发者省去了复杂的开发环节,而且查询能力的结果准确度高、执行速度快。
使用体验上,云数据库GaussDB(for MySQL)流程简洁、上手快,对使用者的技术要求几乎没有,可以方便更多有业务场景需要但是没有相关技术的用户,十分友好。
另外,我在细读产品文档时,发现云数据库GaussDB(for MySQL)提供了支持多样化业务场景的能力,比如只读实例,很适合我们写少读多的网站业务。
后续我将继续体验GaussDB(for MySQL),期待在GaussDB(for MySQL)的加持下,帮助我完成更多的业务场景的实现。
我正在参加【体验云数据库GaussDB(for MySQL)即抽奖,征文赢华为云开发者定制大礼包!】征文活动
- 点赞
- 收藏
- 关注作者
评论(0)