企业不同部门所需要的数据指标也是不同,有啥工具可以实现多维度个性化业务分析呢?

近些年来,国产数据库成为较热门的话题。有越来越多的公司考虑采用国产数据库产品。近期在与twt社区的互动中,发现有大量相关的讨论,关注度也较高。特将自己回答的部分问题摘录如下,也算是对若干热点问题的个人观点。

1 如何结合不同的业务场景选择合适的数据库?

在做出合适选择之前,需要以下准备工作:

针对不同的业务,做出业务侧的数据库画像,包括但不限于如下维度:

  • 业务指标:使用方式、使用特征(在线用户、峰值用户、并发用户等)、重要级别、可用性要求。此外,针对未来发展也要有所评估。

  • 系统指标:包括应用系统来源、技术栈、开发语言、系统拓扑、与数据库交互方式等

  • 数据库指标:包括数据规模、访问特征、物理环境、软件环境、数据库拓扑等

  • 运行特征:场景分类(TP、AP、混合)、架构分类、数据规模、数据特征、计算规模、事务一致性要求、扩展性要求、高可用要求、应用耦合性等

对数据库产品进行测试,形成对产品的统一认识。这其中包括数据库内核、管理、开发、安全等多方面能力的评估。这方面可参考我之前分享的《分布式数据库评测标准》。

除上述外,还应包括企业内部的一些自身因素的考虑,如成本、运维、开发改造等因素。

上述因素综合考虑后,才能做出相对合理的选择。

2 业务系统应用架构设计时如何适配分布式数据库以实现高性能,在线扩展后性能如何同步提升?
  • 性能问题,是需要慎重考虑的。如果仅仅考察个体的表现,分布式数据库很有可能不如传统单机数据库或集中式数据库。其分布式架构在原理就先天存在一些短板,对于要求极致性能的场景是不合适的。

  • 分布式数据库的强处,是在于扩展系统的整体吞吐能力,可承载更多的业务量。因此从原理上讲,扩展后不会提升性能。当然,分布式系统扩展后,数据库被做个更多的拆分,会有助于单体执行效率的提升,这种情况下是有性能提升的。

基于上面,在应用架构设计时,应充分利用分布式数据库的数据分布特点,做好业务单元化。通过在更小的数据单元完成,进而达到优化效果。

3 分布式数据库故障时如何确保故障自动转移,自动恢复业务,实现高可用?

分布式库的组件较多,大致可分为数据节点、计算节点、控制节点三类角色。其中,计算节点一般为无状态的,故障后可切换自动恢复;控制节点一般采用自身高可用保障,出现问题会主动自愈;数据节点出现问题时较为重要,因为其上面承载的数据。我理解问题主要是对应这一角色。针对数据节点,不同分布式数据库产品,底层实现有所差异,大致可分为两种情况:

无论是哪种模式,当出现故障时都会完成自动选主,自动切换,从而实现高可用。目前的大部分产品,都已可实现在同AZ、同城跨AZ的自主切换、对业务无感(业务需实现出错重试机制)。针对异地的情况,一般还是建议人工介入,而不自动完成切换。

4 分布式数据库全局一致性和高性能如何取舍达到平衡?

个人觉得这两者不存在平衡关系,一般一致性要求是来源于业务,很难去做业务上的取舍。都是在有明确一致性要求的情况下,尽量做到性能最好。

5 中小银行后端稳态类系统进行分布式方向改造的必要性?

分布式改造的必要性,主要来自于几个方面:

  • 业务驱动(数据规模、算力不足等需要扩展)

  • 政策驱动(监管方明确需求)

  • 技术驱动(为适配技术栈革新)

  • 管理驱动(从统一管理等角度考虑)

这里需权衡分布式改造所带来的投入产出比及对应的风险评估。个人建议,中小型银行的稳态业务,不一定非要做分布式改造,需要做更严谨的评估。

6是否有适合银行业务场景的OLTP基准测试?

目前没有统一的OLTP测试标准,其原因是银行的业务也各有不同,很难找到统一标准。一般的做法是找出部分有代表性的业务,简化提炼后形成一个测试case。在测试中,通过不同测试case的组合,形成满足某业务的测试集。

7关于国产分布式数据库未来趋势分析?

目前尚处于早期阶段,趋势发展上还不是很明朗。个人有以下一些判断:

1.多技术路线会长期共存

2.云会在未来达到统一,但周期会很长

3.MySQL、PG会成为事实生态标准,各产品会加以适配

8 面对这么多国产分布式数据库,如何制定一个选型标准?

关于选型标准,目前没有统一国家、行业标准,有条件的企业都在做自有标准。按照之前的工作,需梳理出选型测试的众多评估维度及细化的指标。这里是存在不小的工作量。这里可参考我近期发的一些内容:分布式数据库评估维度分析

9 在分布式数据库架构选型中,如何看待计算与存储分离?

存算分离,还是要看具体解决的问题。其最早是由云厂商提出的,目的是将资源解耦,从而实现不同资源的分层扩缩。看待这个特性,还是要看其背后带来的收益,是否是自身关注的;否则没有太大意义。

10 国产数据库高可用和稳定性混沌测试标准经验分享?

这方面经验不多,国内有些金融企业在自主构建混沌测试平台,某些厂商(如PingCAP)也开源混沌测试平台,可尝试使用。

11 分布式数据库容灾容错方案?

高可用方案,各家产品实现有所差异。一般情况下,在同城双中心异地单中心的情况下,当同城某AZ出现问题时,是无法自动切换到同城第二个AZ,是需要引入第三个AZ,满足仲裁需求的。当然有些是可以写死切换逻辑在里面,但非标准的切换流程。因此,一般建议在同城采用3AZ,满足多数派选举,可实现自动切换能力。异地一般不建议参与其中,毕竟存在较长时延。

12 分布式数据库系统批量优化改造方案?

这方面经验不多,据了解如果仅从吞吐量来衡量,分布式数据库能力一般是要高于传统数据库的。当然,前提条件是批量处理部分是可以有明确的单元拆分,充分利用并行能力带来跑批的收益。

13 分布式数据库使用规则?

