宝藏男孩 元拓数智
一、 IntaLink的目标
用一句话来概括:IntaLink的目标是实现数据集成领域的数据自动关联。
我们对上面的定义进行一些展开的描述:
- IntaLink的应用场景是用于数据集成,最简单的情况是同一系统内多个数据表的关联应用; 复杂的情况是多源异构数据的关联使用;
- 数据集成的应用方法,需要建立表间关系;
- 需要集成的数据,本身能够建立关联关系。
在满足上述应用条件时,IntaLink的应用目标就是:用户给定想要集成使用的数据内容,具体输入为多个“数据表.数据项”,IntaLink就会给出可用的数据关联链路。
二、 IntaLink的作用
我们以下面一个示例性场景来说明IntaLink解决的问题,示例中包含的内容比较多,数据之间的关系需要耐心理解。正是因为问题的复杂性,才体现了IntaLink的作用与价值。
场景说明:
- 某个大学有不同的学院,我们为每个学院定义一个缩写的ID,我们定义这个数据表是T_A,样例数据如下:
| DEPARTMENT_ID | DEPART_NAME |
|---|---|
| GEO | 地学院 |
| IT | 信息工程院 |
- 每个学院有若干个班级,用入学年度加上班级序号编码班级编号,并有中文的班级名称,本数据表定义为T_B,样例数据如下:
| CLASSES_ID | CLASSES_NAME | DEPARTMENT |
|---|---|---|
| 2020_01 | 地20(1) | GEO |
| 2020_02 | 地20(2) | GEO |
- 每个班级有若干学生,每个学生有一个全校唯一的学号,本数据表定义为T_C,样例数据如下:
| STUDENT_ID | STUDENT_NAME | CLASSES |
|---|---|---|
| 202000001 | 张三 | 2020_01 |
| 202000002 | 李四 | 2020_02 |
- 学校开设了若干课程,每门课程有一个课程编号,以及试卷总分和课程的学分,本数据表定义为T_D,样例数据如下:
| CLASS_CODE | CLASS_TITLE | FULL_SCORE | CREDIT |
|---|---|---|---|
| MATH_01 | 高等数学(一) | 100 | 4 |
| MATH_02 | 高等数学(二) | 100 | 4 |
| MATH_03 | 高等数学(三) | 100 | 4 |
| EGNLISH_LV1 | 英语(一) | 100 | 2 |
| CHEMISTRY | 化学 | 10 | 2 |
- 假定不同学院对同一门课的要求不同,即同一门课及格的分数线不同,本数据表定义为T_E,样例数据如下:
| DEPARTMENT | CLASS | PASS_SCORE |
|---|---|---|
| GEO | MATH_02 | 60 |
| IT | MATH_02 | 75 |
- 不同学期开设的课程不同,每个学生参加考试的科目会有成绩,本数据表定义为T_F,样例数据如下:
| SUTDENT_ID | TERM | CLASS | SCORE |
|---|---|---|---|
| 202000001 | 2023_1 | MATH_02 | 85 |
| 202000001 | 2023_1 | ENGLISH_LV1 | 92 |
| 202000001 | 2023_1 | CHEMISTRY | 7 |
| 202000002 | 2023_1 | MATH_01 | 78 |
基于以上应用场景的示例数据,核心应用的两张数据表是T_E和T_F,T_E里面包含了学生各门课程的分数,而T_F则定义了不同学院同一门课的及格分数。
IntaLink的作用就是当用户已经确定了需要使用的数据后,IntaLink会自动生成相应的数据内容。
三、 IntaLink解决的问题
针对上面的应用场景,很多人可能会有疑问,这就是常规的多表数据关联应用,人工拼写这种SQL语句非常简单啊,看不出IntaLink有多大价值。
我们把这个应用场景放在一个更大的应用环境中考虑。
假设一个大学有很多套应用系统,包括学籍管理,科研管理、园区管理、人力资源管理、门禁系统等几十套系统,每套系统各有几十张~数百张数据表。
在这种复杂环境中,IntaLink的价值显而易见:
- 数据集成开发时,只需要了解用户的应用目标,而不需要理解其底层的业务逻辑;
- 数据集成开发时,只需要掌握使用目标的数据项,不需要确定用到哪些数据表;
- 数据集成开发时,只需要确定查询条件,不需要建立表间关联的逻辑关系。
通过解决如上问题,使用IntaLink可以避免数据分析的工作量,减少数据开发的工作量。
加入 IntaLink 社区!
我们诚邀您成为 IntaLink 旅程的一部分!与我们一起连接并为我们的项目做出贡献:
联系我们
成为开源革命的一员,帮助我们共同塑造智能数据集成的未来!