魅族大数据可视化平台建设之路

2023-11-12

本文是根据魅族科技大数据平台架构师赵天烁3月31日在msup携手魅族主办的第十二期魅族技术开放日《魅族大数据可视化平台建设之路》演讲中的分享内容整理而成。

内容简介:本文主要从现状&问题、当前目标、实现方案三个方面介绍了可视化平台的建设之路。

图片描述

魅族科技大数据平台架构师赵天烁

一、现状&问题

大数据可视化的解决方案,与普遍意义理解的数据可视化不同,其面临的问题又分两个不同的层面:一是数据层;二是可视化层。

数据层面:

1. 数据接入

即如何把不同渠道、不同格式的数据接入进来,原始数据不标准的结构化信息,不可以直接做可视化。

2. 数据质量

即保证元数据指标清晰、数据内容直观、数据无误,使关心业务、关心数据的人得到数据里面的价值。

3. 数据查询

大数据的呈现下,性能查询、数据的实施,如何解决大规模计算带来的可视化挑战,包括易用性、数据更新的频率,特别是大数据场景下,数据更新频次非常高,这些都是全新的问题。

4. 数据安全

做大数据的人群,基本上都会建一个数据中台,但不同业务层面的整体的数据仓库一旦将不同来源的数据汇集到一起,权限的问题是避不开的,不同的业务团队及角色之间根据业务场景的不同,都有非常大的差异。如何去指标维度级的鉴权、行级、列级鉴权,还有公司内部数据交换的时候如何做脱敏都是我们面临的问题。权限的控制有两种,一是直接鉴权,二是后置审计。

图片描述

可视化层面:核心主题

1. 组件

大数据可视化过程中,我们要思考如何用组件化的方式做条件样式、联动、自定义的方式支持专业用户的可视化。

2. 功能特性

我们应思考如何做到常见的维度切换、自由排版、区域分组联动,最终使整个数据可视化呈现形成一个活的页面,更为关键的是,如何将分析的思路套进去。以期实现通过可视化平台把相关的数据思维与业务相结合,将专业用户的分析思路和视角用一种平台化的方式传递给业务同事,使分析的思路可复用化。

3. 预警和通知

我们希望将关键性的指标直接规则化,甚至系统内置,跟元数据平台做打通,通过元数据第一时间指示核心指标的异常波动,第一时间推送给相关的人员。

4. 多终端

多终端是体验层面的提升,我们不仅希望做PC端的网页页面和移动端APP的数据查看,还希望做行业级数据报告(不一定外发),内部传递形成一个可复用的产品,把数据的价值用更直观、更互动性的方式呈现出来,最后实现多端分享和互动。

二、当前目标

1. 基础功能

基础功能就是常见数据源的支持。

2. 灵活扩展

灵活扩展可用于解决前置数据层面的接入,80%的问题用平台化的方式解决,20%的问题提供插件化或者扩展的机制,即二八原则。

3. 体验优化

数据可视化不是C端服务,是专业的应用场景。关注点在功能和满足业务诉求的层面,先谈能解决,再谈解决的好坏。

4. 平台集成

我们希望魅族平台不只解决数据可视化问题,对于如何把数据从底层公共架构模型里面一层层剥下来,也是我们需要解决的问题。

5. 场景封装

二八原则解决所有的业务后,接下来面临的问题是场景的封装和深入。解决了第一层的呈现问题以后,把数据化运营的思路贯穿在数据可视化的最终结果里面,就是场景化的垂直封装。


我们做的是一个组件、是一个工具、是一个平台还是一个解决方案还是生态?在实际做决策的时候,前面三部分,甚至第四部分是都是要考虑到的,它会影响我们职业的里程碑。

最终决策的是结论,我们结论的优先级如下:

1、满足基础功能
2、有可扩展性、二八原则,至少解决所有业务
3、工具优先于平台,先是工具,然后用平台化的思路解决整个数据流转过程中的价值变化问题
4、上下游的集成

图片描述

三、实现方案

1. 定制

正因为市场上,很多商业化产品并非销售所说的那么优异。魅族的可视化类型又要做一些特别细粒度的优化,所以我们基于这个考虑,为快速响应、满足自身的需求,优化自身的资源,我们采用少花钱的原则。毕竟商业化产品要付费,额外的定制费用同样不菲。

2. 产品集成

数据可视化平台希望和魅族平台做深度的集成。当公司面临重大阶段性问题的时候,如果只做简单的服务是不行的,所以我们首先要重视数据安全集成问题

