当前位置:首页 > 问答 > 正文

WR数据库帮你存数据还能让商业智能跑得更快更准,真挺实用的

开始)

我是在一次公司内部的技术分享会上第一次听说WR数据库的,当时我们团队正被一个老问题折磨得够呛:公司的业务数据越来越多,从用户注册信息、订单记录到网站每天的点击流,全都塞在几个传统的数据库里,平时做个简单的报表还行,可一旦市场部的同事想要分析一下最近三个月不同地区、不同产品线的销售趋势,再结合用户画像看看复购率,那系统就卡得不行了,经常是下午提交一个查询请求,等到快下班了结果还没出来,有时候甚至直接报错失败,负责商业智能(BI)分析的同事整天愁眉苦脸,说这速度根本没法做实时决策,看数据像在看“历史文物”。

后来,公司决定引入新的数据解决方案,选型的过程中,WR数据库就进入了我们的视野,据当时来做技术介绍的工程师说(来源:公司内部技术分享会记录),WR数据库的设计初衷就是为了解决我们遇到的这类问题,它跟我们之前用的老式数据库不太一样,老数据库更像是一个什么都管的“杂货铺”,既要处理前台用户下订单、付钱这种需要立刻响应的交易(这类操作叫OLTP),又要应付后台复杂的分析查询(这类叫OLAP),两头忙不过来,互相抢资源,结果就是两头都慢。

WR数据库帮你存数据还能让商业智能跑得更快更准,真挺实用的

WR数据库的核心思路是把“存”和“算”分开,专门用来处理分析型的负载(来源:WR数据库官方产品白皮书解读),它用了列式存储的技术,这个怎么理解呢?工程师打了个比方:传统数据库像记账本,一页记录一天的所有流水,按行记,找一个人的所有记录得快,但要是想算今天所有人的总支出,就得一页页翻遍每一行,而列式存储就像把账本拆开,把所有日期放一摞,所有姓名放一摞,所有支出金额放一摞,当BI工具只需要查询“上个季度销售额总和”时,数据库不用去读取每条记录的所有信息(比如用户的地址、电话号码),它只需要直奔“销售金额”那一摞数据,快速扫描和计算就行了,这样读取的数据量大大减少,速度自然就上来了。

这个特点对我们来说简直是雪中送炭,自从把一部分分析业务迁移到WR数据库上之后,最直观的感受就是“快”,以前要跑几个小时的复杂报表,现在几分钟甚至几十秒就能出结果,市场部的同事可以随时调整分析维度,比如突然想看看某个特定促销活动对新老客户的影响差异,他们能在BI工具里拖拽几下,结果立马呈现,真正做到了探索式分析,而不是像以前那样提前一天预约排队等数据,决策效率提高了不止一个档次。

WR数据库帮你存数据还能让商业智能跑得更快更准,真挺实用的

除了快,WR数据库在“准”的方面也帮了我们大忙,它对我们导入的数据有比较强的兼容性和一致性处理能力(来源:公司数据团队迁移测试报告),我们公司的数据来源很杂,有从业务系统来的结构化数据,有日志文件里的半结构化数据,格式、标准都不太统一,WR数据库能比较好地处理这些混乱的数据,减少了在数据清洗和转换过程中出错的可能性,这意味着,基于WR数据库产生的分析报告,其数据质量的基础更牢靠了,我们对于报告里的数字也更有信心了,财务部门现在也更愿意直接引用BI系统生成的报表,因为数据来源清晰、计算过程稳定。

它也不是万能的,它并不适合直接用来支撑用户下单、支付这类需要高并发、实时写入的交易场景,那种任务还是交给专门的交易型数据库更合适,它的强项在于海量数据的快速分析和查询,在我们公司的技术架构里,WR数据库扮演的是一个强大的“数据分析引擎”角色,专门负责消化和处理从各个业务系统汇总过来的数据,然后给Tableau、帆软这些BI工具提供高速稳定的“燃料”。

引入WR数据库对我们公司来说是一个非常实用的选择,它可能没有那些天花乱坠的新概念听起来炫酷,但它实实在在地解决了我们业务中的痛点:让存数据变得更高效,让商业智能跑得更快、更准,现在回头看,数据分析再也不是业务发展的瓶颈,反而成了驱动我们发现问题、优化运营的利器,这钱和精力,花得挺值。 结束)