分布式数据库较传统单机数据库或集中式数据库,是存在较多不同,因此在开发之处就有针对性的进行规避比较重要。这其中常见的点包括:事务大小、SQL复杂度、分布式事务、DDL变更等。基本的处理原则就是3B原则,即避免Big SQL、Big Transaction、Big Batch。此外,尽量减小分布式数据库中的变更,无论是架构上的(如扩缩容)、结构上的(如DDL)等。

这个话题有点大,可参考下原文作者的另外文章。

DBA定位、突破与职业发展

15 OLTP类业务基于分布式数据库架构,如何从软件和硬件层面分别保障性能和可靠性?

分布数据库一般多从软件层面做了可用性保证,如采取多副本机制等,通常不采用传统基于硬件的可用性方案。

16 分布式数据库如何选型?

通常不会根据每套应用来选择合适的数据库,这样做的话技术栈可能过于发散。建议的做法是,根据公司业务场景,收敛为若干种类型,然后为每个类型选择2~3款产品。选择多款产品的原因,是为了避免厂商绑定问题。然后需要根据每类场景,制定开发规范(取2~3款产品的功能交集作为标准)。

17 分布式数据库,两地三中心如何实现平稳切换

1.同城出现问题,一般分布式数据库可实现自动切换,对应用有瞬时影响,只要应用支持错误重试即可。

2.针对异地情况,一般无法自动切换(也不建议自动),还需要人工仲裁判断是否切换。

18 有成熟的国产数据库产品替代oracle、db2数据产品吗?

替代Oracle或DB2的产品,可分为几种类型:

此类业务特点是数据规模大、并发高、延迟要求低,但数据库使用场景较为简单。通常这种方式可使用业务侧单元化+国产库方式。这种方式对库的要求相对不高,可选择的范围较广。

此类业务特点是数据规模中等,数据库使用复杂度。这种方式要想很好地替代,相对较难。一般建议的做法是重构。当然这里需要考虑的改造成本比较高。可考虑的选型范围是NewSQL系列产品。

此类业务特点是数据规模较小,复杂度不低。这种系统数量众多,可考虑是使用对Oracle/DB2兼容性较高的产品。如很多从PG衍生的产品或国内部分数据库产品。

19 是否有支持在多款数据库之间迁移的产品?
  • 物理迁移:基于数据库的日志,采用CDC的方式进行。采用这种方式的商业产品比较多,例如国内的DSG、英方等。

  • 逻辑迁移:基于数据的迁移,类似采用窗口方式提取数据实现迁移。采用这种方式的商业及开源产品都比较多,比较典型如sqoop。

  • 应用迁移:应用侧自己搞定迁移问题,需自研代码。

20 国产数据库如何实现在正式库中进行测试?

库内测试的问题,一般不是通过数据库端实现的,可通过互联网通常采用的影子库方案来解决。也有一些开源产品(如shardingsphere),内置了这一能力,通过在上层模拟出数据库的统一入口,内部设置分流、限流策略,来完成压测工作。

21 国产分布式数据库,在成本上是否如宣传的那样比Oracle有较大的优势?

采用分布式数据库的成本来自几个方面:

  • 软件授权费用:这部分相对有一定优势,Oracle原厂费用较高。

  • 软件服务费用:这部分相对国产库较高,因为成熟度不足,还需大量人力投入且还未形成成熟的服务生态

  • 硬件采购费用:这部分分布式国产库较高,因为涉及的组件较多,需耗费机器资源较多。

  • 日常维护费用:这部分国产库较高,因需重新搭建队伍,新增人力成本较高

NewSQL的同步,主要看其架构:

  • 基于分库分表架构,一般较难提供全局CDC能力,只能通过底层数据节点的数据同步,无法满足全局一致性要求,有一定缺陷。

  • 基于原生分布式架构,一般可提供CDC能力(如TiDB),可满足上述需求。

23 省级银行推广国产分布式数据库,需要如何配置人力?各家主流厂商推荐客户配置多少分布式数据库DBA ?

这部分没有一定之规,一般国产分布式数据库的成熟度差异较大,需根据各自不同数据库来考虑。推荐按照每3~5个,配置一名DBA,长期可过渡到5~10个库一名DBA。

主要缺陷取决于不同库的架构,这点差异很大。重点可考察:

  • 分布式事务、全局一致性

  • 同城&异地高可用

  • 生态功能(如针对研发)

  • 管控能力(管理、优化、监控等)

25 NewSQL分布式数据库在银行业目前案例较少,未来发展前景如何?

NewSQL代表着未来的趋势,发展前景毋容置疑。相信会在未来3~5年内,逐步普及。

26 云原生分布式数据库与基于中间件架构的数据库,技术优势在哪里?
27 国产数据库去O,是用基于PG产品,还是考虑基于MySQL产品合适?

在去O过程中,我们先明确一点,没有数据库产品是可以完全替代的。即完成去O工作,是需要通过“应用改造+数据库选型+应用迁移”,结合在一起才能完成。这里需要考虑整体目标及路径。问题中的两种方式,原则上都是可以完成去O工作,但对于应用改造及迁移的影响差异较大。

  • PG类产品,其企业级功能较为完善,使用体感与Oracle相近。有些基于PG为内核的产品,在Oracle兼容性上做了了大量工作。对用户来说,使用上与Oracle更为相近,甚至大部分可以做到无缝迁移;少部分需要修改上,也相对工作量不大。

  • MySQL类产品,流行程度更高,但与Oracle相比,功能差异较多。如在去O中选用,需做较大的修改。

28 数据迁移如何保证前后一致性?

数据迁移后,前后环境处于静态切面,做数据对比是比较简单的。操作上可有几种方式:

  • 可通过SQL语句完成简单的数据对比,如记录条目数,多维度统计报告进行比对。

  • 可针对迁移过程中的日志的方式,通过代码提取对比。这种方式对目标库无影响。

  • 有些外部产品也支持数据比对,如DSG的super sync等

问题:数据比对的核心问题是效率,需找到一种平衡。

29 目前国产化分布式数据库产品繁多,对OLTP数据库在去O转向国产化该如何做选型评估?

这个问题比较宽泛,可分为几种情况:

  • 这与去O的路线有关,如考虑尽量减少去O的应用迁移难度,选择兼容Oracle的产品,则兼容性需要重点评估。Oracle的功能非常丰富,目前国产化产品无法做到全部兼容,对于分布式数据库而言,这点更为突出。

  • 除去上面因素外,就是从数据产品本身维度进行测试。这里涉及的测试点很多,具体细节可参考我之前的社区文章。

