zoukankan      html  css  js  c++  java
  • 全球最大最强出行业务背后的数据库系统大揭秘

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~

    本文由腾讯云数据库 TencentDB发表于云+社区专栏

    摩拜单车是全球最大智能共享单车运营平台和移动物联网平台,其从成立到全球最大只用了不到3年的时间,每天产生超过30TB骑行数据,日均订单量超过3000万。而海量数据背后,是什么样的数据库系统支撑其称霸中国、新加坡、英国、意大利、日本、泰国、马来西亚、美国、韩国等 9 个国家超过 180 个城市,运营着超过 700 万辆摩拜单车,全球拥有最为全面的骑行大数据,为全球超过 2 亿用户提供着智能出行服务。

    ​ 摩拜单车成立于2015年1月到2016年整个技术团队仅有不到50人,后台开发只有十几人。十几个人面对高速增长的业务,要解决这么多问题,怎么办?摩拜非常明智地决定选择腾讯云。

    img

    ​ 摩拜单车是在2016年年底开始接入腾讯云的数据库服务的,最初的想法很直接,人力紧张,公司需要节约成本,聚焦增效。记得当时摩拜算了一笔很经济的账,自建MySQL数据库可能确实稳妥,但一系列数据安全、备份、监控等功能的开发和维护需要大概3+DBA的人力,半年以上的时间,在当时共享单车大战的局势下,摩拜需要举全公司人力聚焦在业务上,拥有强大技术实力、海量服务的腾讯云数据库,是摩拜单车业务不二的选择。

    TencentDB for MySQL数据库

    • 国际多项ISO认证,国内信息安全等保三级,网络层DDOS防护,SQL注入拦截,数据传输服务IPsec加密连接
    • 覆盖连接访问、负载、存储引擎等七十余项重要指标的全方位监控
    • 磁盘阵列存储硬件高可用,实时双机热备秒级切换,两地三中心的异地灾备
    • 备份、回档、监控、快速扩容、数据迁移等数据库运维全套解决方案,让客户简化运维工作,专注业务发展

    ​ 现如今,开发者希望他们的应用程序能够很好地被构建和有效扩展,为此,他们需要能够在同一应用程序中使用多个数据库和数据模型。这一点在摩拜单车的产品业务中得到了印证,摩拜将不同业务的要求结合数据库的特征进行数据库选型,拥有从关系型到NoSQL全系列产品的腾讯云数据库,全方位保障摩拜单车的业务场景。:单车订单业务上应用腾讯云MySQL、数据缓存方面应用腾讯云Redis、由于MongoDB对LBS查询的支持较为友好,一直是各大LBS服务商的首选数据库,于是腾讯云MongoDB也就成了摩拜在用户查找附近单车功能上的不二之选,同时在停车位置地理围栏切图上也应用了腾讯云PostgreSQL。

    img

    ​ 就像买东西一样,任何一个被用户选择的商品都会经得起货比三家,腾讯云数据库产品更是由于自身高可用的性能和7X24小时的专业服务方能得到摩拜等更多客户的信赖。摩拜在初期使用腾讯云MongoDB时,团队发现在业务使用geoNear功能查找附近的对象时,经常会发生慢查询较多的问题,早高峰压力是低谷时段的10-20倍,坐标不均匀的情况慢查询严重,濒临雪崩。经过团队分析发现,这些慢查询扫描过多的点集,之后通过控制每一圈搜索量的优化方式,同时为geoNear命令增加两个参数,将其传入NearStage中。该优化本质上是通过牺牲品质来尽快返回结果,而其实对于国内大部分LBS服务来说,完全的严格最近并不是必要的。后来该优化帮助摩拜提升了该业务10倍以上的性能,得到摩拜好评(详细优化方法,参考:https://cloud.tencent.com/developer/article/1006036).

    ​ 身处高速发展的互联网行业,无论是初创还是成长或是成熟型的互联网企业都必须让自身业务时刻保持着顽强的竞争力,方能利于不败之地。从摩拜对腾讯云数据库产品服务的应用历程中可以看到,腾讯云数据库产品服务的不断优化和完善会一直本着帮助每一个客户发现问题解决问题的宗旨,无论是有口皆碑的众多基础数据库产品,还是未来更多SaaS产品和即将C位出道的自研新型数据库产品CynosDB,一定会不负腾讯云数据库客户的期望,一直在努力!

    相关阅读
    【每日课程推荐】机器学习实战!快速入门在线广告业务及CTR相应知识

    此文已由作者授权腾讯云+社区发布,更多原文请点击

    搜索关注公众号「云加社区」,第一时间获取技术干货,关注后回复1024 送你一份技术课程大礼包!

    海量技术实践经验,尽在云加社区

  • 相关阅读:
    代码:城市名称的联想下拉框。可按拼音搜索、按汉字搜索,是一种很简单的实现方式
    代码:拖拽
    插件:zTree
    代码:遍历
    学习笔记:Stage.js(又叫Cut.js)——2D canvas 开发库,游戏方面的
    前端模块化、构建工具
    二级联动下拉菜单
    thinkphp的目录结构设计经验总结
    tp 路径表示
    liunx 根目录介绍
  • 原文地址:https://www.cnblogs.com/qcloud1001/p/9828964.html
Copyright © 2011-2022 走看看