您的位置:首页 > 互联网

58集团 x DorisDB:全面升级数据分析能力,满足多场景业务分析需求

发布时间:2021-05-25 17:46:00  来源:互联网     背景:

  58集团是中国互联网生活服务领域的领导者,旗下有国内最大的生活服务平台,覆盖各类业务场景,例如车业务、房产业务、本地服务、招聘业务、金融业务等等。

  随着业务的高速发展,越来越多的分析需求涌现,例如:安全分析、商业智能分析、数仓报表等。这些场景的数据体量都较大,对数据分析平台提出了很高的要求。为了满足这些分析型业务的需求,DBA团队从2021年初就开始调研各类分析型数据库,其中包括DorisDB、TiFlash、ClickHouse等,评测他们的性能及功能。

  总体评测下来,DorisDB表现全面,在单表/多表查询性能、物化视图及SQL支持等方面能力都契合集团业务需求。目前,我们已经落地了两套DorisDB集群,还有1-2套正在测试阶段,后续会进行进一步推广和落地更多应用。

  一、评测信息

  我们从两个方面来评测以上这些分析型数据库:一个是功能,一个是性能。每种数据库都有各自的特点。

  1.功能方面

  2.性能方面

  2021年初,我们完整对比过3种数据库的性能,包括TiFlash(4.0.10)、ClickHouse(20.3.8.53)、DorisDB(1.11.0)单表及多表join的性能情况。TiDB5.0的TiFlash已经支持MPP,此处为4.0版本,无MPP。

  测试使用业界流行的Star Schema Benchmark星型模型测试集。结论如下:

  ·单表/多表查询,DorisDB总体时间均最短。

  ·单表查询:DorisDB最快次数最多,ClickHouse次之。

  ·多表查询:DorisDB所有执行均最快。

  关于TiDB/TiFlash

  ·TiDB/TiFlash总体时间单表/多表查询均最长。

  ·TiDB执行计划多数走TiKV,导致执行时间长,且数据量越多,执行时间越长。

  ·TiDB强制走TiFlash,单表多数提速多,多表多数变慢,但4.0.10版本的执行计划多数不走。

  关于Clickhouse

  ·ClickHouse多表查询需要更改SQL,使类型一致才可以,且字段名、表名区分大小写。

  ·ClickHouse单机性能强悍,性价比较高。

  ·ClickHouse大单表查询方式效率好,多表关联效率降低明显。

  关于DorisDB

  ·DorisDB单表和多表关联查询速度都非常快。

  【单表查询结果】

  【多表关联查询结果】

  二、业务需求及应用

  1.安全分析相关业务

  每天,内部服务器上的各类操作和运行情况,是内部安全人员比较关心的。但是服务器上每天有大量的信息,如何能快速收集落地、统一实时分析,是这个数据分析场景面临的挑战。具体来说,安全分析业务需要应对以下情况:

  ·写入数据量大,每天大约几亿的数据需要落地;

  ·实时快速的分析支持,例如:最近15分钟,机器信息的情况是怎样的;

  ·需要定期进行数据清理;

  ·数据量不断累积,数据总量规模增长快。

  综合评估后,我们选择了DorisDB来支持安全分析相关业务。在使用初期,我们使用了DorisDB的明细模型(即保留所有历史数据),20天左右,数据行数总量就800亿+了,磁盘空间占用8T左右,由于明细数据量庞大导致查询性能也受到影响。

  后与内部研发人员讨论,业务分析并不需要详细的历史明细,数据按照指定时间粒度进行聚合汇总即可。便将数据模型改成聚合模型,设置日期、小时和15分钟三个时间维度,指标数据按照这个级别的时间维度进行聚合,聚合后每天新增的数据在10亿左右,数据量降低了75%,查询性能也得到大幅提升。且采用kafka+routine load的方式在DorisDB中进行导入聚合,避免了引入冗余的组件,统一了技术栈。

  2.DBA内部业务

  MySQL中间件,我们使用的ProxySQL,ProxySQL支持展示SQL情况。但是操作较为繁琐,每次需要重置,才重新开始统计。如何分析指定时间的SQL情况,是困扰我们的另一问题。

  每个ProxySQL有自己的全日志,我们可以分析全日志来获取需要的信息。第一个架构方案,我们想到了使用ES,ProxySQL全日志–>Filebeat采集–>Kafka–>Logstash–>ES。但是实际使用中,发现虽然可以查看流水,但是分析时就比较麻烦,不如写SQL的方便。

  后来架构又改成了 ProxySQL全日志–>Filebeat采集–>Kafka–>DorisDB,这样就可以进行快速分析了。

  另一个问题,因为线上的ProxySQL的日志量特别大,不能所有集群都开,我们设置了可以选择开启,这样有需要的集群才进行分析。降低存储的压力。

  举例:分析某30分钟某集群的SQL执行情况,按照次数排序,查询很快。

  除了上述两个场景之外,DorisDB还被用在了销售使用的报表系统等场景中,包含实时数据分析等业务场景,共50+张表,占用约100T存储空间,查询并发量100-500+。

  三、系统运维

  1.数据接入

  DorisDB支持的数据导入方式很丰富,例如本地文件、HDFS、Kafka(支持csv、json格式)、外表、批量SQL等。数据接入时有以下需要注意的问题:

  ·HDFS导入需要提供Namenode的信息,有些不方便提供就支持不了。

  ·外表模式,创建外表后,可以使用insert into select的方式,循环导入到DorisDB的本地表,能比较方便的从MySQL、TiDB导入数据。

  ·日常最常用的是Kafka的Json格式的数据,需要开发提供:

  ··表字段、字段类型及模型(明细模型,聚合模型和更新模型)。

  ··Kafka信息:kafka_broker_list,kafka_topic,client.id等。

  ·Kafka的方式,DBA创建表及导入任务就可以导入数据了;日常需要注意的是:最好写个小工具,查看下Kafka的数据信息,然后指明字段,这样来保证成功率。

  ·查看导入任务:SHOW ROUTINE LOADG;关注Statistic,ErrorLogUrls。

  2.集群架构

  目前为单套集群,3个FE,3个BE,Broker按需建立,搭建1套监控(Prometheus+Grafana),推荐使用kafka来接入数据。

  3.运维及自动化

  因为DorisDB标准版无管理组件,需要DBA自己实现:

  ·标准制定,例如:运维标准、开发接入标准等;

  ·自动化部署;

  ·自动化扩缩容;

  ·自动化升级;

  ·拓扑展示、登录;

  ·搭建开源监控;

  ·自己实现报警,例如存活报警、性能报警;

  ·相关运维报表,例如表大小、集群磁盘使用情况、流量情况、SQL情况等。

  目前我们自己已经实现了部分运维规范的制定,例如集群端口、目录、拓扑架构等,并开发了拓扑工具:qdorisdb,可以查看所有集群、指定集群、登录、展示监控节点信息等。

  后期我们会开发相关自动化管理工具,并整合至我们内部的CDB平台,开发相关报表、工单等,方便开发人员使用。

  【查看指定集群拓扑】:

  【查看所有集群】:

  4.服务器

  当前我们使用如下机器进行部署,后期会考虑将FE节点使用虚拟机部署。

  四、发现的问题及注意事项

  ·如果想混合部署,需要提前计划好端口,集群间需要有一定间隔;

  ·DorisDB升级比较快,如果遇到bug可以咨询官方,及时升级避开;

  ·查询报错:2021-05-09 11:38:56-WARN

  com.mysql.jdbc.PacketTooBigException:Packet for query is too large(1095400>1048576).You can change this value on the server by setting the max_allowed_packet’variable;

  ··处理:set global max_allowed_packet=102410248;

  ·账号授权跟MySQL不同,需要注意;

  ·标准版的周边较少,希望能不断丰富,让更多的人用起来;

  ·Json格式数据导入,字段没法复用,推荐官方添加上,例如:求最大最小时间,需要开发写入Kafka两个时间字段,无法复用一个;

  ·导入数据需要一定的调试经验,例如Kafka,可以自己写个工具,查看下Kafka里面的数据,再进行测试;

  五、场景及定位

  DorisDB是优秀的分析型数据库,可以满足多种数据分析场景的需求。但还有不少业务场景需要用其他数据库来服务,目前58DBA提供了多种数据库,方便业务方根据自身的场景进行选择。

  总结

  目前,我们已经落地了两套DorisDB集群,还有1-2套正在测试阶段,后续会进行进一步推广和落地更多应用。最后,十分感谢DorisDB鼎石科技团队专业的支持服务,希望我们能一起把DorisDB建设得更好。(作者:刘春雷 负责58同城MySQL、TiDB数据库、DorisDB的运维工作,主要从事数据库自动化、平台化的建设)