30 在核心业务系统方面去O转向国产化数据库产品有哪些典型案例?

各家在去O场景上,案例还是很多的,包括部分股份制银行、城商行等。如中信、平安、张家口商业、亿联、北京银行等。

从未来趋势来看,目前国内去O尚未形成较为主流的实现路线,各家策略均有不同。从技术路线来看,也未达到形式上的统一。因此建议金融企业,根据自身特点,选择更为通用性的标准作为迁移依据。即从应用角度入手,重点考虑兼容标准开发模式,忽略个体产品差异。对未来不同路线,保持充分的灵活性。

31 目前国产数据库有哪些自研的迁移工具或软件,迁移的停机时间是多少?

从上述数据库迁移到国产库,可分为两种技术路线:

  • 这种方式的产品很多,如国内的DSG、英方、Datapipe等

  • 这种方式的产品,开源和商业的都有,如典型的Kettle、DataX等

影响迁移的时长,主要取决于几个因素:

  • 迁移逻辑:是否存在加工转换

  • 数据对比:是否需做质量检查

  • 数据规模/链路:一般都采用全量+增量方式,这一因素一般影响不大

32 从oracle迁移到新的数据库后,如何比较两端数据内容的一致性?有没有工具?

数据迁移后,前后环境处于静态切面,做数据对比是比较简单的。操作上可有几种方式:

  • 可通过SQL语句完成简单的数据对比,如记录条目数,多维度统计报告进行比对。

  • 可针对迁移过程中的日志的方式,通过代码提取对比。这种方式对目标库无影响。

  • 有些外部产品也支持数据比对,如DSG的super sync等

问题:数据比对的核心问题是效率,需找到一种平衡。

33 目前国产数据库在对标O记的pdb技术上有什么解决方案?

目前国产数据库在租户方面,能力上普遍不足。OceanBase在这方面,应该是比较超前的,没有 具体 使用经验。对于不足之处,一般可从解决方案层面解决。考虑在接入层、计算层、存储层做好相应的隔离工作即可。

34 去O国产中面对的存储过程、函数等如何处理?

国产数据库在库内计算(存储过程、函数)及特性能力(如视图),较Oracle数据库还存在一定差距。特别是采取分布式架构的国产数据库,差距更为明显。从实际推动工作上看,也是两种策略:

  • 尽量选择兼容性产品,这样代价相对较小

  • 简化数据库应用,将上述能力在应用层解决,数据库只做CRUD

35 国产数据库迁移中应用改造量的评估?

应用改造工作量的评估,是有一定参考依据的。之前在项目实践中,也积累些方法并形成小工具。基本原理就是根据对象和语句的数量、复杂度等作为输入,根据实践总结出的单位工时进行评估。在后续的不断迭代中,改进评估方法。

DB2的生态环境,相较于Oracle更加封闭。目前已知的一些国内主流的数据库迁移厂商,也支持从DB2到其他库的数据迁移工作。只不过使用相对案例少些,需要打磨功能。

Oracle的AP分析能力是比较强的,这主要受益于其自身强大的优化器能力。如去O的话,目标库是否具备同等分析能力存疑,是需要做评测的。如遇到数据库自身分析能力不足问题,可考虑使用组合方案,如TP+AP的模式或引入大数据技术栈来解决。

38 国产数据库的系统安全怎么评估?

这方面是有所欠缺的,主流的安全厂商工具尚不支持国产库,这部分还需持续增强。当前使用上,还需更多依赖国产库厂商自身,评估解决可能潜在的安全漏洞。

39 有没有数据库综合管理平台推荐?

该提问点出了一个迁移到国产库的共性问题,即数据库碎片化。在传统数据库选型中,主打两三款数据库,就可以覆盖几乎所有的业务场景,而到了国产库上则情况大不同。一方面数据库的架构类别多样;二方面还没形成垄断性产品,众多产品都可选择;三方面各产品能力差异较突出,都有各自的适应性场景。基于上述现状,这一问题势必会影响到企业的使用。影响的方面包括:数据库架构设计、应用开发、管理维护等多方面。我将此问题,发散回答下。

不同国产库的架构差异很大,没有办法统一架构,但这方面可通过标准进行规范化。国家及行业也推出一些规范,指导企业进行架构设计。例如:针对可用性设计上面,同城3AZ成为很多分布式数据库的默认,以此才能提供自动切换能力,满足RTO=0,RPO=0的预期。

应用开发方面,整体差异不大。现有主流数据库还是遵循关系建模,可利用之前的工具完成。问题比较大的是在结构设计方面,特别是分布式架构有其特点,很多传统的设计思想需要改变;SQL语句开发方面,尽量做到简洁处理,避免重度依赖国产库。这方面可使用一些数据库审核工具,辅助做些结构设计、语法开发的质量检查工作;但这方面是否有欠缺的,主要是现有工具几乎无法对各家数据库产品做到差异化审核,只能完成比较初级的检查。而厂商自有产品能力,大部分还未涉及此部分。

在管理维护方面,如上面谈到的,各家产品架构差异明显,尚无法做到统一管理。虽然有些第三方厂商产品支持多种数据库平台的管理功能,但大部分是支持国外商业数据库和较为流行的开源数据库。对国产库的支持,尚比较有限。甚至大部分厂商自有产品,在这方面的能力都不太健全。因此,想实现一体化的数据库管理,困难较大。解决的方法,要么是通过自研的方式解决,要么是等待国内三方产品完善起来,要么是依赖云平台(全栈使用某云厂家产品)。

在应用访问方面,是否可提供统一的访问接入也是用户比较头疼的问题。大量在数据上层应用(如审计、安全、可视化等)是无法兼容多种数据库(特别是国产库)。这方面有些第三方的数据库中间层产品,可提供一定的屏蔽能力,满足统一访问的诉求。但比较完美的不多,很多还需要二研增强。

Server上的应用,迁移到国产数据库,有哪些风险点?

从商业数据库迁移到国产库,风险是来自多方面的:

