前言
大数据云的数据交换共享平台架构探索(上)
云计算、大数据和人工智能的融合成为市场追逐的技术热点。云计算作为底层为上层大数据处理提供支撑,加速应用开发与服务创新;另一方面,应用的丰富激发数据体量增长,人工智能技术落地实现,构成Artificial Intelligence + Big Data + Cloud的大数据行业发展趋势。
该趋势下,各个厂商都在寻求更好的ABC技术共建方式,以解决传统大数据平台的一些常见问题:
①数据孤岛问题
传统方式建设企业系统时,不同部门或团队通常会构建独立的数据库,导致的问题有:同一份数据存在于多个业务系统内且内容不一致,缺少统一的数据标准、数据管理流程及可靠的管理工具,出现质量问题时往往无法有效追溯并修正。
②烟囱开发问题
“烟囱”式架构是传统企业系统开发的弊病,不同团队独立建设、独立开发服务和应用,带来安全、运维、升级、部署等通用功能的重复开发和投入问题,这种开发的低复用率带来了巨大资源的浪费,难以形成技术合力,也不利于团队间的研发管控和质量提升。
③技术门槛问题
大数据和AI的应用与运维十分昂贵,无论是对于平台建设、团队建设还是业务探索而言都会带来不小的开销。将数据服务化、资产化、在线化,以方便客户、技术开发人员和数据科学家使用,降低技术门槛是当务之急。
以上问题得到广泛重视,许多企业(特别是跨地域多级别的大规模组织)都希望引入好用有效的数据管理与应用开发一体化平台,实现高质量数据交换共享服务。星环科技高级研发工程师李光跃在Arch Summit 2018(全球架构师峰会)上分享了他利用星环大数据云TDC搭建数据共享平台的探索过程,本文将具体解读他在会议上的演说内容,讲解如何借助大数据和云计算技术直指以上痛点,满足用户多元化、复杂的需求,降低数据开发、管理的难度。
TDC(全称Transwarp Data Cloud)是星环科技新一代智能大数据云平台,可以根据不同行业用户的需求,提供各种云上的数据服务解决方案。
数据交换共享平台需求
首先来看一下某真实企业对数据交换共享平台的现实需求。
需求主体:
某省大型银行服务类机构
需求背景:
该服务机构下有一百多家二级法人机构,需要为二级法人构建统一的基础设施,进行数据托管;
该服务机构只具备数据管理权,不具备所有权,需要为二级法人进行数据下发操作;
该服务机构已经部署星环数据仓库产品TDH,并在上面介入了十几个系统,每日任务量繁重。
需求痛点:
原有数据下发流程需要较多的人工辅助,时效性低,且缺乏灵活性,无法自助自定义下放数据内容;
二级法人的数据需要足够的隔离,不同法人之间不能看到对方的数据;
缺乏有效的权限管控,审计流程;
二级法人机构对数据的运用还停留在早期阶段,没有大数据平台辅助分析和决策。
总体而言,在该场景中,随着数据量的日益膨胀,在缺乏统一平台管控的情况下,数据共享交换将保持在一个低效、低安全性的状态,不利于数据的使用和管理。针对该现实场景,我们对需求进行了进一步的剖析,具体转化为以下数据共享平台应具备的功能:
需要能够支持多租户,且租户之间完全隔离;
需要提供统一的数据中台,提供数据目录;
需要提供租户自助申请,管理员审批,自动化数据交换过程;
需要打通数据中台和租户的双向连接,且保证权限管控;
需要提供审计功能。
大数据云应对多用户场景
TDC兼具云应用特性和海量数据处理能力,同时提供方便的容器应用部署,对于数据共享的实现有极强的便利性,所以只需要进行逻辑上的梳理和相应的应用组件开发,就可以实现数据共享服务。
(一)多租户模型构建
首先,进行多租户模型的设计,注意保证两个关键特性:隔离和共享。TDC提供原生的多租户属性,可以把每个二级法人映射为云平台上的每个租户。租户之间完全隔离,默认各自只能访问到内部所属数据。租户权限管控和数据管理分别由统一的权限与管理服务以及统一的数据服务提供。数据共享过程通过租户主动发出共享申请以及申请订阅实现。
(二)基于多租户模型的数据共享交换架构——初探
有了上述多租户模型,还需要针对企业需求,从共享过程出发,琢磨数据共享交换架构的细节。
该企业的数据交换共享过程是:从原来的数据中心TDH集群,流转到每个法人租户,过程中保证数据对租户可见度的管控,同时允许租户主动参与数据共享。
因此我们将数据交换共享架构分为三大块(见上图)。左下角是该企业原有的TDH集群,存储了所有二级法人的全部数据,右下角是云平台层的系统租户,负责共享平台的数据服务和任务调度,上面一块代表各二级法人租户。
上述三部分分别具有一个安全管控组件,用于提供集群或者租户内部用户权限管控系统。每个安全组件间可通过配置互信,实现用户的认证互通。
前面的需求分析提到,二级法人(租户)要能够自助地进行数据申请,因此必须让租户可以感知TDH集群中的数据信息。为此我们在平台租户中部署了一套元数据管理组件,它将从TDH集群的消息队列中获取数据仓库中所有数据元信息。同时在每个租户内,内置一个数据目录组件,它通过连接到平台层的元数据管理组件,获得TDH平台上的数据信息,从而进行数据申请。
上面是数据共享架构的基本形态,现在来看一下数据从TDH流转到TDC的具体流程:
该过程涉及三个角色:租户内普通用户、租户管理员、平台管理员。首先普通用户登陆TCC,进入数据目录找到目标数据,进入到数据目录组件搜索到目标数据后,选定需要申请的具体内容以及同步周期,生成数据申请工单到工单系统,由租户管理员进行审批。租户管理员同意后,系统会把申请传递给平台管理员,由他在TDC管理运维系统中处理这条工单。平台管理员审批通过,平台层数据共享任务组件将解析这条工单,生成数据流和工作流,负责从TDH集群上去抽取数据,然后写入租户内的分布式数据库,这样就完成了从数据中心TDH到二级法人租户内的数据流转。
如何优化
该架构目前已经满足了数据共享基本功能的需求,但是有没有值得提升的方面呢?是有的——在于数据的传输速度。这套方案的数据流转是数据流组件通过jdbc连接数据库实现的,数据传输的速度大约只能达到每秒5000条,对于动辄上亿条数据的数据流转,该速度会造成漫长的等待,极其不适合投入于生产。
于是,下一步我们将优化重点放在数据的流转方式上。如何将数据流从上层逻辑转移到下层实现,充分利用平台分布式架构特性提升速度?另外,如何确保数据在传输时的安全隔离性?下篇文章将介绍我们对于这些问题的解决方式,也欢迎各位读者对这些问题先进行自己的思考。
往期原创文章
大数据开放实验室由星环信息科技(上海)有限公司运营,专门致力于大数据技术的研究和传播。若转载请在文章开头明显注明“文章来源于微信订阅号——大数据开放实验室”,并保留作者和账号介绍。