其次,分析引擎的集成问题也是我们要关注的。大多数做数据可视化不一定有分析引擎的能力,异构数据源的介入最常见的做法是给一个接入层,做简单的驱动接入或者连接的配置,最后的查验性能非常差。尤其多维分析,对大宽表的处理、高维数据的降维可视化。所以分析引擎我们也是自己来进行定制、接入,我们内部数据库的引擎,基于Hadoop生态有Hadoop或者这之上引入的开源场景等各种各样的类型。

最后,我们还要关注数据化运营产品的集成。比如我们的推荐平台、数据开放平台、精准营销平台、广告等,都会涉及数据可视化的内容,也都会借助数据可视化的能力。只不过在某个特定的业务场景里面有这个诉求,包括机器学习、图象识别等标签的结果,都跟数据可视化有关系。很多商业化的产品,在这个维度一定要定制开发,内部系统有些历史包袱或者设计上的传带问题,都很难商业化做通用。

3. 复用

多点、大屏、PC、移动端等都可以页面复用。可视化的组件可以复用,可视化的区块在不同的业务场景里面都能用。这个复用不一定是平台级的复用,甚至可以做让业务系统、做区块级的可视化集成。数据接口层面的集成,既然对接公司的分析引擎,有统一的分析入口,完全可以做数据服务化。可视化平台在魅族最终并不是简单的呈现,下面集成的分析引擎,下面对接的元数据,各级的服务都可以拆分做服务化和平台化。

4. 快速响应

如何高效效应,是我们非常关注的点。同时解决上述提到的问题都可以高效响应。

图片描述

上面谈到不用商业化产品的原因,现在我们来具体的分析如何解决此问题。关于数据层,数据接入和质量、安全均是由大数据基础平台解决,我们更关注的是右边的数据访问层。

图片描述

数据访问层在魅族内部有如下几个不同类型的引擎:

  • 实时计算

实时计算中Spark Streaming、Storm、Tindex,Tindex均可以对时序做得很好。

  • OLAP

Vertica不便宜,成本也很高,正在被慢慢替换掉。随着业务的增长,定制化的需求会逐渐增长,我们开始使用Kylin。Kylin的优势是去做OLAP分析,多维数据直接聚合,它是预计算的模式,性能比较好;劣势是实时性较差。我们基Kylin做了一些定制,主力还是离线计算;此外,它不太擅长做大范围、高基维的排序和模糊检索,因为它底层基于存储是Hbase,所以对模糊检索并不是特别适合。我们做内部统一查询入口的时候,会考虑Kylin社区当前的动线和我们有哪些异同。

  • 即系查询

右边的两个查询,一个是即系查询,第二个是TIDB基于Google的LE有一个商业化公司做分布式商业化解决方案。Kylin预计常见的并发度会高一些,甚至可以优化ETL过程。

  • 文本检索

图片描述

对于我们是否要引入统一的SQL访问层,我认为有利也有弊。优处在于可以权限过滤、日志审计、请求路由、性能优化、标准化;弊端在于它的成本高、周期长、兼容性、迁移成本、必要性

图片描述

对于魅族来说,由于SQL成本太高,所以我们目前选择不做SQL。固定的研发周期,对于我们来说还是很困难的。所以我们最后做了统一概念模型,字段、指标、维度、参数、动态条件、分页、导出这几个诉求,是数据访问层里面常见的诉求。

如果要做数据挖掘和数据科学维度,SQL语言便无法满足此要求,这时就要对接一个技术生态。集成一些parcel的组件的库,把这些抽象的模型做成parcen的组件,只管最后的输入、输出。魅族当前已经开始着手做统一的SQL访问层,只用SQL解决传统数据分析领域的问题。

图片描述

数据交换和模型集市,是数据可视化平台和元数据平台紧密合作做出来的东西。对于指标逻辑的梳理跟元数据一致性的控制较难把控,它的做法是把底层的东西做元数据打磨,导到元数据平台,形成模型集市。

图片描述

如果大家对数据可视化相关的东西有诉求,但是短期之内限于成本,也不想建团队开发平台,也不想买商业化的产品,我给大家推荐两个免费软件


首先推荐Superset。它的展示类型非常丰富、功能也很全面,而且它对权限的解决做得很深入。

很多开源的可视化解决方案并没有处理权限问题,但是这个软件可以做数据分析和挖掘,可以动态调一些指标、模型,包括做简单的降维处理等。

图片描述

图片描述

接下来,我们要推荐的软件是Metabase,它在交互、视觉设计跟友好度上会比Superset要强,虽然功能没有Superset那么丰富,可视化的类型也不如Superset多,但它的设计和体验驱动较好,所以纯运营产品的同学用起来会是一款很不错的工具,它能够做数据的多维转取、检索、查询、机器分析

图片描述

图片描述

为了帮助大家更好的做选型,我将上述的两个软件做了全面的对比。

