公司介绍

唱吧是一款免费的音乐内容社群应用,于2012年5月上线,仅用5天时间,便冲到App Store免费榜的榜首。上线3个月,唱吧就积累了上百万用户。从上线至今,唱吧发展盛势不减,已成长为中国最具人气的移动音乐社交APP。

业务痛点

使用 MaxCompute之前,唱吧使用自建体系来存储处理各端收集来的日志数据,包括请求访问记录、埋点数据、服务器业务数据等。初期这套基于开源组件的体系有力支撑了数据统计、业务报表、风控等业务需求。但随着每天处理数据量的增长,积累的历史数据越来越多,来自其他部门同事的需求越来越复杂,自建体系逐渐暴露出了能力上的短板。同时期,唱吧开始尝试阿里云提供的ECS、OSS等云服务,大数据部门也开始使用 MaxCompute来弥补自建体系的不足。

解决方案

在内部ELK实现的基础上,从自建机房向MaxCompute进行数据同步工作是比较简单的,实践中我们主要采取两种方式:一是利用阿里云提供的datahub组件,直接对接logstash;二是把待同步数据落地到文件,然后使用tunnel命令行工具上传至MaxCompute的对应表中。

图 1. 唱吧系统架构
唱吧系统架构
数据进入MaxCompute后,我们按照数据的主题和使用场景构造了三层结构:原始数据层ODS、中间数据层MDS、报表数据层DM。
  • ODS层中保存直接同步的数据,在此基础上加工整理到的原始表,例如增量同步的原MySQL表,经过风控清洗的访问日志表等。
  • MDS层存放原始层数据聚合、抽象加工过的结果,这一层的数据表更可读、读取计算时更经济,一般情况下要求其他部门的同事使用这一层的数据。
  • DM层是处理理的最终结果,支持QuickBI直接读取进行报表展示,同时也支持同步回自建机房,供其他业务使用。
下一步,对于MaxCompute我们有几个方向上的计划:
  • 利用机器学习能力,进一步挖掘数据的价值。
  • 对那些历史比较久的冷数据,利用MaxCompute的外表功能,定期转移至OSS等服务中,保证可读的基础上降低成本。
  • 评估阿里云的实时计算服务,作为自建体系的补充。

相关产品

  • 大数据计算服务 · MaxCompute

    MaxCompute(原ODPS)是一项大数据计算服务,它能提供快速、完全托管的PB级数据仓库解决方案,使您可以经济并高效的分析处理海量数据。

    更多关于阿里云MaxCompute的介绍,参见MaxCompute产品详情页

  • 对象存储OSS

    阿里云对象存储服务(Object Storage Service,简称 OSS),是阿里云提供的海量、安全、低成本、高可靠的云存储服务。其数据设计持久性不低于 99.9999999999%(12 个 9),服务设计可用性(或业务连续性)不低于 99.995%。

    更多关于对象存储OSS的介绍,参见对象存储OSS产品详情页

  • Quick BI

    Quick BI 专为云上用户量身打造的新一代智能BI服务平台

    更多关于Quick BI的介绍,参见Quick BI产品详情页

  • 云数据库RDS MySQL版

    MySQL 是全球最受欢迎的开源数据库之一,作为开源软件组合 LAMP(Linux + Apache + MySQL + Perl/PHP/Python)中的重要一环,广泛应用于各类应用场景。

    更多关于云数据库RDS MySQL版的介绍,参见云数据库RDS MySQL版产品详情页

  • DataHub

    数据总线(DataHub)服务是阿里云提供的流式数据(Streaming Data)服务,它提供流式数据的发布(Publish)和订阅(Subscribe)的功能,让您可以轻松构建基于流式数据的分析和应用。

    更多关于DataHub的介绍,参见DataHub产品详情页

  • 消息队列 Kafka 版

    消息队列 Kafka 版是阿里云基于 Apache Kafka 构建的高吞吐量、高可扩展性的分布式消息队列服务,广泛用于日志收集、监控数据聚合、流式数据处理、在线和离线分析等,是大数据生态中不可或缺的产品之一,阿里云提供全托管服务,用户无需部署运维,更专业、更可靠、更安全。

    更多关于消息队列 Kafka 版的介绍,参见消息队列 Kafka 版产品详情页