国产库的功能较大型商业数据库仍存在一定差距,需要在选型时期就有清晰认识。不同国产库架构不同、技术路线各异,需要建立符合企业自身要求的评测体系。通过完善的测试,对国产库有着全面细致的了解。虽然无法做到功能一一对应,但起码要做到对功能边界清晰可控。通过上述手段,规避可能潜在的技术风险。

没有能够完美替代数据库的产品,都是需要开发做一定适配性改造。此处的风险主要一方面来自国产库功能缺失带来的应用实现侧的技术难度;一方面则来自开发资源的投入。特别是当面临后者的不确定性时,风险更大。此外,还需通过引入测试完成对开发结果的验证,规避可能的处理逻辑、性能风险。

这里谈到的迁移包括数据迁移和应用迁移。针对前者,相对好处理些,通过应用逻辑或其他三方工具是完成数据的迁移工作,重点需考虑迁移后的质量对比,避免数据不一致问题。更多难点在于应用迁移,如何平滑完成迁移很重要。此外,相关的灰度、回退等迁移能力同样需要具备。而此方面,很难找到通用的平台来提供基础能力,大部分还是需要用户自研完成。

数据库上线只是第一步,长期稳定运行更为重要。国产数据库普遍面临发展时间短,缺少大量线上运行积累,缺少较为成熟的运行维护体系。包括常见的监控、诊断、优化、排障、备份、高可用、升级等均需要完善支持。

41 用户对自己的信息化都不了解的情况下。如何去更快的了解企业的数信息化数据库业务?

造成这一问题的原因有多种。有些是自研的,因企业人员流失导致信息丢失;有些是采用外包方式,随着外包公司的变化消失而导致信息丢失。上述这些现象是客观存在的,解决方法无外乎两种,通过业务侧和技术侧解决,亦或是两者配合使用。

1.业务侧:需要通过文档、人员调研等方式,搜集现有系统运行情况。

2.技术侧:通过各类日志、报告等形式,收集现有系统运行情况。如针对数据库,可利用下述方法做好调研收集工作。可以参考这篇文章:

做一次成功的数据库调研

42 国产数据库选型集中式与分布式如何选取?

集中式和分布式,是数据库两个大的架构类型,两者都有各自适应场景。从过去二三十年发展来看,集中式架构很好地解决了金融机构的场景问题,从技术角度来讲绝大多数场景并没有因能力不足而选择分布式架构的必要。这里更多的是需要考虑多种因素,来做这样的选择。

随着金融机构业务逐步互联网化,很多敏态的业务需要底层数据库提供更好的弹性、更大规模承载力,此时可考虑采用分布式架构。

技术诉求这里主要来自两个方面,存储与计算。一方面是存储能力的不足,希望通过分布式架构提供的水平扩展能力,满足海量数据存储;一方面是计算能力的不足,希望分布式架构引入更多计算资源参与其中。

分布式架构因其自身架构设计特点,在高可用、数据一致性等方面,较集中式架构有优势。有这方面诉求的可考虑分布式。

这点非针对分布式,主要是因为国外大型商业数据库经济成本较高,该选择国产库可相对降低成本投入。但因为国产库集中式架构承载力相对受限,因而考虑分布式架构。

从更为长远的技术演进路线角度考虑,引入分布式架构做长期储备。

为响应国家或监管部门要求,而采用国产库进而使用到国产分布式数据库。

43 数据库迁移过程中的应用侧改造内容?

应用侧需改造内容,分为几个方面:

  • 这方面指使用数据库的业务逻辑,简单分为结构改造和语句改造。部分情况,可通过简单的Mapping方式去解决,但还有些需要重构逻辑,甚至重新设计结构来完成。有些特别复杂的或存在数据库端无法实现的逻辑,就需要第二方面完成。

  • 针对不易处理的逻辑,需要拆分到应用侧解决或者使用其他数据库能力(如引入数据分析)来解决。

  • 为满足后面平滑迁移需求,有时是需要在应用侧做些改造,例如同时适配多种数据源,实现应用级双发来保证数据一致等。

简单的可通过三方系统,满足对数据迁移、同步需求,在窗口期可满足情况下,可实现相对的平滑。当然最好的方式,还是在业务侧通过双发逻辑实现迁移。可根据业务特点,定制迁移方式,满足平滑性要求。

44 国产数据库生产环境基础硬件架构是怎样的?
  • 国产数据库自身对基础硬件环境要求和国外产品无本质差别。

  • 对于分布式架构产品而言,有一定特殊性,受限于其架构特点,各组件对CPU、IO、NET要求各不同。例如,通常对网络要求较高,分布式组件间需要大量通信;数据节点建议使用SSD(甚至是NVMe SSD)。

  • 国产化诉求,对基础环境也提出新的要求。主要是CPU方面,对ARM产品有部分需求。

45 数据库国产化方案的方案可行性确认?

评估可行性,可从多个角度并遵循一定步骤,例如下:

  • 听取厂商的理论讲述,从原理上了解产品能力。必要时,可引入外脑帮助决策。

  • 可要求厂商提供基础功能测试报告,同时根据自有场景需求,挑选有代表性场景进行评测。

  • 考察与自有业务类似的其他客户进行考察,了解其使用情况。

  • 针对关注的核心要点(如高可用、迁移、性能)等,可安排专项演练。

PG和MySQL代表完全不同的两类技术路线。相对而言,MySQL生态更为成熟,PG在部分能力上更突出。至于选择哪一种,关键还是看以下几个方面:

  • 技术路线,是否具备或计划将PG列为技术栈

  • 人员储备,是否具有或计划具备相关人员

  • 业务场景,对目标库的核心要求

  • 技术要求,例如对Oracle兼容能力

  • 研发能力,更为熟悉哪种技术栈,如更换需考虑成本

  • 服务能力,PG和MySQL都是开源产品,建议引入商业服务来保证稳定,需考虑服务方

}

【马斯克】晋升全球首富,特斯拉马斯克微博发文:好了,回去工作吧

周四特斯拉股价持续走高,特斯拉CEO埃隆·马斯克的个人净资产也升至1850亿美元,超越亚马逊CEO杰夫·贝佐斯荣登全球第一大富豪。对此,马斯克发布微博称:好了,回去工作吧。

【马斯克】SpaceX可能在未来几周内同时测试两艘星际飞船

