作者:张鱼小丸子-PingCAP

原文来源: https://tidb.net/blog/d0c3b551

本文整理自 TUG 大使、随手科技大数据工程师韩超在 8 月 25 日 TUG 华南区首次线下活动 分享。

随手科技是国内领先的个人理财应用服务提供商,旗下拥有随手记、卡牛、随管家等多款明星产品,目前用户规模已超过三亿。

在随手科技的发展过程中,业务遇到的一些痛点包括:开发面对的数据库分库分表的问题,数据冷热分离相关的问题等。

在随手科技的大数据业务建设过程中,一些痛点有:数据落地过程流程长,OLTP/OLAP 分散于多个组件。

接下来随手科技看到了 TiDB,调研了 TiDB 及相关的工具和目前应用情况,了解到 TiDB 的特点:

  • 高度兼容 MySQL;
  • 能水平弹性扩展;
  • 支持分布式事物;
  • 是真正金融级的高可用;
  • 拥有一站式 HTAP 解决方案;
  • 是云原生 SQL 数据库。

基于此,随手科技最终选择了使用 TiDB。

目前随手科技使用 2.1.10 版本的 TiDB,采用三中心部署方案,部署了 6 台 TiDB 机器和 8 台 TiKV 机器,部署架构图如下。

随手记使用 TiDB 的具体场景

随手记使用 TiDB 有两个典型场景。

场景1

用户回滚账本到指定时间点,场景量级达到 20+表,10 TB+数据,百亿级数据量,千万级 OPS。

  • 前方案:使用的是 Hive及 HBase 两个方案,问题是入库合并时间长(Hive),校验及修复成本耗时高。
  • 现有方案:TiDB,通过调整快照时间,直接 SQL 查询,数据过程简单,修复及校验成本相对较低。

场景二

即时流量关联实时更新的存量数据。

业务:实时标签

场景:及时流量关联实时更新的存量数据

方案对比:

  • Hive: 满足不了实时性要求。
  • HBase、ES: 需要将流数据拆开请求得到结果,有一定开发成本,效率不高且对组件性能造成影响。
  • TiDB:使用 TiSpark,将 Kafka 的数据转换成结构化的临时表,跟 TiDB 实时同步的表进行关联。

遇到的问题及相应的解决方案

在使用 TiDB 的过程中,随手科技总结了一些遇到了问题及其解决方案,主要问题有:主键冲突,数据热点,Kafka, DM工具,Task 相关问题等。

展望未来

对于未来 TiDB 的使用,随手科技有一些相应的规划:

  • 积极推广 TiDB,从边缘到核心逐渐渗透,挖掘更多 TiDB 场景。
  • 贴近社区,提升能力,回馈社区。
  • 评估测试 TiDB 升级 3.0+ 版本。

随手科技的 TiDB 实践分享完之后,现场也有很多小伙伴们积极提出了一些问题。

Q&A

Q: 从开始调研到第一个集群上线大概多长时间?

A: 这个跟很多东西有关,我们其实今年三四月份才正式往下推。一开始是测试,测试的时候集群规模小,但其实更能暴露出来集群到了瓶颈点的问题,我们也做了很多可用性的测试以及暴力的测试,结果基本符合预期,然后我们选择符合场景的现有业务,迁移上去做试点,整个到上线时间大概花了几个月。

Q : 因为 to B 这一块,其实需要上层做决定,要去推业务,我们需要去说服老大去采纳技术,随手科技这边有没有什么样的杀手锏或者方案,可以分享一下这方面的故事或者一些经验?

A: 这个要分情况,我们老大本身就对 TiDB 有所了解,所以本身就很支持这个事情。

Q : 我想问一下,刚刚那个图表里面不是有排查嘛,排查过程是怎么样的,或者让同事他们首先可以去找,要不然找 issue 的话可能 contributor 会去做,如果想找问题的话要去哪找比较快或者更好上手?刚那个表那个里面有些排查还是非常重。

A: 因为有问题的话,其实我们首先反复进行了验证,确认不是因为我们误操作造成的。比如 DM 同步,我们做了挺多遍,首先确认我们没有误操作,第二确认数据在什么情况丢,在哪个阶段丢,丢的时候是哪个组件引发的。

我们的场景是分库分表合库,而且是几十个分库,量也大。这个过程是同步结束后,我们数据校验时发现一部分数据损失,并且是挺老的数据,我们重复同步了几次,均会有相同情况。接着丢失的数据都会在 DM 第一步 dump 下来的 SQL 文件出现。所以我们确认是在 Load 阶段发生的。丢失会丢掉整条insert sql,里面可能有几千行数据。然后 DM 会有一些报错,比如 server busy,连接丢失等。我们也试过把一个task 分批,几个 worker 跑完再起几个来降低 TiDB 压力,这种情况下不会丢失。所以我们把问题确定时 load 时发生异常的情况下 savepoint 应该有问题,然后我们将问题整理并反馈 TiDB 的同事,他们很重视并很积极的帮助我们,安排专人对接并排期解决,在此也非常感谢 TiDB 的小伙伴。

