说到“大数据”,当下这个词很火,各行各业涉及到数据的,目前都在提大数据,提数据仓库,数据挖掘或者机器学习,但同时另外一个热门的名词也很火,那就是“云”。越来越多的企业都在搭建属于自己的云平台,也有一些会选择使用技术比较成熟的云商业化产品服务,比如阿里云的分析型数据库产品。本文将结合我们自己企业内部正在使用的阿里云产品分析型数据库PostgreSQL(下文都将称为AnalyticDB PostgreSQL版)来浅谈一下云业务场景下的数据实践。

1.悠星网络介绍

悠星网络科技有限公司成立于2014年,是一家以网络游戏为发展起点,集技术开发、内容研发、全球发行、产业投资、及IP管理为一体的互联网公司。作为目前国内顶尖的二次元研发、发行及投资商,悠星已经在日本及欧美成功发行了《碧蓝航线》,研发了包括《诺诺来自异世界》在内的高质量二次元产品,并且投资了行业顶尖研发商 - 上海鹰角网络科技有限公司(代表作《明日方舟》),即将在明年在日韩欧美发布《明日方舟》。未来悠星将继续深入挖掘二次元市场领域,立志与全世界玩家分享最优秀的二次元产品。

2.悠星BI面临的挑战

悠星发行游戏的总注册用户超过1000万人,业务数据表超过450张,总数据量超过170亿条,总数据量超7TB。作为以精准投放,精细化运营为主要优势的海外游戏发行公司,如何使用宝贵的游戏玩家行为数据成为了投放与发行部门的重中之重。
挑战1:海量数据的存储
在如此海量的数据面前,使用传统的关系型数据库已经捉襟见肘,是选择自建数据库集群还是选择阿里云的成熟产品,已经到了必须做出权衡的时候。
挑战2:海量数据计算的时效性
在海量数据存储的解决的前提下,如何将海量数据盘活,很好的为各个业务部门服务又成为了问题。由于悠星游戏发行主要聚焦于海外,由于时区的限制,从游戏数据完成采集到业务需要查看数据的时间点,只有2-3小时的时间,如何在有限的时间内,完成数据计算以报表的形式展现给业务部门自然又是一个难点。

3.为什么我们会选择阿里云AnalyticDB PostgreSQL版

阿里云AnalyticDB PostgreSQL版基于开源项目Greenplum构建,由阿里云深度扩展,兼容ANSI SQL 2003,兼容PostgreSQL/Oracle数据库生态,支持行存储和列存储模式。既提供高性能离线数据处理,也支持高并发在线分析查询,是各行业有竞争力的PB级实时数据仓库方案。

阿里云的以下特性吸引了我们使用使用:

  1. 支持标准SQL,OLAP窗口函数,存储过程:我司的程序原本大多是针对MySQL开发的,使用AnalyticDB PostgreSQL版几乎可以无缝的迁移过去,迁移成本较低。
  2. MPP多节点全并行计算、高吞吐数据写入及更新、行存储及多种索引,PB级数据秒级响应:基于AnalyticDB PostgreSQL版的架构可以实现多节点并行计算,PB级数据秒级响应,解决了我们海量数据计算时间窗口短的痛点。
  3. 阿里云专业数据团队支持:众所周知阿里集团内大量业务也是依靠本身的大数据团队支持,有这样的专业团队为我们保驾护航,使我们的数据团队能更专注在数据处理更好的为业务部门服务上,大大提高工作效率。

4.悠星BI基于AnalyticDB PostgreSQL版的业务架构演进

1.架构V1.0:拖拉机

最初的架构由于需求紧急,只做了最简单的架构,我为什么称之为拖拉机,因为数据处理过程只有AnalyticDB 数据入库以后,Tableau从AnalyticDB把数据拖拉过来一个过程,而且由于数据量庞大,拉取全表数据时间较长,Tableau的计算能力也有限,整个报表刷新时间非常长,基本上在小时级别。

2.架构V2.0:厢式货车

由于数据量的不断增加,1.0的拖拉机已经完全无法满足我们复杂的报表需求,于是我们增加了Azkaban,利用Azkaban调度ETL脚本每天定时预处理从游戏中获取的数据,但是Tableau还是全量拉取表中数据,对于数据刷新时间的提高并不大。所以我称他为厢式货车,装了满满的数据,但是速度并不快。

3.架构V3.0:和谐号

当友商也开始使用我们的系统以后,数据量开始爆炸性增长,厢式货车再也拉不动货了。于是我们又进入了现有的架构V3.0:和谐号。我们在研究后发现先前并没有太多的使用AnalyticDB PostgreSQL版的计算性能,于是我们决定整理所有的报表需求,利用AnalyticDB的强大计算性能,预先将结果集从源库中计算完,并新建落地库落地,Tableau只需拉取结果集就可以完成数据刷新。这样我们的查询的速度得到了大大的提高,就像和谐号一样,只带着我们需要的数据快速的赶来。

5.AnalyticDB PostgreSQL版给我们带来的变化

阿里云的AnalyticDB团队在我们使用期间高效的保障了我们的BI系统,借助于AnalyticDB的强大性能,在现有的海量数据面前我们的数据团队也无所畏惧,可以轻松的存储并计算出我们需要的数据。
未来,悠星网络会放眼于大数据分析与与深度学习等技术领域,同样需要强大的数据库支持,希望我们与阿里云能共同成长,共同进步。

本文作者:onizuka8339

原文链接

本文为云栖社区原创内容,未经允许不得转载。