美国太空探索技术公司SpaceX首席执行官埃隆·马斯克表示,SpaceX可能在“未来几周”内准备好同时测试两艘星际飞船。SpaceX的星际飞船是人类历史上最大规模的载人飞船,可以乘坐一百人,它将是马斯克实现人类定居火星这一宏大目标的关键运输工具。与“猎鹰9号”火箭一样,星际飞船未来也能够重复利用多次飞行。

【腾讯汤道生】未来腾讯将持续加大生态建设投入

2021腾讯云启产业生态年会举办。腾讯公司高级执行副总裁、腾讯云与智慧产业事业群总裁汤道生表示,2021年腾讯产业生态关注的重点方向:一是推动SaaS应用生态建设,开放腾讯会议、企业微信等系统接口,帮助合作伙伴对接;另一方面,通过产品、平台建设,与合作伙伴共建技术中台和标准,帮助SaaS厂商间的相互集成。二是推进云原生与云安全生态建设。搭建“云原生”技术生态,帮助企业安全用云。

【腾讯云副总裁吴祖榕】腾讯会议进入业务稳定期

12月19日在腾讯2020 Techo Park开发者大会上,腾讯云副总裁、腾讯会议负责人吴祖榕表示,视频会议产品“腾讯会议”去年底发布,诞生2个月日活跃用户超过1000万,发布245天用户数突破1亿,一年来经历了孵化期、疫情期间快速扩容完成基础建设、目前进入产品迭代的业务稳定期,腾讯会议将提供API和SDK,未来所有开发者可在官网申请使用,快速构建多人通信的能力。

}

很多设计师和产品经理在刚入门时,都会对一些数据指标很模糊。尤其是与产品团队和运营扯需求、与开发谈指标、谈实现等场景,数据指标就更为常见。假如我们对指标不了解、没有概念,则会被多方质疑你的专业能力,同时你也无法提升「数据驱动业务、数据驱动产品、设计」的核心能力。

关注数据指标,不仅仅是产品经理或运营的「专利」,作为交互和 UI 设计师也需要掌握这方面的技能,来帮助我们产出更贴近用户行为的设计。同时,监测产品数据也有 2 个重要作用:一是可以监控产品迭代中的问题点和设计点,运营和市场活动的收入水平等,看看他们目前处于什么状态,也可以为后续产品迭代的方向提供参考帮助。二是通过对数据的挖掘和分析,可以发现新的商业机会和产品爆发点,也就是近两年经常听到的数据增长、用户增长、增长设计的概念。

因此,作为一名设计师或产品经理必须要了解与业务相关的核心数据指标。由于所在领域不同、业务不同,因此团队所关注的数据侧重点也不同。今天就从「网页基础指标、用户数据指标、如何获取数据指标、产品设计的生命周期」来梳理我们产品设计者常见的指标维度。

它是对当前业务有参考价值的统计数据,是通过对于业务需求的进一步抽象,并进行后,加工出来的一套计算规则,并通过有效的方法论和数据可视化呈现,最终能够解释业务变化和用户行为。当然,不是所有的数据指标都叫指标,只有对当前业务有参考价值的指标才可称作指标,同时要具备:可统计、可分析、可监测的特点。

先了解下流量的概念:分为站外流量来源和站内流量路径。以下就拿电商产品举例。

站外流量:通过其他平台或外界媒体进入到你的店铺就是站外流量。又分为免费和付费,免费有自然流量和搜索流量(比如在百度搜你店铺的名称并点击进入,这就是从免费的外界平台进入),而付费则主要是一些广告投放的流量(比如将你的店铺链接付费植入到某公众号,让他帮你推广,即从他公众号进入店铺的流量)。

站内流量:通过平台内的推荐入口或者搜索路径等方式,进入到你的店铺就是站内流量。主要指用户在网站内的行为路径。

1. PV(页面浏览量)

用户每 1 次对网站中的每个网页访问(成功访问/进入)均被记录 1 次。用户对同一页面的多次访问,访问量累计。在一定统计周期内用户每次刷新网页 1 次也被计算 1 次。

理论上 PV 与来访者数量成正比,但是它不能精准决定页面的真实访问数,比如同一个 IP 地址通过不断地刷新页面,也可以制造出非常高的 PV。

2. UV(独立访客人数)

访问网站的一台电脑客户端为一个访客。00:00~24:00 内相同的客户端只被计算一次。

使用独立用户作为统计量,可以更加精准地了解一个时间段内,实际上有多少个访问者来到了相应的页面。

3. VV(用户访问次数)

当用户完成浏览并退出所有页面就算完成了一次访问,再次打开浏览时,VV数+1。VV 同时也是视频播放次数(Video View)的简称。

比如你上午打开了优设,访问了两个作品页面并关闭网页。下午又打开了优设,访问了五个作品页面。则当日统计结果为:PV=7、UV=1、VV=2。

一个非常重要的指标,表示用户来到网站后,并没有进行操作就直接离开的比例,代表着陆页面(访客进入网站的第一个页面)是否对用户有吸引力,常用的计算方式是落地页面的访问量除以总访问量。

比如,在一个统计时间内,网站有 1000 个不同用户从某个链接进入,其中有 50 人没有二次浏览行为,是直接退出网站的,那么这个链接的网站跳出率为:50/1000=5%。然而有些退出的行为不能作为退出考虑,比如页面上刻意添加的导出链接,如合作伙伴的网站等,还有联系我们,付款页面等,都不算是负面的跳出,所以要根据不同情况统计有效的数据才能得出可靠的跳出率。

统计一个网站的跳出率是非常有必要的,能帮助产品提高用户粘性。跳出率高,说明用户体验做得不好,用户进去就跳出去了,着陆页没有满足用户的期望与需求,或是人群定位不精准。相反如果跳出率较低,说明用户体验做得很好,最起码用户能在第一时间获取自己需要的内容,并且可能还会二次光顾。

针对网站内某一个特定的页面而言,退出率是衡量从这个页面退出网站的比例,通过一个页面的退出次数除以访问次数。

退出率反映了网站对用户的吸引力,如果退出百分比很高,说明用户仅浏览了少量的页面便离开了,因此需要改善网站的内容来吸引用户,解决用户的内容诉求。

7. 跳出率与退出率又有什么区别?