Superset的优势是可视化类型丰富、探索式分析+可视化、Dashboard构建、SQL编辑器、权限控制完善、开箱即用、支持主流数据源。劣势是自定义SQL的语义层、封装不完善、交互体验复杂、可视化效果一般。

Metabase的优势是探索式分析+可视化、可构建Dashboard、开箱即用、交互体验简洁实用、设计的完成度高、支持主流数据源、SQL编辑器。劣势是可视化类型较少,探索式分析自由度有限、权限控制比较简单。

图片描述

在开源技术选型的时候,除了上述外,社区活跃度、版本更新的频率、因素解决的频率,会比所有的功能都重要。

魅族选择开源的产品,可视化的封装,要和成本、标准化定义和定制化需求做权衡,因为我们的选择直接决定了平台产品的边界和未来的走线。

图片描述

魅族在实施具体方案时,可视化层遵循二八原则,80%用常用区块类型、视觉主题、布局结构、功能特性。

图片描述

下面三张图是思维导图,第一张图是区块的类型、视觉主题、布局结构,下面的两张图是常用功能及扩展,这三张图反映了当前数据可视化平台面临的所有细节问题和选型的细节。

图片描述

图片描述

图片描述

下图反映了我们在布局结构中,曾走过的弯路。

图片描述

布局结构是基于网格的布局结构,尽量不要做绝对布局。

图片描述

最后我们来看一下集成服务化的问题,既然做统一概念模型,就可以变成服务化的平台。

图片描述

上层可视化中需要的数据级和查询,都可以封装成一些服务,通过ID去指定查询的数据级。除了给可视化平台用,它还可以直接变成数据服务化的体系。

图片描述

可视化的SDK也可以做封装,它还可以开发业务系统,加强布局结构导航。

图片描述

把统一的概念模型,定义在可视化平台里面做检索和展现,最终可形成数据超市。

图片描述

权限平台的集成,并不是核心的点,它是做权限集成的。

图片描述

以上内容来自赵天烁老师的分享。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

魅族大数据可视化平台建设之路 的相关文章

  • PL0语言出错编号表

    Notes 编译原理第 3 版的书貌似没有这个表 做实验和写课设的时候很不方便 把别人拍的第 2 版书上的这个表在这备份一份 Error Code Table 出错编号 出错原因 1 常数说明中的 写成 2 常数说明中的 后应是数字 3 常
  • 为什么JAVA文件中只能含有一个Public类

    1 一个 java 源文件中是否可以包括多个类 不是内部类 有什么限制 答 可以有多个类 但只能有一个public的类 并且public的类名必须与文件名相一致 2 为什么一个文件中只能有一个public的类 答 编译器在编译时 针对一个j
  • 编程中常用设计模式

    单例模式 单例模式的优点 1 在单例模式中 活动的单例只有一个实例 对单例类的所有实例化得到的都是相同的一个实例 这样就防止了其他对象对自己的实例化 确保所有的对象都访问同一个实例 2 单例模式具有一定的伸缩性 类自己来控制实例化进程 类就

