在之前开篇及数据仓库的方案中,我都提及到数据仓库对于管理型的数据(或对于BI系统)是至关重要的,所以这篇就分享一下我在实际工作中怎么创建数据仓库的,如有不足之处,请指正。

首先,我们要理解一下数据库与数据仓库的区别:

数据库:是一种逻辑概念,是“按照数据结构来组织、存储和管理数据的仓库”。是一个长期存储在计算机内的、有组织的、有共享的、统一管理的数据集合;

数据仓库:是为企业所有级别的决策制定过程,提供所有类型数据支持的战略集合,是出于分析性报告和决策支持目的而创建。数据仓库的特征在于面向主题、集成性、稳定性和时变性。

它们两的主要区别在于:数据库是面向事务的设计,数据仓库是面向主题设计的;数据库一般存储在线交易数据,数据仓库存储的一般是历史数据(一般情况下数据仓库的数据原则上是不可修改);数据库设计是尽量避免冗余,一般采用符合范式的规则来设计,而数据仓库在设计是有意引入冗余,采用反范式的方式来设计;数据库是为捕获数据而设计,数据仓库是为分析数据而设计。通过下面的表格对比两个概念的区别:

数据库与数据仓库的主要区别

从上面的分析可以看出,虽然都是存储数据,但是两者面对的对象与作用是不一样的,所以在项目上,数据仓库的创建,我是从“主题”这个方面来展开。

首先,要确定主题域(主题域是对某个主题进行分析后确定的主题边界),主题域的确定我是从人、财、物三个方面考虑。人:可以分为患者跟职员两部分,患者又可以细分为住院患者、门诊患者、体检人员、工作量、流程监控优化等;财:可以从收入、支出两大部分去细分;物:主要是针对固定资产、设备效益分析、耗材闭环管理、处方、病历等。

主题分析

其次,主题域确定好后,需要对每一个域进一步分解、细化,结合业务流程或管理层的需求,最终形成具体的分析主题。我在实际设计过程中,形成的主要分析主题列表(部分)如下图:

主题列表

当主题定义好之后,数据仓库中的逻辑模型也就基本成形了。接下来就是要确定每个主题的具体内容,即向主题里面增加所需要的信息和能充分代表主题的属性组,其实就是定义主题的每个字段,我以“门诊挂号主题”为例,根据实际需求,设计的字段如下表:

挂号主题

每个主题设计好字段后,就形成了初步的数据仓库了,接下来的一步,就是往这些主题填充数据,也就是ETL(抽取、转换、加载)的过程,在项目上,所有主题的ETL代码是自己完成的,当然如果有第三方公司的数据导入数据仓库中,一般处理方案是让第三方公司提供原始的明细数据(可以webServer、视图等方式提供数据),然后通过Kettle工具把每天的数据定时加载到数据仓库中,这个属于另外一个流程或知识点了,此处就不详细展开讲,如有必要,后面再写一篇文章分享第三方公司数据加载到数据仓库的方案。下图为本项目ETL代码:

主题数据导入ETL代码

数据仓库填满数据后,通过BI工具,进行数据分析或数据的可视化开发,这一个知识点也不在此篇文章展开细说,后面我再写一篇关于做界面展示的相关内容。整体的一个数据仓库创建流程如下图所示:

数据仓库创建流程

说明:

1、生产库:业务厂商的生产数据库;

2、接口设计:根据医院的需求,各厂商根据自身系统的情况,提供数据接口(可以是视图、表、Excel文档等形式);

3、ETL工具:编写ETL代码,或是借助成熟的ELT工具,例如:Kettle,然后按新的数据协议,将有价值的数据保存在数据仓库中;

4、决策支持系统:通过BI工具,进行数据分析或数据的可视化开发,最后通过“决策支持系统”展现给管理者。

