Depending on the DBMS used, one can find some problems to build indexes
leaving the table always accessible (this is a problem only in NRT), so one must
use some work-around, but when the volumes are high, loading data with active
indexes is impossible (direct path, or similar, and bitmap indexes cannot be used).
A simple work-around to load a large volume of data is to use a temporary table.
One must add a new partition on the fact table and create a temporary table, without
indexes, with the same layout of the target table and laying on the same table
space. Then one can load it in the direct path, create the indexes on this temporarily,
and then exchange it, without validation, with the empty partition, and finally drop
the empty table. At the end, one has a new partition full with its valid indexes. The
exchange operation mentioned can be done with or without validation, in the sense
that DBMS verifies or not if the data in the table to swap are correct according to
the partition bound.
In DW, where the load of data is managed by an application, further validations are
not necessary; this is true for particular operations like ???exchange partition,??? but also
for primary key, foreign key, check, and so forth. These checks and constraints that
guarantee the ???data integrity and consistency,??? must exist and must be verified, but
inside the application, before the load operations occur, and not at the DBMS level.
Pages:
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201