You are here


Data Warehouse Design

This is my cheat sheet for dimensional modelling design techniques of a DWH according to Kimball/Ross.

Dimensional Design Process (p. 38 ff.)

  • Select the business process.
  • Declare the grain (what a single fact table row represents).
  • Identify the dimensions.
  • Identify the facts.

Dimension Tables (p. 46 ff., p. 62 ff.)

who, what, where, when, why and how


Architecture and Design decisions

When it comes to MariaDB/MySQL Database consulting engagements we often see, that our customers are very confused by many different technologies advertised to them.

Below you will find some simple concepts and ideas we use during our consulting engagements to solve some issues and answer some questions.


Storing BLOBs in the database

Taxonomy upgrade extras: 

We have sometimes discussions with our customers whether to store LOBs (Large Objects) in the database or not. To not rephrase the arguments again and again I have summarized them in the following lines.

The following items are more or less valid for all large data types (BLOB, TEXT and theoretically also for JSON and GIS columns) stored in a MySQL or MariaDB (or any other relational) database.

Using NULL as default values

Taxonomy upgrade extras: 


It is common practice in MySQL table design that fields are declared as NOT NULL but some non-sense DEFAULT values are specified for unknown field contents. In this article we show why this behavior is non optimal an why you should better declare a field to allow NULL values and use NULL values instead of some dummy values.

Subscribe to RSS - design