咕咚运动数据存储实践

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
对象存储 OSS,标准 - 本地冗余存储 20GB 3个月
对象存储OSS,敏感数据保护2.0 200GB 1年
简介: 摘要:6月29日2016云栖大会成都峰会拉开帷幕,咕咚运动运维负责人李锐带来了“咕咚运动数据存储实践”的重要演讲。从咕咚APP的性质和目标,谈到互联网OLTP模型,重点介绍了分布式数据库和对象存储的应用,最后也简要的介绍了互联网OLAP模型。让我们一起先睹为快吧——


咕咚APP——综合运动社交平台

 

 

咕咚APP致力于打造运动社交综合型平台,目前咕咚APP所涵盖人群包括:跑步、健走、骑行、游泳、滑雪、篮球、足球等多个领域,并为其提供相应功能进行承载。

 

咕咚APP有稳定的GPS轨迹记录及全面的数据存储,满足运动人群对于个体/群组的社交需求。咕咚APP已经拥有近5000万注册用户,日活人数450万+人,致力于为平台上千万运动爱好者,打造专属的运动功能、社交功能、以及独特的O2O功能。

 

 

互联网OLTP模型

 

 

缓存(ECS(redis&&twemproxy)+SLB)


 

 

队列

 

 

经历的阶段:

◆ Redis:单线程,扩展性不强,不支持ack。

◆ RabbitMQ:集群方案常出问题,并且无法获取error log,出问题后很难定位。

◆ 阿里云MQ方案:无单点,无瓶颈,可自由扩展,支持重试机制。

 

 

数据库(RDS MySQL)

 

 

1. 托管的数据库服务。

2. 全方位的基础监控,权限控制。

3. 高可用性,无感知自动切换主备。

4. 弹性升级配置。

5. 相关配套中间件功能强大,比如DRDS,DTS。

 


海量数据存储方案(PreSharding+DRDS)

 

 

对象数据存储(OSS咕咚路线详情数据)

 

OSS的优势表现在以下几点:

 

1. 海量扩展性。

2. 高可用性 (可用性不低于99.9% ; 持久性10个9)。

3. 安全性(提供白名单,防盗链,主子账号功能)。

4. 成本低。

5. 团队的快速响应(咕咚提出的对OSS监控的需求,开发到上线非常迅速)。

 

OSS适合在图片、音视频、日志、数据库备份集&& binlog等场景中应用。那么,咕咚从OSS获得了哪些便利?主要有以下三个方面:

 

1. 从RDS迁移到OSS成本降低了90%以上。

2. 天然多重副本,不用再考虑灾难备份。

3. 分布式设计,不用再考虑扩展性。

 

归档数据(OAS)

 

1. 价格非常便宜,支持断点续传。

2. 单个文件最大支持40TB。

3. 适合用来存储归档数据。

 

互联网OLAP模型

 

 

移动端日志采集

 

 

1. 通用的SDK,来代替原有的埋点API,更加稳定。

2. 多维的报表数据。

3. 相关crash信息。

4. 日志数据可统一推到ODPS做进一步的分析处理。

 

 

数据仓库(ODPS)

 

1. 托管的数据仓库方案。

2. 分布式列式数据库模型,强大的计算能力,高压缩比。

3. 支持sql,MapReduce。

4. 无缝抽取分布式RDS数据,集中化数据处理。

 

 

 

 

本文根据咕咚运动运维负责人李锐在6月29日举办的2016云栖大会·成都峰会上的演讲整理而成。

 

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
Linux 数据安全/隐私保护
centOS 7无法连接网络详细解决办法
centOS 7无法连接网络详细解决办法
2358 0
centOS 7无法连接网络详细解决办法
|
存储 缓存 关系型数据库
阿里云数据库 SelectDB 多计算集群核心设计要点揭秘与场景应用
在云原生存算分离架构下,多计算集群的实现从技术方案上看似乎并不存在过多难题。但从产品的角度而言,具备成熟易用的多计算集群能力且能运用于用户实际业务场景中,还有较多核心要点需要深度设计
387 23
阿里云数据库 SelectDB 多计算集群核心设计要点揭秘与场景应用
软件复用问题之衡量是否应该复制或复用代码,如何解决
软件复用问题之衡量是否应该复制或复用代码,如何解决
|
11月前
|
存储 安全 算法
陪玩系统功能 陪玩平台 陪玩系统用户体验 陪玩系统安全性 陪玩系统开发
陪玩系统旨在为用户寻找合适的陪玩者,提供注册登录、资料展示、搜索匹配、预约支付、实时沟通及评价反馈等功能。平台拥有丰富的陪玩资源,便捷的预约流程,安全的支付环境和良好的用户体验。系统通过优化算法、提升沟通效率、丰富服务内容和建立社区互动来提升用户体验。安全性方面,系统采用数据加密、防火墙、支付安全和实名认证等措施。开发过程包括需求分析、系统设计、前后端开发、测试优化和上线推广。
950 2
|
芯片
STM32速成笔记(二)—GPIO
本文介绍了STM32的GPIO的配置和使用方法,并且给出了应用实例。此外,针对使用时可能遇到的一些问题给出了解决办法。
1039 0
STM32速成笔记(二)—GPIO
|
人工智能 分布式计算 数据可视化
大模型私有化部署全攻略:硬件需求、数据隐私、可解释性与维护成本挑战及解决方案详解,附示例代码助你轻松实现企业内部AI应用
【10月更文挑战第23天】随着人工智能技术的发展,大模型在各领域的应用日益广泛。然而,将其私有化部署到企业内部面临诸多挑战,如硬件资源需求高、数据隐私保护、模型可解释性差、更新维护成本高等。本文探讨了这些挑战,并提出了优化硬件配置、数据加密、可视化工具、自动化更新机制等解决方案,帮助企业顺利实现大模型的私有化部署。
948 1
|
小程序 安全 数据库连接
为什么已经提交的小程序无法连接后台服务?
【10月更文挑战第17天】为什么已经提交的小程序无法连接后台服务?
1232 0
|
网络协议 安全
QT多线程
本文详细介绍了在Qt中如何正确使用QThread以及信号槽跨线程的使用方式,包括线程的正确退出方法和QObject在不同线程中创建子对象时可能遇到的问题。同时,文章还提供了相关博客和资料的链接,用于进一步学习和参考。
339 3
|
SQL 存储 分布式计算
Iceberg原理和项目使用技巧
Iceberg原理和项目使用技巧
1521 0