特别提醒:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。


返回网站首页

本文评论
关于ITBEAR因转载“腾讯二选一”文章 被腾讯索赔100万的公告
2018年、2019年期间,字节跳动(今日头条母公司)与腾讯曾发生过一次著名的"头腾大战",其中有不少媒......
日期:06-03
玖云平台品牌号展现企业形象,客户回访接听率提升50%
随着电信骚扰和电信诈骗电话越来越猖狂,现在越来越多的用户对无标识、无来源的来电号码,特别是固......
日期:09-19
J级智利车厘子29.8一斤,苏宁年货节超便宜
年关将近,家家户户都开始囤起了年货,各家电商的年货节大促也是热闹非凡。年货家家有,到底哪家最......
日期:01-02
奇安信可信浏览器版本升级 国内首家支持苹果M1 Mac
4月9日,奇安信可信浏览器再次升级,新版本原生支持M1芯片的苹果Mac电脑,并成为目前唯一原生支持M1......
日期:04-09
金嘉成旗下高端智能装备品牌利建华,定位中国(装盒)智能工厂装备制造商!
随着工业物联网以及移动通信技术5G时代的到来,新一轮科技革命和产业变革正加速演进,全球各国都在借......
日期:12-16
氪信科技人工智能产业化目标落地,入选上海软件企业双百名单
11月20日,上海市经济和信息化委员会公布了今年“2019上海软件和信息技术服务业百强”、...
日期:11-25
DTCC 2020数聚英雄,分布式数据库OceanBase实践专场见!
12月21日- 12月23日,第十一届中国数据库技术大会(DTCC 2020),将在北京隆重召开。作为数据库领域影响......
日期:12-17
“抖音一哥“易主,贾乃亮直播破3.08亿刷新纪录!
新年到来,除了立Flag,最重要的就是买年货。 想想以往买年货,都是一门学问。买贵了吧,爸妈......
日期:01-21
一文看懂电子社保卡妙用
(原标题:电子社保卡你领了吗?拿手机就能办事,但实体社保卡千万不能丢)...
日期:07-13
百度牵手国家卫生健康委“健康中国政务新媒体平台” 熊掌号为献血知识“加V”
“无偿献血会引起健康人贫血”、“献血会导致人发胖”、“献血会导致成瘾......
日期:09-28
有男有女APP全新公测,开启短视频价值创业新时代!
2020年3月1日,由陕西集德才网络科技开发有限公司推出的短视频平台“有男有女”APP1.2.6......
日期:03-02
老虎证券:下调价格提振销量 三星也要玩起“低价”策略了?
本文发布于老虎证券社区,老虎社区是老虎证券旗下的股票交易软件 Tiger Trade 的社区板块,致力于打......
日期:08-04
从售前到售后,得物(毒)APP让你购物无忧
得物(毒)APP,一个常年占据AppStore排行榜前五十,稳居分类榜第一潮流APP,凭借其严格品控,坚持正......
日期:02-21
“AI”在万家灯火间
海上巨人 正午,船往幽蓝的海面上驶去。 风卷起了海浪,......
日期:07-06
罗永浩推荐投影仪秒卖空,为什么说还是输给了李佳琦?
万万没想到,霸占2020年4月1日的愚人节热搜的竟然是罗永浩直播翻车的新闻。利用直播平台带货早已不再......
日期:04-03
618机顶盒推荐,当贝超级盒子是首选
现在国内每年都有两个节日,在这两个节日是国内少有的购物节,这两个节日不管是线上和线下都会打折,很......
日期:05-27
戴尔为何一直拒绝将商用本的超薄推向极致?
一个小巧精致的香槟塔,一块造型简单的翻糖蛋糕,在一群观礼嘉宾与记者的掌声中,几位长期合作的中国客......
日期:11-11
杭州青年公益社会组织服务中心联合青团社举办“寻找青年公益践行者”沙龙
10月27日,杭州青年公益社会组织服务中心联合青团社、绿色浙江、沃德等杭城具有代表性的企业公益平......
日期:10-29
中国电信终端洞察报告发布:用户已接受并更愿意推荐5G手机
近日,中国电信移动终端研究测试中心发布2019年第2期全网通终端满意度调查报告。报告显示,2019年下......
日期:01-19
众创众筹五周年庆典圆满落幕,肆拾玖坊用成绩说明实力
近日,受到疫情的影响,肆拾玖坊将众创众筹五周年庆典搬到了线上,开启了一场声势浩大的“云聚会...
日期:06-05