随机推荐

  • 【云风skynet】详解skynet的多核高并发编程丨actor模型丨游戏开发丨游戏服务端开发丨多线程丨Linux服务器开发丨后端开发

    skynet中多核高并发编程给我们的启发 1 多核并发编程 2 actor模型详解 3 手撕一个万人同时在线游戏 视频讲解如下 点击观看 云风skynet 详解skynet的多核高并发编程丨actor模型丨游戏开发丨游戏服务端开发丨多线程丨
  • C++设计日志:读写定界符文件

    C 设计日志 读写定界符文件 荣耀 2003 我将撰写的 C 设计实践 系列文章 会讲到一些数据处理系统设计方法 我并不希望文章局限于特定数据库产品 我也不喜欢空对空地讲述太多抽象道理 我必须编写一些模拟数据库操作的代码 用于读写定界符文件
  • notepad linux,适用于Linux的11种最佳Notepad ++替代品

    Notepadd 是一个完全免费的源代码编辑器 作为Windows上的 Notepad的替代品而创建 基于Scintilla在C 中编写 并实现了Win32 API和STL 以确保程序大小小 执行速度快 这些功能使其成为一个家族开发者名字
  • 有哪些值得推荐的LoRa模块?

    随着物联网技术的发展 LoRa模块已经被应用到各行各业 其在市场上受欢迎程度非比一般 业内对于LoRa技术的发展前景有着非常乐观的看法 目前国内生产LoRa相关产业的企业数量已超过数千家 创新微MinewSemi在LoRa模块方面也积累了一
  • inux启动输入密码出现module is unknown

    当启动输入密码无法登录时 重启按下e键 在linux16这一行中找到ro 将ro改变为rw 并在结尾添加init bin sh 查看 var log secure日志文件中排查错误 最终发现是 lib security pam limits
  • 2021年全国职业院校技能大赛(中职组)网络安全竞赛试题(1)详细解析教程

    2021年全国职业院校技能大赛 中职组 比赛环境可以私信博主获得 网络安全竞赛讨论可以加扣群421865857 网络安全竞赛试题 1 总分100分 赛题说明 一 竞赛项目简介 网络安全 竞赛共分A 基础设施设置与安全加固 B 网络安全事件响
  • cpp: Abstract Factory Pattern

    Gold h 此文件包含 Gold 类 Abstract Factory Pattern C 14 2023年4月30日 涂聚文 Geovin Du Visual Studio 2022 edit pragma once ifndef GO
  • C++中vector使用方法

    目录 1 基本操作 2 算法 3 输出vector的中的元素 三种方法 在C 中 vector是一个十分有用的容器 是一个能够存放任意类型的动态数组 能够增加和压缩数据 vector的优点 1 可将容器中元素翻转 复制元素 找到元素值对应的
  • 信号与系统学习总结 第三章 傅里叶变换

    信号与系统学习总结 第三章 傅里叶变换 章节思路 傅里叶级数 傅里叶变换 周期信号傅里叶变换 抽样定理 傅里叶级数 满足狄利赫里条件的周期函数f t 可以分解为a0 直流分量 cos n 1t 和sin n 1t 的和 根据欧拉公式 还可以
  • C语言实现银行家算法

    问题描述 银行家算法描述 假设系统中有n个进程 m种资源 对于该道题目而言 n为5 m为4 定义一个5 4的allocation分配矩阵 用来表示对所有进程的资源分配情况 Allocation i j k 表示进程Pi已经获得j资源k个 同
  • 区块链节点和区块区别_区块链中主链和侧链的区别

    区块链尤其是公有链都有主网和测试网 主网是区块链社区公认的可信区块链网络 其交易信息被全体成员所认可 有效的区块在经过区块链网络的共识后会被追加到主网的区块账本中 按区块链网络的独立程度 分为两种 主链 侧链 两者的区别如下 1 主链指正式
  • Windows Terminal + wsl 之调整ls命令颜色、底色方法

    1 显示预设置 执行 cd dircolors p gt dircolors 2 接着修改 用vi 可预览效果 vi dircolors 找到如下条目 修改字体颜色和背景色如下 STICKY OTHER WRITABLE 30 46 dir
  • Matplotlib

    文章目录 1 什么是matplotlib 2 实现一个简单的matplotlib绘图 3 matplotlib图像结构 4 matplotlib基础绘图 多个坐标系显示 plt subplots 面向对象的画图方法 5 常见图形种类 1 什
  • 浏览器控制台反调试

    反反调试 常规方法 前文所提到的几个反调试方法 除debugger方式外 均判断是否打开开发者工具 破解的方式也很简单 基本只需两步就可以搞定 将开发者工具以独立窗口形式打开 打开开发者工具后再打开网址 反反调试 debugger方法 若使
  • Django框架的源码解析

    简述 从django admin startproject name 开始 小结 django core management init py 1 5个方法 2 ManagementUtility 类 小结 base py 1 2个方法 2
  • super.onCreate(savedInstanceState);

    super onCreate savedInstanceState 是调用父类的onCreate构造函数 savedInstanceState是保存当前Activity的状态信息 onCreate方法的参数是一个Bundle类型的参数 Bu
  • Facebook存储65亿张照片的存储框架

    Facebook存储65亿张照片的存储框架 从未用过Facebook 但是还是对Facebook应对大容量的非结构化数据存储方案感兴趣 本文是通过在线网络广播 webcast 经本人翻译得来的 因此 本人并不能确保本文中叙述的内容与原文we
  • C++中结构体、公用体在内存单元占用字节数计算

    一 数据类型所占存储空间对比 数据类型 64位机 32位机 char 1个字节 1个字节 short 2个字节 2个字节 int 4个字节 4个字节 long 8个字节 4个字节 float 4个字节 4字节 double 8个字节 8个字
  • 软件外包开发代码管理工具

    软件代码规范是为了提高代码质量 可读性和可维护性而制定的一系列编程规则和约定 代码管理工具则是用于协助团队成员共享 跟踪和合并代码的工具 今天和大家分享这方面的知识 希望对大家有所帮助 北京木奇移动技术有限公司 专业的软件外包开发公司 欢迎
  • 魅族大数据可视化平台建设之路

    本文是根据魅族科技大数据平台架构师赵天烁3月31日在msup携手魅族主办的第十二期魅族技术开放日 魅族大数据可视化平台建设之路 演讲中的分享内容整理而成 内容简介 本文主要从现状 问题 当前目标 实现方案三个方面介绍了可视化平台的建设之路