The road ahead

For anyone interested in the latest and the greatest, we have put up a test version of the tool here:

https://www.anchormodeling.com/modeler/test/

Do not use it for production work. It is meant to be a way for everyone to see what is coming and give feedback before we make an official release. Right now you can test the new implode/explode-functionality. Next up to be added to the test version is bitemporal modeling. A proof-of-concept showing bitemporal Anchor Modeling using partitioning with a recording period can be found by clicking here.

Online Modeler Updated

We have updated the online modeling tool from version 0.91 to version 0.93. This incorporates the changes we made in 0.92 (an intermediate version) as well as rewritten insert and update triggers. These triggers now use pure set based operations, and should therefore be equally well suited both for OLTP and DW environments. We have also added the ability to turn of metadata completely, in case you do not need it.

Please note that once a model has been loaded into 0.92 or later the XML file format will be updated automatically and can no longer be loaded into 0.91. Back up your file from 0.91 before moving to 0.93, just in case you need to go back.

The latest version of the tool is available by clicking the “Online Modeler” menu item on this homepage, or by this direct link:

https://www.anchormodeling.com/modeler/latest/

The older versions are still available through these links:

https://www.anchormodeling.com/modeler/0.91/
https://www.anchormodeling.com/modeler/0.92/

If you want to host the tool yourself, the latest version of the source can be checked out from Google Code. You can also find packages of the released versions on that page, which can be downloaded and uncompressed into a web server folder.

Back to the Netherlands

Please note that the date has changed to the 6th of December!

Lars Rönnbäck will be going back to the Netherlands to hold another presentation on Anchor Modeling at Ordina on December 6. Here’s the program for the evening:

16.00 – 16:30 Reception
16.30 – 16:40 Introduction (Vincent Wylenzek)
16:40 – 18:40 Anchor Modeling (Lars Rönnbäck)
18:40 – 19:30 Food, networking
19:30 – 20:30 New modeling techniques and Anchor Modeling in practice (Pim Aarts)
20:30 – 21:00 Drinks

More than 100 have already signed up, will you be one of them? Participation is free of charge. More information can be found by clicking here.

Videos from the HAN

If you missed the Anchor Modeling Week at HAN here is your chance to catch up. The presentations from the open day have been published online as videos.

Open guest lecture on Anchor Modeling – Lars Rönnbäck
(2 hours 50 minutes)

Clash of the Supermodels – Martijn Evers
(42 minutes)

Concluding Panel Discussion – Lars Rönnbäck, Martijn Evers, Harm van der Lek
Moderators: Tom Breur and Ronald Damhof
(52 minutes)

Modeler version 0.92 ready for testing

I would appreciate if you could start testing version 0.92 of the online modeling tool. This introduces features like 1-1 ties, default values, and capsules. Please note that XML files generated by 0.92 are not readable by version 0.91 or lower. XML files from 0.91 will be converted when loaded into 0.92.

Capsules define the encapsulation of a number of anchor, attributes, knots, and ties. These will appear as groupings using the schema construction in Microsoft SQL Server. The default, unless changed, is still the dbo schema. If the default is changed before loading an old XML file, all objects will get whatever capsule you have specified as a default.

Version 0.92 is available at the following link:
https://www.anchormodeling.com/modeler/0.92/

We will not switch ‘latest’ to point to 0.92 until we know it is stable enough for production use. There are also some more features we want to add to 0.92 before release. Even after the switch version 0.91 will be available by switching 0.92 to 0.91 in the link above.

The ABA Problem

On the flight back from the AMWeek I realized that if you cannot get any information from the source about when changes occur (and no delta files), then bi-temporality will not solve the ABA problem. The only solution is to go back to the source and try to get information about when changes occur. If that is possible, then using only valid time will suffice.

You will then in an anchor database, while waiting for (late arriving) asynchronous information, have something like:

<#2, ‘Green’, 2001, #23>
<#2, ‘Green’, 2004, #56>

Here you rely on the source having told you that the second row is a change, even if your current information says otherwise. The metadata for #23 tells you that this information was loaded in 2002, the metadata for #56 tells you that this information was loaded in 2004.

At some point in time (after 2004) you will hopefully get the missing piece of information and the rows become:

<#2, ‘Green’, 2001, #23>
<#2, ‘Blue’, 2003, #98>
<#2, ‘Green’, 2004, #56>

The metadata for #98 tells you that this information was loaded in 2005. Using ‘changing time’ I can reconstruct the order of the changes, where changing time must come from the source. Using ‘recording time’ I can reconstruct the order in which the database was given the information, which is in a different order.

New section – Publications

We have added a new section to the site, Publications, under which you can find journal papers, referenced articles and omitted appendixes. All presentations made at various conferences can also be found here, along with scripts for setting up and testing Anchor Modeling.

This should make it easier to find reference material, which previously you had to scan old blog posts to find.

Anchor Modeling Week

Lars Rönnbäck will be going to HAN (Hogeschool van Arnhem en Nijmegen) in the Netherlands to hold lectures on Anchor Modeling between June 28th and July 1st. For more information, visit the event registration page at HAN by clicking here. The week will open with a free guest lecture in which Lars will introduce Anchor Modeling, followed by a comparison of Anchor Modeling and Data Vault by Martijn Evers. The program for this day can be found by clicking here. Between June 30th and July 1st a two day crash course will be held in which participants will, among other things, build their own models and learn the details of Anchor Modeling. Applying for the course can be done by clicking here (with an early bird rebate until May 22nd). Note that all courses and lectures will be held in English. Below is the course description in English.

Crash Course in Anchor Modeling

Information is volatile. The frequency with which changes to both structure and content occur is rapidly increasing, and previous modeling techniques are not fit to handle this new and turbulent environment. Anchor Modeling is an agile modeling technique specifically designed for coping with information the evolve over time. In Anchor Modeling a model is not built to last – it is built to change – only then can it truly last in an ever changing environment.

Day 1: (basic modeling)

  • motivations and philosophy for a new modeling technique
  • a brief history of Anchor Modeling
  • positioning Anchor Modeling against other techniques
  • the Anchor Modeler, an online modeling tool
  • the four basic building blocks
  • information historization
  • conceptual modeling
  • naming convention
  • modeling guidelines
  • natural and surrogate keys
  • physical implementation (tables, views)

Exercise (Anchor Modeler): building your own conceptual model

Day 2: (under the hood)

  • XML representation
  • generated SQL code
  • performance implications
  • hardware and database support
  • indexing in Anchor Modeling
  • table elimination (outer and foreign)
  • three constructions for modeling time
  • metadata
  • simultaneous information, default values, multi-language
  • evolving a model
  • evolving a database without downtime
  • loading data into a model
  • zero update strategy
  • benefits of Anchor Modeling

Exercise (Anchor Modeler + Microsoft SQL Server): implementing your model in a relational database

In preparation for the course, Microsoft SQL Server 2008 R2 Express (free with a 10GB database size limit) can by downloaded by clicking here.

Schema Evolution

The online modeling tool has been extended with new functionality that keeps a history of how the anchor schema has evolved over time. In Anchor Modeling all previous schemas are available as subsets of the current schema. Now, using this new functionality all previous schemas are also accessible through the _Schema table. On top of this table four views have been added that shred the XML of the schema into rows and columns: _Knot, _Anchor, _Attribute, and _Tie, through which details about the tables can be followed over time. A utility function, _Evolution(@timepoint), that compares the tables in the current database with the schema that was in effect at the given @timepoint is also available. To see this in action, please watch our new tutorial available in our Tutorials section, or by clicking here.