我们讲完了这个中台的一个架构和它的逻辑模型,如果我们要来考虑实施数据中台有哪些技术模块要考量。还回到刚才那张图,首先中台必须是基于一个数据统一平台的,那数据统一的时候,其实刚才没有讲到的,还需要把数据同步和汇聚过来。所以有一部分的工作你是少不了的,如果你没有做过这种中台甚至统一平台的话,你必须有一个ETL平台来把你的来自各个来源的数据抽取过来,抽到你的数据统一平台上。
数据统一平台你用什么样的解决方案?那是另外一个问题,回头我们会讨论。那进到里面了以后,我们在上面才构建我们的资产体系,这个是需要用到中台相应的一些比如数据治理的模块能力来做这个事情。那最上面层就是一套服务化能力,要把它做成API server 的方式,把这个数据快速的可以交付出去。
基于上述对于数据中台的理解和定义,我们列出了数据中台所应该具备的技术需求。主要是分为: 数据存储系统、 数据同步汇聚工具、 数据治理和开发、 数据交换和发布、数据管理能力五大模块。
如下表:
模 块 | 关键能力 | 备 注 |
数据存储系统 | 横向扩展能力 | 中台需要具有能够收纳企业所有业务系统数据的能力 |
灵活数据模型 | 中台数据模型多为整合多个源系统, 并且需要不断支撑新型需求, 需具有灵活建模的能力 | |
高并发低延迟响应能力 | 中台支持交互式应用, 并有可能直接穿透到客户, 需提供毫秒级数据访问能力及高连接数能力 | |
同城高可用及异地备份 | 中台支持的为前端业务系统, 必须具有 24×7,99.9%的高可用能力, 以及异地热备的能力 | |
数据安全 | 存储加密, 传输加密, 字段加密, LDAP 认证, 鉴权, 稽核 | |
数据同步汇聚工具 | 批量同步及导入能力 | 能够把已有业务数据一次性或定期方式导入到中台 |
数据库实时同步能力 | 以 CDC 方式, 在3~5秒延迟内将数据从源生产数据库同步中台存储系统, 保证最佳用户体验 | |
数据库及其他数据源支持 | DB2, Oracle, PG, SQLServer, DW, Hadoop, CSV, Legacy 及 API 接口等等 | |
断电续断传机制 | 系统中断后可以从中断继续, 不会丢失数据更新 | |
异构数据模型整合能力 | 支持不同源系统不同结构数据模型在同步过程中同时进行模型转换, 如转换 JSON 格式 | |
数据治理及开发 | 数据目录及元数据管理 | 需提供一个可自定义数据目录的管理能力, 有效组织中台内众多的数据类型。支持修改描述, 搜寻等功能 |
数据建模 | 支持在中台内进行按照业务需求动态建模, 包括新建模型, 多表合并或关联合并 | |
数据开发 | 支持在中台内进行数据的一些处理及计算, 如转换栏位类型, 栏位增强, 数据合并等 | |
数据质量管理 | 支持定义数据规则并对违规数据进行统计, 检查及修订等 | |
数据匹配去重 | 中台需提供唯一数据 ID 能力。来自不同源系统的同一个数据实体 (如客户) 需能够进行匹配及去重 | |
数据交换及发布 | 无代码 REST API 快速发布能力 | 中台的数据模型需要能够即时的以 API 方式发布出去 |
REST API 订制能力 | 可按照需求进行级及列级的过滤 | |
API 文档及测试 | 提供工具让用户了解 API 的使用方式并进行测试 | |
SQL 计算接口 | 允许让 BI 及报表用户以 SQL 方式来查询数据 | |
横向扩展及高可用 | 能够随着使用量的增加和进行能力扩展 | |
大数据计算接口 | 提供 Hadoop/Spark 数据计算框架的对接能力, 能够直接与其对接提供数据进行数据运算并收集计算结果 | |
流计算接口 | 提供 Kafka 或类似的流处理计算框架的对接能力, 能够向 kafka 以 producer 方式提供数据或者以 consumer 方式消费数据 | |
系统管理能力 | 可视化任务设计 | 通过 UI 进行数据开发任务的设计及调整 |
任务调度及监控 | 提供任务调度及任务运行状况实时监控, 了解数据同步或者处理进度 | |
日志管理 | 系统运行日志监控及搜寻 | |
告警机制 | 异常事件如任务中断即时报警 | |
用户权限管理 | 创建、修改中台管理用户, 角色及权限配置等 | |
数据备份及恢复 | 数据的即时备份及指定时间点恢复能力 | |
集群管理及监控 | 中台系统集群的部署管理, 运行状况监控等。 |
我按照各每个系统大概列了一些数据中台比较核心需要的能力,当大家在采用某一种系统的时候,某一种方案的时候,可以对照一下。也不是每一个你们都会关注,但是这是从我们经验中经常用得到的。比如作为数据平台存储系统的话,你第一个肯定是要横向扩展。为什么?你做的是一个企业级的数据平台,你要把所有的原系统有可能真的做到其极致的话,可能全部把他拿过来,所以你必须得有一个横向扩展能力。不能想今天我的数据这个数据在MySQL可以放得下了,或者是一个Oracle可以放得下了,但你要考虑到明年、后年,甚至是三年、五年以后,因为这个架构放上去以后是一时半会不会动的,那灵活的数据模型,这些也是我们的经验,我们要这个是做一个数据汇聚。往往你的一套同一个客户系统,同一个客户模型会来自于多个不同的系统。这个时候,你有一种灵活的模型和相对的一种比较死板模型的话,你会发现这种灵活模型会比较容易的把数据整合进来,能够接受不同的一些字段的变化,也可以方便的把它合并到一个模式里面。
高并发低延迟就是我们这个中台最终不仅仅是支撑分析,还要支撑前面的业务,所以必须得有这种潜在的直接穿透到前端,例如我们的移动端用户,或者会有大量的这种高并发。作为这个核心数据,高可用、备份、安全都是不用说的了。这是关于存储系统数据平台的一些最基本的一些要素,所以大家考虑的时候,可以从这方面来想这个问题。
其他还有涉及到就是同步工具。批量导入能否实时同步?批量导入一般都有,但是能够实时同步,比如说因为我们要做的事情真的是比如说我们在一家银行做的需要这边刷卡,刷完卡,这个数据在三秒之内直接要进到我们的中台里面,因为上面有一些业务场景会给予中台来做一些推送。所以这个时候实时同步的能力是非常关键的,然后还有一些断点续传或者是所有的数据源的支持,这个就是比较常见的这种同步工具的一些需求了。
治理开发就是我们刚才讲的很多就是说怎么样之间数据体系,你必须得有一系列的能力。数据目录、原数据管理、建模、开发、质量管理等等,匹配去重都是,需要在考察的时候,看他们中台有没有这个能力来做这些事情。
数据交换的发布就是我们的data API。我们说这是一个数据开发平台,我们面对的使用者,比如大数据团队也好,或者数据管理团队也好或者DBA也好,往往不会是开发人员来做这事情。这更像是一个比较中央化的数据平台团队,所以他们关注的可能是一些管理能力,无代码能力就不用让他们写很多代码,所以这个API能否很方便、很快速地按照需求来接通到为前端做服务,这是很关键的。当然,接口的多样性也是非常关键。SQL方式,大数据、流数据,这些接口都按照我们的需求考虑是否需要。
最后一点就是系统管理能力,就是常见的就是这种可视化。因为这里面做很多的事情要有一些相应的任务管理、任务设计、监控、告警啊等等,权限管理,一般的系统都会有这种需求。
Tapdata 钛铂数据
联系我们获取企业版 Demo:[email protected]
立即体验线上异构数据库同步服务:cloud.tapdata.net