跳出率是指用户进入网站起,没进行什么跳转操作,又从这个页面退出或关闭的比例。退出率则是无论用户从哪个页面进入网站,最终从这个页面退出的比例。

跳出率适用于访问的着陆页(即用户成功访问的第一个页面),而退出率则适用于任何访问成功并退出的页面,即用户在网站上访问的最后一个页面。退出率通常针对局部的页面来统计,比如支付流程退出率高,那就要针对现状对流程做优化。但站在网站总体的角度统计退出率没什么意义,因为有访问网站,就必然有离开网站。而跳出率则可以适用于着陆页面,也可适用于网站整体。

指在特定统计时间段内,浏览网站的一个页面或整个网站时,用户所停留的总时间除以该页面或整个网站的访问次数的比例。

如用户在网站特定时间内总停留时间为 1000 秒,在这段时间内,总的访问次数是 100 次,那么这个页面或网站的平均访问时长就是 1000秒/100=10秒。

该数据是分析用户粘性的重要指标之一,也可以侧面反映出网站的用户体验。平均访问时长越短,说明网站对用户的吸引力越差,可用内容信息越少。

在一个统计周期内,完成转化行为的次数占推广信息总点击次数的比率。

转化率=(转化次数/点击量)×100%。以用户登录行为举例,如果每 100 次访问中,有 10 个登录网站,那么此网站的登录转化率就为 10%,而最后有 2 个用户关注了商品,则关注转化率为 2%,有一个用户产生订单并付费,则支付转化率为 1%。

转化率是产品盈利的重要指标之一,它直接反映了产品的盈利能力。不同行业的转化率,关注点也不同,比如电商产品就要关注销售转化,看看参与活动的用户当中有多少是在活动后产生支付的,有需要的还可以根据数据分析出人均购买次数和购买金额。再比如我们监测注册量,就要关注注册转化率,看看这个活动给产品带来了多少新增用户。所以转化率可以针对性分析产品在哪些方面做的不足,可以快速定位到问题点。

10. 转化率是采用访客数量(UV)还是访问量(PV)?

这需要根据团队的目的而定。比如采用访问量,就是认为每次访问都可产生付费。若采用访客量,就认为用户多次访问才能购买是正常的行为。个人建议前期采用访客数量,以排除自己团队对网站访问的数据干扰,因为访问量是可以通过同一个 IP 不断刷新网页而递增的,而访客数量是精准到一个 IP 地址(即一个用户、一个设备)。

指用户对商品或者服务的重复购买次数(回头客)。

重复购买率有两种计算方法:一是所有购买过产品的用户,以每个人为独立单位重复购买产品的次数,比如有 10 个客户购买了产品,5 个产生了重复购买,则重复购买率为 50%;二是单位时间内,重复购买的总次数占比,比如 10 个客户购买了产品,其中有 3 人产生二次购买,3 人中又有 1 人产生三次购买,则重复购买次数为 4 次,重复购买率为 40%。重复购买率越高,则用户对产品的忠诚度就越高,反之则越低。

ARPU=总收入/用户数。它注重的是一个时间段内运营商从每个用户所得到的收入,衡量互联网公司业务收入的指标。ARPU 值高说明平均每个用户贡献的收入高,但无法反映利润情况,因为利润还需要考虑到成本。如果用户的成本也很高,那么即使 ARPU 值很高,利润也未必高。

而用户数可以是总平均在线用户数、付费用户数或是活跃用户数,不同产品标准可能存在差异。ARPU 注重特定时间段内从每个用户所得到的收入,衡量互联网公司业务收入的指标。ARPU 值高说明平均每个用户贡献的收入高,但未必说明利润高,因为利润还需要减去成本。ARPU 的高低没有绝对的好坏之分,分析的时候需要有一定的标准。ARPU 值高说明平均每个用户贡献的收入高,这段时间业务在上升。

即安装应用后,首次成功启动产品的用户。

按照统计跨度不同分为日新增(DNU)、周新增(WAU)、月新增(MAU)。新增用户按照设备维度进行去重统计,如果该设备卸载了应用,一段时间后又重新安装了该应用,且设备未进行重置,若再次打开应用,则不被计算为一个新增用户。

新增用户量指标主要是衡量营销推广渠道效果的最基础指标。新增用户占活跃用户的比例也可以用于衡量产品健康程度(产品没有新增和活跃,就进入「绝症状态」)。如果某产品新用户占比过高,那说明该产品的活跃是靠推广得来,这种情况非常有必要关注,尤其是新增用户的留存率情况。

即在特定的统计周期内,成功启动过产品的用户。除此之外,我们还可以将活跃用户定义为某统计周期内操作过产品核心功能的用户(按照设备去重统计)。

活跃用户是衡量产品用户规模的重要指标,和新增用户相辅相成。如果只看一个指标来定义产品的成功与否,那一定是活跃用户数。当然,一般重点关注核心用户规模即可。希望用户每天都使用的应用有新闻 APP、社交 APP、音乐 APP 等,其产品的 KPI 考核指标一般都有日活跃用户数这项。但对于某些低频消费需求和临时性需求的 APP,比如旅游、摄影、工具类等,可能会关注月活跃数,甚至特定周期内的活跃数。

活跃用户数根据不同统计周期可以分为日活跃数(DAU)、周活跃数(WAU)、月活跃数(MAU)。

  • DAU(日活):某个自然日内成功启动过应用的用户,该日内同一个设备多次启动只记一个活跃用户;
  • WAU(周活):某个自然周内成功启动过应用的用户,该周内同一个设备多次启动只记一个活跃用户。这个指标是为了查看用户的类型结构,如轻度用户、中度用户、重度用户等;
  • MAU(月活):某个自然月内成功启动过应用的用户,该月内同一个设备多次启动只记一个活跃用户。这个指标一般用来衡量被服务的用户粘性以及服务的衰退周期。

