Subject Areas

Data Modeling Where I talk generally about how to build highly scalable, maintainable and performant databases

Databases Opinions, tips and trick specific to a specific database vendor
Grade of the Steel Putting databases to the test and doing extreme tuning.
Programming General programming tips and tricks. Typically related to high speed synchronisation techniques or algorithms.

There are some general themes that repeat themselves throughout this blog.

Big Data vs. Data Warehousing

My basic architectural argument is that you should target data warehouse products to systems that HAVE a data model and that Big Data is best used where the model is more loosely defined and near schema-less – which include many of the data structures traditionally used for auditing and history tracking.

If you think of the data flow at a very high level, from a source to the warehouse, this is my approach:


I have written quite a few blog posts that I hope you will find are coming together in a coherent theme of design guidelines. To make it easier to locate them, I have provided the index below.

Keys and how to handle them

In order to deliver clean and integrated data, the proper and high performance handlings of keys is crucial. I have blogged extensively about this here:

Warehouse Knowledge

Information about large databases and how they work.

Myth Busting

I like to put “common sense” recommendations from the database community to the test. Here are the posts I have written about this so far:


  1. Jesse Dyson   •  

    I really enjoyed the “Transforming Source Keys to Real Keys” series and the “An Overview of Source Key Pathologies” post and would like to review them again. The links to these posts seem to be broken on Google as well as within the site. Are these posts still available and if so would you be able to share the links to them?

    Best Regards

  2.   •  

    Good blog post. I certainly love this site. Thanks!

  3. Pingback: Good keys, what are they like? « Thomas Kejser's Database Blog

  4. Pingback: Intermezzo–Data Modeling « Thomas Kejser's Database Blog

  5. Pingback: Defining the Good Data Model « Thomas Kejser's Database Blog

  6. Pingback: Don’t Become a One-trick Architect « Thomas Kejser's Database Blog

  7. Pingback: Why “Date BETWEEN FromDate AND ToDate” is a dangerous join criteria « Thomas Kejser's Database Blog

  8. Pingback: Boosting INSERT Speed by Generating Scalable Keys « Thomas Kejser's Database Blog

  9. Pingback: Why Surrogate Keys are not Good Keys « Thomas Kejser's Database Blog

  10. Pingback: Physically Placing the Maps in the architecture « Thomas Kejser's Database Blog

  11. Pingback: Transforming Source Keys to Real Keys – Part 2: Using Maps To Fix Key Problems « Thomas Kejser's Database Blog

  12. Pingback: Transforming Source Keys to Real Keys – Part 1: Introducing Map tables « Thomas Kejser's Database Blog

  13. Pingback: An Overview of Source Key Pathologies « Thomas Kejser's Database Blog

  14. Pingback: Why Integer Keys are the Right Choice! « Thomas Kejser's Database Blog

Leave a Reply

Your email address will not be published. Required fields are marked *