This document describes AnchorModeling, an agile modeling technique that uses the sixth normal form for structurally and temporally evolving data. The key aspects of AnchorModeling are that it allows for the evolution of schemas over time while preserving prior versions, supports historization of attributes and ties, and enables high performance querying of temporal data through views and functions. Data loading into an AnchorModeling schema can be automated through generated scripts and templates.
1 of 12
More Related Content
Anchor Modeling ER09 Presentation
1. AnchorModelingAn Agile Modeling Technique using the Sixth Normal Form for Structurally and Temporally Evolving DataLars R?nnb?ck[ER09]
6. ANCHORSKNOTSselect top 5 * from GEN_Genderselect top 5 * from CU_CustomerAttributes and ties come in fourflavors, historized or staticcombined with knottedATTRIBUTESTIESselect top 5 * from CUDOB_CustomerDateOfBirthselect top 5* from CUHH_Customer_Household
7. Model Evolution12345All previous versions of the schema are present and werenevermodified, allowing extensions to be made ¡±online¡±.
8. LatestViewPoint-in-TimeFunctionJoins all attributes and finds the attributerow with the latestFromDateearlier or on the given timepointifhistorizedJoins all attributes and finds the attributerow with the latestFromDateifhistorized
9. The queryexecution plan shows that onlytwotables are touched (the anchor and the selectedattribute)despite of the fact that severalothers are joinedinto the viewwe are using.
10. Table EliminationThe query optimizer will remove table T from the execution plan of a query if the following two conditions are fulfilled: no column from T is explicitly selectedthe number of rows in the returned data set is not affected by the join with TSupportMicrosoft SQL ServerOracleIBM DB2PostgreSQLMariaDB (fork of MySQL)Teradata (partial)
11. The scripts for setting up the database, including all views and functions, can be automaticallygenerated from a compact XML description.Pseudoloadingcode given ¡±wide¡± source data:Check iftherealready is an associatedsurrogate key for eachnatural key
14. Directlyinsert data into all relevant tables(mosttablesincluding the anchor)For knownindividuals
15. If this is a delta file, directlyinsert data into all relevant tables
16. If this is not a delta file, check if the value in the sourcediffers from the latestvalue in the destination and insertif the data is new(fewtablesexcluding the anchor)Data loadingtemplatescan be made in whichonly the names of the tables and the join with the natural key have to be changed.
17. Ease of ModelingSimple concepts and notationHistorization by designIterative and incrementaldevelopmentReducedtranslationlogicSimplifiedMaintenanceEase of temporal querying Absence of null values Reusability and automation Asynchronous arrival of data High PerformanceHigh run-time performanceEfficientstorageParallelized physical media access www.anchormodeling.com