即在某一统计时段内的新增用户数中再经过一段时间后仍启动该应用的用户比例(留存率=留存用户/新增用户*100%)。通常重点关注次日、3日、7日、30日即可,并观察留存率的衰减程度。

  • 次日留存率:即某一统计时段新增用户在第二天再次成功启动应用的比例。如果次日留存率达到 50% 以上,说明这个产品已经是非常优秀了;
  • 7日(周)留存率:即某一统计时段新增用户在第 7 天再次成功启动该应用的比例。这个时间段内,用户通常会经历一个完整的产品体验周期,如果这个阶段用户能够留下来继续使用,很有可能成为产品的忠实用户;
  • 30日(月)留存率:即某一统计时段新增用户在第 30 天再次成功启动该应用的比例。通常移动端产品的迭代周期为 2~4 周一个版本,所以月留存率能够反映出一个版本的用户留存情况,一个版本的更新,或多或少会影响部分用户的体验,所以通过对比月留存率能判断出每个版本的更新对用户的影响面积,从而定位到类似问题进行优化。

若以上时段的留存率低,会映射出哪些问题?

  • 次日留存率低:说明所针对的用户群对我们的产品不感兴趣;
  • 7日留存率低:说明我们产品的内容质量太差,用户过了新鲜劲儿之后发现产品用起来特别枯燥;
  • 30日留存率低:版本迭代规划做得不好,功能更新、内容更新、BUG 修复、性能等都做得比较差,此时需要重新规划迭代内容,不可一错再错。

留存率是验证用户粘性的关键指标,设计师和产品经理通常可以利用留存率与竞品对标,衡量用户的粘性和忠诚度。对于一个版本相对成熟的产品,如果留存率有明显变化,那就说明用户质量有变化,很可能是因为推广渠道等因素所引起的。同时,留存率也是产品改版的重要指标,产品体验越好,越符合用户需求,则留存率越高。若产品本身满足的是小众低频需求,留存率则选择双周甚至是 30 日进行监测。一般来说,留存率低于 20% 会是一个比较危险的信号。

指那些曾经使用过产品或服务,由于各种原因不再使用产品或服务的用户。用户流失率=某段时间内不再启动应用的用户/某段时间内总计的用户量。流失率和留存率有紧密关联,流失率高即留存率低,但活跃度不一定高,因此需要综合分析。也是重点关注次日、7日、30日的流失率。

对于流失用户的界定依照产品服务的不同而标准不同,对于微博和邮箱这类用户几乎每天登录查看的产品而言,可能用户未登录超过 1 个月,我们就可以认为用户可能已经流失了。而对于电商产品而言,可能 3 个月未登录或者半年内没有任何购买行为的用户可以被认定是流失用户,所以不是每个产品都有固定的流失期限,而是根据产品属性而判断。设计师和产品经理需要找到流失的异常数据,定位流失用户的原因,并在下个版本中修复产品中存在的问题。甚至还可以定位到流失的具体用户 ID,通过当时用户注册的个人信息进行跟进,我们最常见的就是游戏类产品「召回老玩家」的运营手段。

即新增日后再也没有启动过应用的用户。

一次性用户是关键的营销指标,和判断无效用户的标准,从中把目标用户过滤出来。一般划定的界限是至少超过 7 天时间才能够定义是否是一次性用户。

即统计时间段内,某个设备从启动应用到结束使用的总计时长。

一般按照人均使用时长、次均使用时长、单次使用时长进行分析,衡量用户产品着陆的粘性,也是衡量活跃度,产品质量的参考依据。

即统计时间段内,用户打开应用的次数。

重点关注人均启动次数,结合使用时长可进行分析。用户主动关闭应用或应用进入后台超过 30s,再返回或打开应用时,则统计为两次启动,启动次数主要看待频数分布情况。

即用户上次使用应用的时间与再次使用时间的时间差。

使用频数分布,观察应用对于用户的粘性,以及运营内容的深度。虽然是使用间隔,但是通过计算同一设备,先后两次启动的时间差,来完成使用间隔统计,充分考虑应用周期性和碎片化使用的特征。

在工作中可能会发生这种情况「上文提到的数据指标有些看不到」、「不知道怎么看」,最终因为没有数据而无法进行监测和分析。这里主要是因为在产品上线前没有对数据进行开发统计。这部分工作一般是由产品经理去规划,开发来执行,设计师也可以提出自己想要监测数据的需求给到开发,我们把这个规划叫做「数据埋点」。

埋点其实是对产品的一个可视化健康检查,贯穿产品的整个生命周期,使产品逐步达到最佳状态(需要数据结果和产品迭代相互呼应),为未来产品优化方向给出指导意见。当然,埋点的目标不同,最终数据验证的结果也会有所不同。

比如,新版本上线,需要验证用户行为和功能效果的几种场景:

  • 新功能是否得到了用户的使用与认可?本次新增的功能用户点击率和活跃度怎样?
  • 用户在核心功能的操作路径上是否顺畅?有没有因为功能按钮的设计而导致无效点击增多?
  • 在某个特别的节日进行了产品内的 banner 推广或者促销,该活动运营的效果如何?新用户增长是怎样的?

所以说,埋点是互联网领域非常重要的数据获取手段。埋点采集信息的过程一般也称作日志采集。通俗点讲,就是在 APP 或者 WEB 产品中植入一段代码,监控用户行为事件。典型的应用场景就是某个运营活动,页面的点击量(PV)有多少,点击用户数(UV)有多少,都是用埋点数据进行计算的。当然这些信息并不是消费一次就没用了。通过埋点收集到的信息,可以作为监控并通过可视化数据呈现出来,帮助产品、设计、运营人员看到产品的长期表现,也可以作为基础原料,进行复杂的运算,用于用户标签、渠道转化分析、个性推荐等等。比如我们用某资讯类产品看新闻的时候,会发现每次推荐的内容都是上次所点击的相关类别,这就是通过埋点数据获取的用户行为习惯,通过数据进行个性化推荐。

除了对需要监测的特定功能区做埋点之外,一般大公司也有自主研发的供内部产品组使用的数据分析系统,一些关键数据在上面都能够实时监测到,并有特定的团队去维护它。其次,现在市场上还有很多数据统计工具可以自动监测到产品的相关数据,大多都是付费的,这里就不打广告了,百度搜索关键词会出现一大堆类似的数据监测产品。

产品阶段就是产品生命周期,可分为初创期、成长期、成熟期、衰退期,每个阶段的工作权重和数据关注点都会有所区别。