医疗数据之数据仓库的创建相关推荐

  1. access对比数据_数据仓库系列之数据质量管理

    数据质量一直是数据仓库领域一个比较令人头疼的问题,因为数据仓库上层对接很多业务系统,业务系统的脏数据,业务系统变更,都会直接影响数据仓库的数据质量.因此数据仓库的数据质量建设是一些公司的重点工作. 一 ...

  2. 数据湖 数据仓库 数据集市_还原数据仓库/数据集市环境的两种方法

    数据湖 数据仓库 数据集市 Implementing best data warehouse designs and practices such as data lineage reduces th ...

  3. 8.3 案例实现(加载数据库sakila中的数据至数据仓库sakila_dw)

    操作介绍: 通过Kettle工具将前面小节创建的转换整合成一个整体,用于定时操作DVD租赁商店的数据仓库. 1.打开Kettle工具,创建转换 使用Kettle工具,创建一个作业load_rental ...

  4. 疫情后的数字化转型:如何做好医疗数据治理

    目    录 01 医疗信息化发展趋势‍‍ 02 医院数据治理难点及价值‍‍‍‍‍‍ 03 医院数据治理模式 04 总结 近些年来,在医院数据化转型的大背景下,医疗机构的数字化进程明显的加快,各级医疗 ...

  5. 视频教程-数据中台-数据仓库建模设计方法和实现-数据仓库

    数据中台-数据仓库建模设计方法和实现 客户包括中国移动等数十个世界五百强客户.长期为中国银行,招商银行,建设银行提供数据库和大数据相关培训服务. 目前担任上海某大数据技术公司CTO. 储成宇 ¥298 ...

  6. 214页(10万字)以数据驱动为核心的区域医疗数据中台

    项目的总体设计 (一)项目的建设原则 健康医疗建设是一项长期的系统性工程,为确保健康项目建设符合信息化发展基本规律,推进科学有序,各智慧应用形成统一整体,达成健康建设的各项预期,需遵循以下基本原则与策 ...

  7. 电商数仓描述_笔记-尚硅谷大数据项目数据仓库-电商数仓V1.2新版

    架构 项目框架 数仓架构 存储压缩 Snappy与LZO LZO安装: 读取LZO文件时,需要先创建索引,才可以进行切片. 框架版本选型Apache:运维麻烦,需要自己调研兼容性. CDH:国内使用最 ...

  8. 数据交换实践:创建业务系统间高速公路

    转载本文需注明出处:微信公众号EAWorld,违者必究.扫描文末二维码可加入本文作者所在技术讨论群. 企业大量的IT投资建立了众多的信息系统,但是随着信息系统的增加,各自孤立工作的信息系统将会造成大量 ...

  9. 服务器管理器正在收集清单数据_数据仓库快速入门教程1简介

    数据仓库是从各种渠道收集和管理数据的技术,可提供有意义的业务洞察,战略性地使用数据. 它用于查询和分析而不是事务处理,是将数据转换为信息并及时向用户提供的过程. 决策支持数据库(数据仓库)与组织的运营 ...

最新文章

  1. eclipse: Program g++ not found in PATH
  2. Vivado清理和压缩工程的方法
  3. oracle is ref cursor java_oracle cursor 用法总结
  4. Java8-Guava实战示例
  5. C++:29 --- C++继承关系下的内存布局(下)
  6. Server.Transfer 和Response.Redirect 比较
  7. 考完试 记录一下复习资料 人工智能原理知识点整理
  8. MagicDraw-包图
  9. 从零开始学习java一般需要多长时间?
  10. STM32F103ZET6驱动TM7705(AD7705)代码加心得
  11. 教你快速使用VSCode编写HTML文件
  12. 聚集索引和非聚集索引的区别
  13. 阿里云OSS删除文件详细步骤
  14. Log4J按照不同包名输出日志
  15. adb工具的安装与常用命令
  16. CSS3让长单词与URL地址自动换行——word-wrap属性
  17. 【Python】自动化办公之Excel拆分并自动发邮件
  18. Python数据可视化学习(初学中...)
  19. 【powerbi】自定义排序
  20. Android开发之——银联支付深入

热门文章

  1. 十进制转16进制及以下进制
  2. 阿里巴巴国际站获得商品详情 API 调用分享(销量、详情图片、宝贝链接)
  3. 七扭八歪解faster rcnn(keras版)(一)
  4. 房价暴跌是必然的-价值决定价格
  5. 【JavaEE】Linux基本使用
  6. vmware 虚拟机共享文件夹无法显示
  7. android 手机美化
  8. IT人介绍自己的产品有难度
  9. 【第44天】Servlet初学---编写最基本的Servlet工程的必要步骤
  10. 夜天之书 #76 远程工作、开源协同与饱和沟通