使用OLAP层集中OLTP数据库设计

时间:2015-02-06 22:18:28

标签: database database-design database-connection database-schema data-warehouse

我正在做一个项目,而且我不是数据库方面的专家,所以我遇到了一些问题。在架构中,我认为有几个小型数据库(单个工作站)将数据推送到一个大型集中式数据库,该数据库将这些数据存储在表中,每次推送数据时只添加记录。 分析这些数据会有所帮助,但中央数据库必须是OLTP(停机时间不可行,因为它是医疗记录并且必须始终处于运行状态)所以OLAP可能是有可能的。是集中式数据库之上的另一层,当分析不干扰这些单个工作站和中央数据库之间的数据交换时?或者中央数据库本身是否需要OLAP架构? OLTP数据库也可以存储例如病历等数据吗? (我之所以问,因为这些数据也可能是历史数据,以前的疾病等等,所以我真的不明白它在表格中会是什么样子)。 这种架构的要求是什么? (对于整个城市来说,数据主要包括txt和链接)。感谢提前帮助的人,希望我足够清楚:)

聚苯乙烯。顺便说一句,这将是一个存储患者电子健康记录的中央数据库,在患者就诊或新诊断后,将由几个医生的诊所和诊所推动。因此,数据交换将是双向的,从单个工作站到中央数据库,反之亦然(如果医生需要其他医生的信息)。你知道更好的架构吗?如果我们想分析这些数据,我认为这是唯一可行的选择,但话说回来,我不是专家,所以不能说太多,让我知道你的想法:)

2 个答案:

答案 0 :(得分:1)

正如Neil所说,规范化是OLTP环境中良好设计的关键原则(无双关语)。其他一些设计原则是良好的数据仓库或数据集市的关键。数据集市可以作为OLAP操作的基础。

通常,OLAP不需要当前数据。每天更新通常就足够了,有时它可能会像每月一次那样罕见。您了解自己的要求。将数据从操作(OLTP)数据库复制到分析(OLAP)数据库的过程称为提取,转换和加载(ETL)。虽然有一些工具可以帮助构建ETL过程,但ETL处理可能非常复杂并且涉及大量编程。在确定了OLTP和OLAP数据库的设计之前,您实际上无法构建ETL,但是您可以提前计划并设计事物以便它们一起工作。

有时,OLAP数据库根本不在关系型(SQL)数据库中,而是以某种特殊形式存在,通常称为“数据立方体”。专门研究所谓的“商业智能”的分析师经常使用数据立方体,有时这些格式是专有的并且绑定到该工具。

当OLAP数据库是关系数据库时,经常使用的一种设计是“星型模式”或其中的一些变体。如果数据元素的名称对相关人员有意义,那么对于傻瓜式或向下钻取界面来说,这非常方便。

你有很多学习要做。祝你好运。

答案 1 :(得分:0)

您的运营数据库(OLTP)用于存储交易信息。它被高度标准化以防止异常和加速写入。患者访问信息等内容将存储在此处。

您可以使用相同的数据库来分析信息,但将其置于较不规范化的形式可以使这更容易,尤其是对于非DBA。这将是您的分析数据库(数据仓库),您可以使用它来执行OLAP操作。

OLAP是一组操作(如pivot,slice,dice)。数据仓库是数据库,旨在简化分析。它们是不同的。

我不知道停机与OLTP与OLAP的关系如何。

  

OLAP是否可能是集中式上方的另一层   数据库和分析时不干扰数据交换   这些独特的工作站和中央数据库之间?

通常,您会按计划将数据从操作数据库提取到分析数据库。只做选择不会干扰它。我会说你的分析数据库是"旁边"你的操作,而不是"以上"。

  

或者中央数据库是否需要是OLAP架构本身?

如果您在中央数据库中进行事务处理,那么没有。

  

OLTP数据库也可以存储例如病历等数据吗?