初创期的重点在于验证产品的核心价值,通过某种产品或服务可以为特定的人群解决某个问题。这时我们需要关注的关键数据是目标用户画像,同时是第一批种子用户对产品的使用情况和反馈建议。所以初创期更需要设计师和产品经理去做定性分析(比如用户访谈),直接确定产品是否满足了用户需求、产品有没有覆盖到更多的使用场景等。因此产品初期我们可以不用在数据分析上投入更多精力。说白了,该阶段用户量较少,用户行为等数据还停留在比较初期的阶段,所以数据分析的效果不能发挥到最大化,且价值不明显。该阶段就是先保证产品顺利上路,同时要绑定一批种子用户,解决基本的用户诉求,让产品和团队先生存下来。阶段与手段不匹配的情况下,还把某些事情强加上去,这就是「作秀」。

经过了产品打磨的初始阶段,产品一般会有较好的留存率,这个时候产品开始进入自发增长期(成长期)。该阶段的产品已经能够解决用户的基本诉求了,所以将侧重点关注在用户的生命周期的管理,为产品吸引更多的新用户来使用(新鲜血液),即拉新和留存,那么我们数据关注的重点也要放在拉新和留存上。

拉新要关注推广数据和推荐数据。

推广数据:就是产品以拉新目的所采取的所有推广运营活动和行为的指标数据,不同推广方式(线上+线下)的到达率、触达面积、点击率、转化率、二次访问率、流失率。比如我们举办了一场线下活动,现场实到多少人、哪些是目标用户、哪些不是目标用户、有多少人当场试用了我们的产品,又有多少人在活动后下载了产品等等。

推荐数据:是用户是否愿意将产品推荐给他人的行为数据分析。这里我们在数据上可以关注整个分享环节动态,比如产品有 100 个种子用户,他们中有多少人只是自己用产品、有多少人会分享给朋友、他们的分享行为带来了多少新增用户等,这些数据会告诉我们产品在用户心中的位置。

留存则是要做用户的留存分析:重点有用户的次日留存率、7日留存率、30日留存率、日活、周活、月活、产品页面访问深度、退出率等等。需要注意的是,这些指标不能单独监测,需要将他们结合起来看。说透了,留存就是要提高目标用户在核心场景的反复出现频率和停留时间(核心场景即产品的主要功能、主要盈利模式和用户最喜欢的模块)。

随着用户快速增长,产品不断完善,产品在进入成熟期前后,设计师和产品经理的重心开始从用户生命周期的前半段(吸引、激活、留存)往后半段(流失、回流)开始偏移并做出相应的产品设计,同时也更关注商业化行为,即用户价值(用户给产品带来的价值,产品给开发者带来的价值)。

这里的用户价值指的是用户对公司和产品的商业价值,即解决产品诉求。和我们经常说的用户诉求有所不同。该阶段我们要根据用户的情况进行细分,「保大弃小」,尽可能提升高价值用户的活跃度,对于低价值用户可以适当地减少投入精力。有增长就有减少,所以除了对用户活跃度的关注之外,还需关注核心场景的用户行为数据和高价值用户的流失率。

假设我们的产品日活和周活都很高,但是核心场景上的点击率或是停留时间非常低,核心场景关系到公司商业目标和价值的实现,用户在这一块的行为少,要么你的用户不是目标用户,要么你的核心场景存在比较大的缺陷让用户不满意。高价值用户的流失率也是一个道理,都是值得引起我们警惕的数据指标。

每个产品都有一个生命周期,这是受市场因素导致的,此时用户会逐渐流失(这里说的流失并不是完全放弃我们的产品,而是从降低活跃度渐渐走到消失),即被其它新产品的体验模式所吸引,所以这时应该更关注用户流失后使用的产品,分析竞品的商业模式和功能,同时监测流失速度,需尽快拓展产品边界,寻找新的切入点。

1. 改版前不放在心上,迭代发布后才关注数据

对于平常就很少关注数据的设计师来说,经常在改版前因为专注于界面上的优化,而忽略了真实的用户行为。

真实案例:我们产品中有一个步进器组件,用于客户选择相应的天数,且此项为必填项。之前我们内部的沟通结果是提供一个 7 天的默认值,当然对此默认值是有争议的,有的同事认为默认 10 天比较合理,所以为了验证用户的操作习惯,我们在上线前对该组件进行了埋点。经过用户使用过一段时间之后,我们通过数据发现大部分用户在使用步进器时,点击「减少」比「增加」的次数要多,而且一般停留在5天,就这样我们把默认值从 7 天优化为 5 天,减少了大部分用户的 2 次点击,并且在类似的业务模块内,会记住用户上次所选的值,从而提高填写表单的效率。

虽然只是一个小小的交互优化,但足以证明设计师关注产品数据不仅能够验证设计结果,还能对产品体验不断打磨,精细化提升用户体验。很显然,如果没有此次对数据的监测和教训,只会让我们继续活在自己的世界里,永远也不会在意这个小问题,导致这个组件继续复用、滥用,一错再错,直到用户亲自给我们提优化建议的时候,就已经太晚了。

所以,如果你想让某个设计方案更贴近用户或者想对比改版前后的效果,那就需要提前将自己的埋点需求整理成 Excel 表格,发给相关的开发同事,再对照交互原型详细讨论这些埋点,确保双方理解一致,不至于最后埋点的数据不是自己想要的。

下面分享一份我在工作中用到的埋点需求表(用户行为统计表)和数据收集表。

2. 成为一名解决产品问题的设计师

随着互联网行业的发展,行业对我们设计师的要求只会越来越高,从近两年冒出的 UX 设计岗、产品设计岗就能感知到。所以,未来的界面设计师一定会更关注产品和数据,不再是曾经「画」页面的团队底层执行者了,了解一些数据知识可以将用户的行为可视化,以便更清晰地了解用户行为,经过一段时间的数据对比,设计师和产品经理可以共同验证并规划后面迭代的方案,预测产品的走向与趋势。并且通过数据分析,可以量化交互方案的效果,作为一名解决产品问题的设计师,可以主动去承担一些用研工作,化被动为主动。

以上是一些基础的数据指标,希望对你有所帮助。若有来自不同行业和业务的产品数据指标,欢迎讨论交流。

欢迎关注作者的微信公众号:「UXD笔记」

}

我要回帖

更多关于 对数据在不同维度进行交叉展现 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信