Oracle架构设计:具有I / O开销的单独架构?

前端之家收集整理的这篇文章主要介绍了Oracle架构设计:具有I / O开销的单独架构?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我们正在为基于Oracle 11gR1的新系统设计数据库模式.我们已经确定了一个主模式,它将有近100个表,这些表将从前端 Java应用程序访问.

@H_404_8@

我们要求审核近50个表中已更改的值,这必须在每一行进行.@H_404_8@

这意味着,对于MYSYS.T1中的单行,MYSYS_AUDIT.T1_AUD表中可能有50行(或更多甚至更少,但最少1行).我们可能拥有每个列条目的旧值以及T1中可用的新值.@H_404_8@

DBA给出了观察,建议反对这种方法,因为他说,单独的模式意味着每个操作都有额外的I / O.基本上,AUDIT模式仅用于进行一些分析和输入值(因此SELECT和INSERT).@H_404_8@

“单独的架构意味着额外的I / O”是真的吗?我找不到理由.@H_404_8@

对我来说这似乎是合乎逻辑的,因为AUDIT数据不应该被篡改,因此是一个单独的模式.@H_404_8@

此外,我们设计了一个单独的模式来存档MYSYS中的一些表.从MYSYS_ARC可以将表备份到磁带中或在足够的时间后删除.@H_404_8@

几个统计数据:
MYSYS模式中很少有表(接近20,30)可以增长到大约50M行.
我们要求总磁盘空间为4 TB.
MYSYS_AUDIT模式可能是MYSYS的10倍,但我们不会超过3个月.
MYSYS中的少数表将具有以下事务/分钟.@H_404_8@

MYSYS中的> 100 INSERT意味着在MYSYS_AUDIT表中插入相同数量的插入.
MYSYS表中的> 1000 UPDATE意味着MYSYS_ADIT表中的插入次数相同.@H_404_8@

问题:
鉴于所有这些,你能建议我改进吗?@H_404_8@

>单独的架构会影响光盘I / O吗? (每个模式一个额外的I / O?)
>任何一般性建议?@H_404_8@

数字:@H_404_8@

@H_404_8@

+-------------------+          +-------------------+
|       MYSYS       |          |     MYSYS_AUDIT   |
|                   |          |                   |
|    1. T1          |          |     1. T1_AUD     |
|    2. T2          |          |     2. T2_AUD     |
|    3. T3          |--------->|     3. T3_AUD     |
|    4. T4          |(SELECT,|     4. T4_AUD     |
|     .             | INSERT)  |      .            |
|     .             |          |      .            |
|     .             |          |      .            |
|  100. T100        |          |    50. T50_AUD    |
+-------------------+          +-------------------+
        |
        |
        |
        |
        |(INSERT)
        |
        |
        |
        *
+-------------------+
|   MYSYS_ARC       |
|                   |
|    1. T1_ARC      |
|    2. T2_ARC      |
|    3. T3_ARC      |
|    4. T4_ARC      |
|     .             |
|     .             |
|     .             |
|  100. T100_ARC    |
+-------------------+

除此之外,我们还有两个只有只读权限的模式,但主要是出于特殊目的,我们不介意它们的性能.@H_404_8@

建议:
有几个建议.我们同意以下内容.@H_404_8@

>逻辑分离的模式.
> TRIGGER用于将数据插入AUDIT表.
>表名称不会有_AUD后缀.

猜你在找的Oracle相关文章