云数据库GaussDB(for MySQL),商业数据分析场景的全新体验【GaussDB(for MySQL)】

举报
叶一一 发表于 2024/11/12 17:38:42 2024/11/12
【摘要】 商业数据分析的手工时代业务场景某公司为自己新上市的产品运营投入了30000元,现在需要分析用户行为数据和充值情况计算投入产出比(ROI)。实现方案以往,我遇到上面描述的业务场景,会设计以下步骤实现最终的功能。步骤一:提取关键字首先要进行的便是关键字提取,提取到的关键字主要用于和数据库的字段做对应关键字描述投入运营投入收入实际收入用户行为充值、非充值用户类型月卡、充值充值金额实际支付金额步骤二...

商业数据分析的手工时代

业务场景

某公司为自己新上市的产品运营投入了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)完善的解决方案满足多样化需求。

  • 金融行业:稳定可靠、安全容灾
  • 互联网行业:弹性高扩展、高稳定

1.jpg

GaussDB(for MySQL)实现商业数据分析

业务场景

依旧是之前的业务场景:

某公司为自己新上市的产品运营投入了30000元,现在需要分析用户行为数据和充值情况计算投入产出比(ROI)。

我们来看看怎么使用GaussDB(for MySQL)更便捷、更快速的实现它。

GaussDB(for MySQL)实验

步骤一:购买并创建实例

1、购买华为云数据库GaussDB(for MySQL)。

该过程可以参考帮助文档:购买并通过MySQL客户端连接GaussDB(for MySQL)实例

2.png

2、实例创建之后,运行状态是创建中,登录按钮不可用,需要等到运行状态为正常,登录按钮才可用。

3.jpg

步骤二:实例登录

实例创建完成并成为正常状态之后,便可以进行登录操作了。

4.jpg

步骤三:创建数据库并导入数据表

1、创建数据库:

5.jpg

2、导入数据脚本userdate.sql

  • 点击“导入·导出”,选择导入。
  • 进入导入页面,选择“新建任务”。
  • “新建任务”弹窗,填写表单项。

6.jpg

步骤四:获取关键业务汇报数据

1、返回“SQL查询”页面

7.jpg

2、计算本次运营活动的ROI

8.jpg

步骤五:删除数据库实例,防止继续扣费

1、删除导入任务

9.jpg

2、删除实例

10.jpg

3、删除桶

11.jpg

优化建议

1、购买页面的实例类型选项与解释说明中的名称不一致

根据帮助文档里面的购买实例可以了解到,之前实例类型是主备和单击,现在购买页面改成了集群和单机,但是帮助文档中没有更新。

12.jpg

总结

对比手工时代和云数据库GaussDB(for MySQL)对商业数据分析实现的能力,不难发现,云数据库GaussDB(for MySQL)不但帮开发者省去了复杂的开发环节,而且查询能力的结果准确度高、执行速度快

使用体验上,云数据库GaussDB(for MySQL)流程简洁、上手快,对使用者的技术要求几乎没有,可以方便更多有业务场景需要但是没有相关技术的用户,十分友好。

另外,我在细读产品文档时,发现云数据库GaussDB(for MySQL)提供了支持多样化业务场景的能力,比如只读实例,很适合我们写少读多的网站业务。

后续我将继续体验GaussDB(for MySQL),期待在GaussDB(for MySQL)的加持下,帮助我完成更多的业务场景的实现。


我正在参加【体验云数据库GaussDB(for MySQL)即抽奖,征文赢华为云开发者定制大礼包!】征文活动

征文链接:https://bbs.huaweicloud.com/blogs/436298

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。