You are on page 1of 2

Best Practices when building Maps

When you build maps try to use the following steps. Sometimes this can help clarify "how" to architect the database. Before beginning ask the following questions: 1. How much data is there passing through this map !. What is the source" target" aggregator" and lookup si#es $in terms of %ows and &egabytes of space' (. What is the time frame this map is e)pected to run in *. +re we loading data o,er the network -. +re we waiting on a flat file &ore than one .. /s there a way to balance the si#e of the source 0 target and maybe eliminate the lookups by utili#ing 1atabase %outines 2. /s the speed such a problem that we must eliminate aggregators 3. 4an we tune the S56 on the source qualifier 7. 1o we need to generate new sequence /1 numbers for each row

Guidelines Utilized to Divide Maps: 8he designer tool is highly capable of depicting" graphically" comple) mappings. /t is also fairly easy to de,elop these comple) mappings. Howe,er" it can quickly become difficult to maintain them. /n an effort to offer the best of the designer" we suggest breaking up the comple) mappings in to more manageable pieces. 8he maps should only be broken up as a last resort when attempting to make more operations parallel" or in an attempt to speed up the whole process $end9to9end'. Start with de,elopment using the 1esigner. +s pieces get too difficult" or problems present themsel,es $due to speed" mobility" or cross9functionality'" take a look at the architecture of the maps to see if they wouldn:t benefit from being sub9di,ided. 1oes the map ha,e multiple targets /f so" could each target be loaded in parallel What:s the affect of breaking up the logic 4an the logic be placed in to maplets +re the targets setup with 4onstraints 1oes a parent need to be loaded first

;<= &+> >=% 8+%?=8 8+B6=. 8his rule forces you to think about where and how the logic will be applied. Howe,er" it allows us to control the load order by constraints" as well as which maps and sessions can be run concurrently. /t also forces you to think about how to apply common logic in the most efficient manner. +nother benefit is that all of the data that flows in to that target goes through the same set of business rules designed for the target fields. ;n some occasions $due to lack of speed' we need to take this further" one map per target per action. Where the action is /nsert" @pdate" or 1elete. /n breaking the maps out like this" it keeps maps simple and maintainable. =ach map is therefore responsible for a single set of business rules" as well as a single task.

You might also like