Posts

Showing posts from 2012

First Architectural Principle of Data - The Separation of Truth and Lies

In the real world, there are only 2 types of data - let's call them Lies and Truths. Truths are things that don't ever change (and are derivable from other truths). "The sky is blue" or "iPhone" are examples. In IT we call this read-only data, because you save it once and then it never changes. The second type of data we will call "Lies". Lies can always change (and are NEVER derivable), thus they MUST be remembered. Forgetting what you lied, effectively destroys the lie - and there are always consequences. In IT this is called read-write data, because you save it and then change it and save it - ad-infinitum. If you don't back it up (remember it in another place), you could lose it forever (a *destroyed* lie) ... and there are always consequences . A person that ALWAYS lies (a liar) you can usually spot right away. Concentrated lieing takes far too much remembering - and with every new lie comes a requirement to remember and the consequen...

The IT Reality today and the future

The reality in IT today is that most data is read-write and most is backed up. In a large company, there can be thousands of (exact same) copies of software (data) - occupying hundreds of (energy burning) spinning hard drives (with much of it backed up on more spinning hard drives ...). There are still great opportunities to save money by gaining efficiency in this space (not to mention increased security). So the "trick" here is to move as much data into the read-only space as possible. In order to do that, one must understand how data is used today and where there are opportunities. The Operating System (uOS) - great for Cloud!  Applying the Separation of Truths and Lies principle, the ultimate Operating System setup would use the maximum amount of read-only data - separated from the rest of the read-write data. On a UNIX/Linux system this would look like all subdirectories under / (root) would be read-only - with the exception of /var. The swapfile would...