oneService 是阿里提出的数据中台三大核心概念 OneID、OneData、oneService 之一. 数据中台有其适用的特定场景,但是无论是否引入数据中台,数据服务都是当前数据使用的主流方式,是企业级架构不可或缺的中间件. 数据中台的目标是以数据驱动赋能业务, 而 oneService 是通过 API 的方式实现数据共享、开放,通过发布订阅的方式实现数据服务的复用。
oneService 的核心功能是 API 开发、API 测试、API 发布和订阅. API 开发主要有面向数据运营人员的向导模式以及面向数据分析人员的 SQL 模式。向导模式是通过拖拉拽的方式实现无代码开发, 而 SQL 模式则通过 SQL 编辑的方法实现较为复杂的查询逻辑。对于 SQL 模式的使用存在一些争论,持有反对观点的人认为数据服务应该是针对已经加工处理好的数据,而不是直接用于报表分析; 而且一旦开放 SQL 可能会引入很多问题,比如 SQL 注入、查询逻辑太复杂导致接口响应时间过长等。而赞成的观点主要是 oneService 的功能之一是减少接口开发的工作量,方便不会接口开发的数据分析人员,缓解烟囱式开发的局面。无论如何,阿里的 oneService 已经开放了 SQL 模式, Dataworks 更是允许用户使用 mybatis 的方式实现更复杂的查询逻辑,如动态 SQL 实现出入参可选. 毕竟更灵活的逻辑处理方式是数据分析人员使用 oneService 的迫切需求. API 测试是通过高仿的方式模拟 API 的调用, 使得发布者可以在 API 开发阶段调试接口, 看到接口的真实返回结果. API 发布和订阅可以通过 API 集市的形式实现, 方便 API 的服务、消费授权管理, 以及服务的复用, 提高数据的利用率,以及数据使用的效率.
在 oneService 核心功能上演化出的功能有授权、鉴权、监控等. 在引入数据服务之前,传统的数据使用方式大多都是直接通过 SQL 查询后将数据传送给报表分析人员使用,或者通过数据集成工具批量导数据. 这种数据裸奔存在极大的安全风险. 而 oneService 通过授权的方式,数据使用方必须得到数据属主的同意,才能获取数据, 给数据使用增加了第一层安全保障. 在数据调用的时候, 接口通过鉴权确保数据调用方已经取得授权, 并且通过报文验签的方式防止请求被篡改, 这是第二层安全保障. 数据的发布和调用记录操作日志、使用记录调用日志,通过审计的方式实现第三层数据保障. 另外 oneService 还有 API 网关的功能, 可以定制缓存、流控以及访问策略, 并且提供总调用量、QPS、响应时间以及异常调用量等指标的监控.
在数据中台架构中, oneService 作为数据统一出口, 是一个相对独立的组件. 然而实际应用场景中, 由于 oneService 跟数据开发、API 网关、企业服务总线有不同程度的功能重合, oneService 可能会跟这些系统耦合,甚至包含这些系统,或者集成在这些系统中. 这取决于实际的需求以及企业组织架构的布局. 而不是为了 oneService 而 OneService, 为了跟风而搭建数据中台.
参考资料数据中台实战课 数据中台实战课_数据中台_大数据-极客时间
阿里巴巴数据中台实践分享
Dataphin 阿里云数据中台——万千企业的数智之选
Dataworks DataWorks_一站式大数据开发治理平台_阿里巴巴数据治理最佳实践-阿里云
网易数帆 网易数帆-专注企业数字化未来



