惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
Blog — PlanetScale
Blog — PlanetScale
GbyAI
GbyAI
Engineering at Meta
Engineering at Meta
博客园 - 司徒正美
T
Tailwind CSS Blog
F
Full Disclosure
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
IT之家
IT之家
J
Java Code Geeks
Y
Y Combinator Blog
Microsoft Security Blog
Microsoft Security Blog
B
Blog
V
V2EX
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
Hugging Face - Blog
Hugging Face - Blog
美团技术团队
The Cloudflare Blog
Recent Announcements
Recent Announcements
博客园 - 【当耐特】
Google DeepMind News
Google DeepMind News
罗磊的独立博客
博客园 - 叶小钗
阮一峰的网络日志
阮一峰的网络日志
The GitHub Blog
The GitHub Blog
云风的 BLOG
云风的 BLOG
aimingoo的专栏
aimingoo的专栏
大猫的无限游戏
大猫的无限游戏
酷 壳 – CoolShell
酷 壳 – CoolShell
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
S
Security @ Cisco Blogs
MyScale Blog
MyScale Blog
MongoDB | Blog
MongoDB | Blog
U
Unit 42
H
Heimdal Security Blog
Recent Commits to openclaw:main
Recent Commits to openclaw:main
V2EX - 技术
V2EX - 技术
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Google Online Security Blog
Google Online Security Blog
N
News and Events Feed by Topic
Hacker News - Newest:
Hacker News - Newest: "LLM"
PCI Perspectives
PCI Perspectives
博客园 - 三生石上(FineUI控件)
I
InfoQ
SecWiki News
SecWiki News
N
News and Events Feed by Topic
D
DataBreaches.Net
Schneier on Security
Schneier on Security
K
KPMG report finds enterprise disconnect between AI and its ROI | CIO

博客园 - 大汪的数据之路

星环大数据使用体验 vibe coding使用体验 基于SQL实现分组的文字排序聚合 数据码农马年大吉 字符串分割并展开成表格的SQL实现方法 BI报表及可视化分析类工具使用经验总结(下) BI报表及可视化分析类工具使用经验总结(上) 基于Python实现自动化微信通知和预警 Chat2DB测试体验 常用数据管理工具与平台汇总 网易有数BI使用总结 网易NDH大数据平台使用经验 版本管理总结 程序自动化vs人工手动处理 SQL开发总结 数据平台使用经验 数据团队运维值班任务简介 Python环境安装、管理与部署 windows获取kerberos认证 SQL动态长度行列转置 ODI Scenario 场景 Oracle KEEP 分析函数
OneID系统建设实践总结
大汪的数据之路 · 2025-10-21 · via 博客园 - 大汪的数据之路

OneID是指将分布在不同系统中的同一个实体用同一个ID进行标识,这是在数据治理领域经常出现的一个概念。由于企业中存在大量的数据孤岛(业务源系统各自为战),因此作为下游数据仓库的架构及开发人员,迫切的需要将不同系统中同一个实体信息进行拉通,这样在后续的报表、驾驶舱等应用中,指标的口径才能准确有效。OneID最早是阿里提出来,属于OneData理论的一部分,通过识别实体的关键属性,将不同系统中的实体进行拉通、拆分、归并等操作。以下是根据在证券资管公司的品种与主体的OneID建设实践进行的总结。

1、设计原则

1、稳定性:保持OneID系统实体和源系统实体关系的稳定性,OneID实体只随源系统数据变化而变化
2、全面性:任何一个源系统的实体都需要与OneID实体建立关系
3、真实性:若OneID实体的“证件号”一致,则进行归并
4、优先级:OneID属性取值,根据系统优先级进行取值

2、拉通属性

基于对源系统的数据探查及行业背景知识及常识,推断可进行拉通的属性。如客户通过证件类型、证件号码、名称进行拉通,产品通过产品编码进行拉通。

3、逻辑处理方案

首先会创建实体信息表、实体识别信息表、实体与源系统关系表三张基础表,记录OneID所需的核心关键信息。基于核心表,OneID系统需要实现拉通、拆分、归并等基础操作逻辑。

1、拉通:通过拉通属性将分布在不同源系统中的同一实体进行拉通,赋予唯一的编码。

2、拆分:将不同源系统中已拉通的同一实体进行拆分,赋予新的编码。

3、归并:将OneID系统中的实体进行关联,标记为同一个实体。

其中,拉通-拆分是互为正反操作,代表的是源系统实体与OneID实体之间建立联系或拆开联系。

具体处理流程可以有以下两种思路(只要把所有的逻辑情形考虑完整即可,参照MECE法则):

image

image

4、技术落地方案

在实现OneID逻辑的技术方案中,利用编程语言(Java或Python)进行开发,结构会相对比较清晰。另一种方案就是基于SQL开发,虽然没有编程语言方便,但是可直接利用数据团队的现成的平台环境,无需再单独维护一套环境,并且可以直接利用数据团队成员的技术栈。实际环境中,公司已采购了大数据平台作为离线数据仓库平台,通过每日夜间进行批处理, 提供T-1日的数据报表等离线数据服务。因此最终采用基于Spark SQL的OneID逻辑开发的落地方案,以下是详细的处理流程:

image

5、系统开发上线

在产品场景中,由于公司内部的产品数据量较小,实体数量在1万以下。在客户OneID场景中,数据量适中,实体数量在百万左右。在建设过程中,团队共5人,逻辑梳理时间周期约一个月,代码开发周期约一个月。SQL代码量方面,产品OneID只有几百行,客户OneID有几千行,目前系统建设上线运行已三年多,运行稳定。

6、总结

OneID的主要作用就是将分散在不同系统中的同一实体进行识别出来。与OneID类似的概念和系统还有很多,如在客户数据方面,企业一般会有CRM系统,同时还会建设CDI(Customer Data integration)系统将客户信息进行整合以便为后续的营销场景提供服务。CDI系统的数据源通常包括公司内部的线上线下渠道的客户信息,以及用于清洗的外部第三方采购数据(如采购的客户住址信息)。

OneID系统与主数据系统也非常类似,主数据是指描述企业“核心业务实体”且被反复使用的高价值、高共享、高稳定性数据。常见的有客户、产品、账户、组织、人员、供应商、项目等各类主数据。

OneID系统的上线只是一个开始,要想真正的使用起来,后续仍然需要一个漫长持续的运营过程。上线之前,业务人员等数据使用方已习惯原有的系统ID,要改变习惯切换到新的OneID需要一个过程。在此期间,要保证OneID系统数据的准确性、完整性和及时性,才能逐步赢得业务的信任,只有结合严谨的设计方案、合理的代码处理、持续的运营才能真正的给业务提供价值。