new
This commit is contained in:
@@ -0,0 +1,147 @@
|
||||
---
|
||||
title: 创医元数据中心建设第一阶段构思
|
||||
number headings: auto, first-level 2, max 6, 1.
|
||||
---
|
||||
|
||||
<h1 style="text-align:center;padding-bottom:30px">
|
||||
创医元数据中心建设第一阶段构思
|
||||
</h1>
|
||||
数据中心的建设,对目前的团队来说,并不是一个一促而就的事情。从这两天的学习情况总结,在对业务有充分了解,进而制定一系列数据标准后,才更容易分析出各种领域的数据应该如何去组织。
|
||||
|
||||
如果是要逐渐完善这样一个系统,基于前人的经验,我们可以先明确一下目标,确定我们上山的第一个满足需求,有挑战且不会太高的台阶。
|
||||
|
||||
## 1. 目标分析
|
||||
### 1.1. 数据流
|
||||
首先可以明确的一点是,数据服务并不是产生数据的业务服务系统,对这个服务来说,数据是它加工的源材料。如下图所示:
|
||||
|
||||
``` mermaid
|
||||
graph LR
|
||||
异构采集-->保存ODS-->清洗加工-->存储DW-->统计-->展示
|
||||
```
|
||||
|
||||
这是现在我们的基本需求,从分散的业务系统中抽取数据,在数据中心清洗、沉淀,进而为业务系统提供统计分析。
|
||||
|
||||
### 1.2. 功能模块图
|
||||
下图是一个数据中台的示意图。有别于常见的业务系统,这里每一个功能点的核心都是数据。
|
||||
<div style="padding-top:10px;padding-bottom:10px">
|
||||
<img src="http://thoughts.taotechip.com/uPic/eSFks6.jpg" width=80%/>
|
||||
</div>
|
||||
|
||||
### 1.3. 数据服务体系的层次
|
||||
数据采集:从数据源同步,采集数据,存入ODS;
|
||||
数据的处理:清洗,加工,重组,存入DW;
|
||||
数据的应用:组织DW的数据,对外提供服务,共享,分析,展现。
|
||||
<div style="padding-top:10px;padding-bottom:10px">
|
||||
<img src="http://thoughts.taotechip.com/uPic/2sDndM.jpg" width=70%/>
|
||||
</div>
|
||||
|
||||
详细的分层说明,可以参考链接[数据仓库--通用的数据仓库分层方法](https://www.cnblogs.com/itboys/p/10592871.html)
|
||||
|
||||
## 2. 方案
|
||||
### 2.1. 技术方案
|
||||
#### 2.1.1. 数据流入
|
||||
``` mermaid
|
||||
graph LR
|
||||
subgraph 数据流入
|
||||
A1[业务系统数据]-->B[ODS层源数据]-->DW仓库数据
|
||||
A2[业务系统日志]-->B
|
||||
end
|
||||
```
|
||||
|
||||
**1. 采集工具选择**
|
||||
* Kettle
|
||||
通过数据采集,将业务中的数据收集到数据中心系统(ODS)。然后仍然使用kettle,将采集到的源数据,清洗加工进入数据中心核心仓库(DW)。
|
||||
|
||||
**2. 采集策略**
|
||||
通常来说都是会有延时的,但部分工具可以通过一些配置手段,实现延时相对小的效果。
|
||||
|
||||
* 实时采集
|
||||
<div style="padding-top:10px;padding-bottom:10px">
|
||||
<img src="http://thoughts.taotechip.com/uPic/R5KWne.png" width=80%/>
|
||||
</div>
|
||||
|
||||
* 定时批量采集
|
||||
<div style="padding-top:10px;padding-bottom:10px">
|
||||
<img src="http://thoughts.taotechip.com/uPic/zx98Nn.png" width=60%/>
|
||||
</div>
|
||||
|
||||
#### 2.1.2. 数据存储
|
||||
|
||||
从ODS层的角度来说,数据结构与逻辑会保留与原业务库的一致性,因此,基于现在我们的系统架构,在ODS层,可能会以mysql结构化数据存储,以mongodb做文档,或系统运行日志数据的存储。
|
||||
|
||||
到了DW层,目前的思考是以mongodb建立多中心数据集群,同时依赖Mongodb对于大数据的优化能力,为日后的数据分析,提供更好的基础。
|
||||
``` mermaid
|
||||
graph LR
|
||||
subgraph 数据源
|
||||
S1[JSON日志]
|
||||
S3[MONGODB]
|
||||
S2[MYSQL源]
|
||||
end
|
||||
subgraph ODS库
|
||||
S1-->T1[MONGODB]
|
||||
S3-->T1
|
||||
S2-->T2[MYSQL]
|
||||
end
|
||||
subgraph DW库
|
||||
T1-->DW[MONGODB]
|
||||
T2-->DW
|
||||
end
|
||||
```
|
||||
|
||||
[[ODS层]] [[DW层]]
|
||||
|
||||
#### 2.1.3. 整体方案
|
||||
|
||||
<div style="padding-top:10px;padding-bottom:10px;background:#ffffff">
|
||||
<img src="http://thoughts.taotechip.com/uPic/overall1.png" width=100%/>
|
||||
</div>
|
||||
|
||||
### 2.2. 业务方案
|
||||
通过业务熟悉分析,来确定数据模型。数仓的建模与业务服务数据库的建模有很大的不同,熟悉业务后,还需要了解下面的建模思路。
|
||||
|
||||
* 学习参考资料
|
||||
[数据仓库学习(二)——数据仓库建模](https://blog.csdn.net/livan1234/article/details/80993391)
|
||||
[数据仓库学习(四)——星型模型与雪花模型](https://blog.csdn.net/livan1234/article/details/80993541)
|
||||
|
||||
## 3. 域模型设计
|
||||
![[人员基本信息域]]
|
||||
![[小区信息域]]
|
||||
![[业务信息域]]
|
||||
![[机构信息域]]
|
||||
![[证件信息域]]
|
||||
![[资产所有权变更信息域]]
|
||||
![[资产信息域]]
|
||||
![[字典数据定义]]
|
||||
|
||||
|
||||
## 4. 工作步骤
|
||||
1. 业务建模(2周)
|
||||
上面已经找到数据仓库的建模指引,完成初步的DW数据模型设计,预计需要一到两周时间。
|
||||
1. 测试环境搭建(2周)
|
||||
上面的整体结构部署和测试工作预期一周时间
|
||||
1. 构建数据映射(2周)
|
||||
源数据到仓库各域对象字段的映射。
|
||||
1. 配置kettle同步脚本与计划任务(2周)
|
||||
|
||||
## 5. 二阶段预期
|
||||
完成基于graphQL的数据服务体系。
|
||||
待完善...
|
||||
### 5.1. 数据集市 - 域对象设计Schema
|
||||
待完善...
|
||||
|
||||
### 5.2. 数据服务
|
||||
#### 5.2.1. 接口框架
|
||||
Spring GraphQL
|
||||
#### 5.2.2. 权限管理
|
||||
##### 5.2.2.1. 账户分配
|
||||
待完善...
|
||||
##### 5.2.2.2. 控制到表
|
||||
待完善...
|
||||
##### 5.2.2.3. 控制到字段
|
||||
待完善...
|
||||
|
||||
## 6. 参考
|
||||
1. [基于mongodb的数据中台建设](https://www.doc88.com/p-1846198097871.html?r=1)
|
||||
1. [kafka官网](http://kafka.apache.org/)
|
||||
1. [kettle仓库](https://github.com/pentaho/pentaho-kettle)
|
||||
1. [数据仓库学习系列](https://blog.csdn.net/livan1234/category_7751887.html)
|
||||
Reference in New Issue
Block a user