悠星网络基于阿里云分析型数据库PostgreSQL版的数据实践的更多相关文章

  1. 什么是分析型数据库PostgreSQL版

    分析型数据库PostgreSQL版(原HybridDB for PostgreSQL)为您提供简单.快速.经济高效的 PB 级云端数据仓库解决方案.分析型数据库PostgreSQL版 兼容 Green ...

  2. 阿里下一代云分析型数据库AnalyticDB入选Forrester云化数仓象限

    前言 近期, 全球权威IT咨询机构Forrester发布"The Forrester Wave: CloudData Warehouse Q4 2018"研究报告,阿里巴巴分析型数 ...

  3. 阿里巴巴下一代云分析型数据库AnalyticDB入选Forrester Wave™ 云数仓评估报告 解读

    前言近期, 全球权威IT咨询机构Forrester发布"The Forrester WaveTM: CloudData Warehouse Q4 2018"研究报告,阿里巴巴分析型 ...

  4. 更强大的实时数仓构建能力!分析型数据库PostgreSQL 6.0新特性解读

    阿里云 AnalyticDB for PostgreSQL 为采用MPP架构的分布式集群数据库,完备支持SQL 2003,部分兼容Oracle语法,支持PL/SQL存储过程,触发器,支持标准数据库事务 ...

  5. Swoole一键操作基于阿里云的RDS数据库迁移+OSS文件搬迁

    传统的数据库搬迁思路是把数据库表的结构及数据都查询出来,然后通过循环进行数据结构重组拼接.然后导出!数据量少的话,这样当然是没毛病.当数据量太大的时候,服务器的内存开销就吃不住了,很容易炸掉,导致服务 ...

  6. 基于阿里云的JavaEE系统框架介绍

    基于阿里云的系统框架展望 1) CDN 用于缓存静态文件等等.七牛和阿里的都还可以. 七牛要做的久一点,各种图片处理的接口要完善一些 阿里的CDN要稍微好一点点,但是没有不安全的访问方式,访问稍微没有 ...

  7. 基于阿里云SLB/ESS/EIP/ECS/VPC的同城高可用方案演练

    今天基于阿里云SLB/ESS/EIP/ECS/VPC等产品进行了一次同城高可用方案演练: 基本步骤如下: 1. 在华东1创建VPC网络VPC1,在华东1可用区B和G各创建一个虚拟交换机vpc1_swi ...

  8. 基于阿里云容器服务用docker容器运行ASP.NET 5示例程序

    小试阿里云容器服务 之后,接下来有一个挡不住的小试冲动--用docker容器运行程序.首先想到的程序是 ASP.NET 5示例程序,于是参考msdn博客中的这篇博文 Running ASP.NET 5 ...

  9. 一·创建Linux服务器(基于阿里云)

    本系统是基于阿里云服务器,购买请前往https://www.aliyun.com/?spm=5176.8142029.388261.1.taXish ,由于经济能力的限制,本人购买的是最低配置如下 其 ...

随机推荐

  1. Axure教程:如何使用动态面板?动态面板功能详解

    写了几个Axure教程之后发现,可能教程的起点有些高了,过分的去讲效果的实现,而忽略了axure功能以及基础元件的使用,那么从这个教程开始,把这些逐渐的展开讲解. 关于Axure动态面板 动态面板是a ...

  2. python 模拟键盘输入

    备忘录 import win32api import win32con win32api.keybd_event(17,0,0,0) #ctrl键位码是17 win32api.keybd_event( ...

  3. 不同版本springboot上传文件大小设置

    参考原文:https://blog.csdn.net/awmw74520/article/details/70230591 Spring Boot 1.3.x或者之前 multipart.maxFil ...

  4. 嘴巴题7 BZOJ1426: 收集邮票

    Time Limit: 1 Sec Memory Limit: 162 MB Submit: 546 Solved: 455 [Submit][Status][Discuss] Description ...

  5. 【NOIP2018模拟11.01】树

    题目 描述 题目大意 维护一个序列,支持三种操作: 1.修改一段区间,将这段区间内的所有数都andandand一个数. 2.询问区间和. 3.询问区间两两相加的平方和. N≤10000N\leq 10 ...

  6. 阿里云提供全托管 ZooKeeper

    自 2010 年左右第一次引入以来,Apache ZooKeeper 目前在阿里巴巴集团内部已经有了将近 10 年的发展,使用的场景非常广泛,基于 ZooKeeper 强一致性的特点,被用在了分布式锁 ...

  7. Nginx 的常用命令

    nginx命令,先来一波基本操作: start nginx // 启动Nginx nginx -t // 测试配置文件 nginx -v // 查看Nginx版本 nginx -V // 查看Ngin ...

  8. 机器学习入门:K-近邻算法

    机器学习入门:K-近邻算法 先来一个简单的例子,我们如何来区分动作类电影与爱情类电影呢?动作片中存在很多的打斗镜头,爱情片中可能更多的是亲吻镜头,所以我们姑且通过这两种镜头的数量来预测这部电影的主题. ...

  9. 【agc019f】AtCoder Grand Contest 019 F - Yes or No

    题意 有n个问题答案为YES,m个问题答案为NO. 你只知道剩下的问题的答案分布情况. 问回答完N+M个问题,最优策略下的期望正确数. 解法 首先确定最优策略, 对于\(n<m\)的情况,肯定回 ...

  10. 【arc072f】AtCoder Regular Contest 072 F - Dam

    题意 有一个体积为L的水池,有N天 每天早上进水Vi体积的Ti温度的水. 每天晚上可以放掉任意体积的水. 问每天中午,水池满的情况下,水温最高多少. 水的温度只受新加进的谁的影响,对于水\(W1(T1 ...