【精选实践】随手科技在 TiDB 的探索之路相关推荐

  1. 随手科技累计用户超3亿 领跑互金App

    近日,网贷之家联合盈灿咨询对外发布了<2017年1月互金平台移动影响力百强榜单报告>,旨在反映互金平台在移动端的影响力情况.随手科技旗下两款产品随手记与卡牛信用卡管家入围百强榜单,更分别以 ...

  2. 节能减排社会实践 与科技竞赛作品申报书

    节能减排社会实践与科技竞赛作品申报书 ,主要用于参加学校的各种科技比赛,下文是我本科时参加的一个科技比赛,有需要的可以直接拿来用,加拓展分什么的 作品名称 基于my RIO的节能减排小车 作品摘要 ( ...

  3. 全国大学生节能减排社会实践与科技竞赛最新作品模板资料国家一等奖完整申报书说明书ppt

    全国大学生节能减排社会实践与科技竞赛最新作品模板资料国家三等奖分享 全国大学生节能减排社会实践与科技竞赛最新作品模板资料国家三等奖​ex59573j43x.feishu.cn/docx/TTRBdRZ ...

  4. 随手记安全吗?随手科技获选深圳市南山区“绿色通道”企业

    中国网7月20日讯:6月26日上午,深圳市南山区对辖区经济社会发展做出突出贡献的纳税百强企业代表进行表彰,并为南山区总部企业和绿色通道企业授牌.随手科技等686家企业获选南山区"绿色通道&q ...

  5. 随手科技企业入选互联网金融协会增选常务理事,消除随手记投资靠谱吗

    近期,中国互联网金融协会第一届常务理事会2018年第一次会议在北京召开.协会李东荣会长,副会长文海兴.郭宁宁.谢一群.江阳,陆书春秘书长,朱勇秘书长助理等协会领导以及各常务理事代表出席会议.监事单位代 ...

  6. 【精选实践】TiDB 在丰巢核心支付平台百亿级数据的深度实践

    原文来源: https://tidb.net/blog/945bb4fc 作者:刘光亮,丰巢中间件负责人,TiDB User Group Ambassador 丰巢第一次在生产环境实际使用 TiDB, ...

  7. 精选实践 | 爱奇艺实用数据库选型树:不同场景如何快速选择数据库?

    作者 | 郭磊涛 爱奇艺数据库和中间件负责人 TiDB User Group Ambassador 来源 | 授权转载自AskTUG 本文系 TUG 线下活动 "不同业务场景下的数据库技术选 ...

  8. Mesos在传统金融企业的实践——平安科技陈秋浩实录分享

    http://www.360doc.com/content/16/0429/19/21340737_554866984.shtml Padis平台的成长史 刚才有一个关键词叫Padis,Padis是P ...

  9. 方正证券:新一代认证核心系统换代升级,坚持实践金融科技全栈自主可控

    欢迎访问 OceanBase 官网获取更多信息:https://www.oceanbase.com/ 作者 / 方正证券信息管理部 白凡 本文来源 / 金融电子化 随着互联网.云计算.大数据等的普及应 ...

最新文章

  1. 信息系统项目管理师-项目集、项目组合管理核心知识点思维脑图
  2. ITK:创建拉普拉斯内核
  3. 退耦电容,旁路电容和滤波电容的一些区别?
  4. HDU - 5658 CA Loves Palindromic(回文自动机/哈希+树状数组)
  5. 协同过滤进化版本NeuralCF及tensorflow2实现
  6. 编写代码的工作在哪找_编写事件代码如何帮助我获得了出色的工作
  7. Android客户端应用享用传统Web服务
  8. Linux内核源码分析--内核启动之(1)zImage自解压过程(Linux-3.0 ARMv7)
  9. 源码安装php5.5
  10. java 动态修改prooper_java中OOP自己总结的知识点
  11. html内编写vbs,HTML_VBS编程教程 (第2篇),第二篇: 我真没想到, - phpStudy
  12. android 微信浮窗实现_Android仿微信文章悬浮窗效果
  13. c语言字符串把小写转换大写字母,c语言将字符串中的小写字母转换成大写字母分享...
  14. http请求状态码有哪些?分别代表什么意思?
  15. c语言实现计算函数在某点的导数近似值
  16. 【渝粤题库】陕西师范大学100111 计算机应用基础 作业 (高起专)
  17. xp无法搜索计算机,xp系统的笔记本电脑为什么搜不到手机热点的信号
  18. 计算机检索中各符号表示含义,文献检索中符号的含义这些符号在文献检索中的含义:AND、 OR、 NOT、 (W)、 TI、 W/s、 AU、 LENG...
  19. Directional库的学习记录
  20. LMS原理推导及代码实现

热门文章

  1. 如何撰写一篇好的英文论文(感谢导师的指导,学到很多)
  2. 微信小程序 - 实现车牌输入功能,自定义车牌号输入法组件(键盘弹出后输入车牌号,可自定义各地区及界面样式)超详细注释组件插件示例源码
  3. 农业病虫害数据集与算法——调研整理
  4. 设计模式(0):UML类图(Class Diagram)
  5. 2008 R2 Remote Desktop Server driver RDPDR.sys cannot be started, error 577
  6. mysql导入数据时 USING BTREE 错误解决办法
  7. matlab 多子图_matlab 多子图的绘画
  8. 可视化神器Plotly玩转多子图绘制
  9. 信号、signal 函数、sigaction 函数
  10. Windows RDS远程会话服务