-1

我正在做一个项目,而且我不是数据库的专家,所以遇到了一些问题。在架构中,我想有几个小型数据库(单个工作站)将数据推送到一个大型的集中式数据库中,这些数据库将这些数据存储在表中,并且每次推送数据时只添加记录。 分析这些数据会有所帮助,但是中央数据库必须是OLTP(因为它是医疗记录并且必须始终处于运行状态,所以停机时间不可行),因此OLAP可能是另一种情况层分布在集中式数据库之上,并且分析时不会干扰这些单个工作站与中央数据库之间的数据交换?还是中央数据库需要自己的OLAP体系结构? OLTP数据库还可以存储例如病史数据吗? (我在问,因为这些数据也可能是历史数据,以前的疾病等等,所以我不太了解它在表格中的样子)。 这种架构的要求是什么? (比如,对于整个城市来说,数据主要由txt和链接组成)。感谢提前帮助球员,希望我是足够清楚:)OLAP层集中式OLTP数据库设计

Ps。顺便说一下,这将是存储患者电子健康记录的中央数据库,在患者就诊后或新的诊断后,将由数个医生的诊所和诊所推送。因此,数据交换将是双向的,从单个工作站到中央数据库以及其他方式(如果医生需要其他医生的信息)。你知道更好的建筑吗?如果我们想分析这些数据,我认为这是唯一可行的选择,但是再次,我不是专家,所以不能说太多,让我知道你的想法:)

回答

0

您的运营数据库(OLTP)用于存储交易信息。这是高度规范化,以防止异常,并加快写入。像患者访问信息这样的东西将存储在这里。

您可以使用同一个数据库来分析信息,但将其放入一个不太标准化的表单可以使这变得更容易,尤其是对于非DBA。这将是您的分析数据库(数据仓库),您可以使用它执行OLAP操作。

OLAP是一组操作(如pivot,slice,dice)。数据仓库是为便于分析而设计的数据库。他们是不同的。

我不明白停机时间与OLTP vs OLAP有何关系。

是有可能的是,OLAP是集中式数据库 上述另一个层和分析时在数据中不会这些奇异工作站和中央数据库之间 交换干扰?

通常,您会将数据从运营数据库提取到分析数据库中。只是做选择不会干涉它。我会说你的分析数据库是“旁边”的操作之一,而不是“上面”。

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

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

也可以OLTP数据库存储例如病史数据?

+0

感谢您的快速回复:)我开始阅读关于数据库的原因是因为这个项目,我跑了很多网站,其中OLTP数据库被描述为非常稳定和可靠,快速的读取和没有停机时间,而OLAP的速度很慢,有些操作可能会让整个系统暂时停顿一段时间,这对中央数据库非常稳定并始终保持正常状态非常重要。 – 2015-02-07 00:19:06

+0

我确实看到停机时间与OLTP vs OLAP有关。 – 2015-02-07 12:11:29

1

正如尼尔已经表示,标准化是在OLTP环境良好设计的关键原则(没有双关语意)。其他一些设计原则是建立良好数据仓库或数据集市的关键。数据集市可以作为OLAP操作的基础。

通常,OLAP不需要当前数据。一旦每天更新通常就足够了,有时候可能会像每月一次那样少见。你知道你的要求在你的情况。将数据从操作(OLTP)数据库复制到分析(OLAP)数据库的过程称为“提取,转换和加载(ETL)”。 ETL处理可能非常复杂并涉及大量编程,尽管有些工具可以帮助构建ETL过程。除非您已经确定了OLTP和OLAP数据库的设计,否则您无法真正构建ETL,但可以提前进行规划并进行设计,以便它们一起工作。

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

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

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