Chapter 10
A different way of looking at databases
The ubiquity of empty formatted space
The idea of starting with an empty formatted space and allowing areas of interest to form spontaneously through the activity of users may seem somewhat esoteric, but, this is the principle behind a living database. To begin the explanation, let's start with the formatting of a space.
In the world of computing, the formatting of an empty space is common to all computer hardware and software applications that deal with memory and information storage. The most well known example is the formatting of a hard disk. The general idea is that a certain volume of memory space is available or allocated and this is divided up into small sections that are individually identified and kept in some form of order so that each section can be accessed irrespective of its label or content.
After the formatting process, any information that is put onto the hard disk is divided up between a number of these small sections. The identification numbers and sequence of these sections are recorded by the operating system, so, that it knows where to retrieve the pieces and put them back together again whenever it is called upon to do so.
With this system of pre-formatting the disk with small empty sections, files and applications can be broken up and stored on the disk using any sections that are currently free. This method of storage might seem bizarre, but, it is an efficient way to store information that is constantly being changed, added to, deleted or replaced because the storage can be distributed instead of being confined to a fixed area. The operating system has no problem with a file being broken up and distributed in different places all over the disk because it knows where every section is located, so, any file can be retrieved as easily as if it were stored in one single section of memory.
Software applications that need to create their own formatting system can overlay the formatting of the operating system with its own ordering arrangement. i. e., the operating system allows an application to create its own formatting and will then transparently convert this to its own system when saving to disk. When the application wants to access the information, the operating system will retrieve the data in a way that preserves the formatting arranged by the application.
This method of storing files allows all applications to use their own formatting systems, so, databases can hold information in a format that is most convenient for the algorithms they use.
More sophisticated formatting can attach little computer programs to each of the separate formatted areas that are created by an application. This can be seen in spreadsheet programs that, although appear initially to a user as completely empty grids of rectangles, are in fact formatted arrangements of complex cells that are able to communicate with each other and be linked in highly complex ways.
Computer programming languages always have facilities for formatting a memory space in any way defined by the programmer. High level, multimedia authoring programs present the developer with a pre-formatted empty space into which can be slotted, software modules, text, graphics and sounds. It is the existence of pre-formatted space that makes it possible to use object oriented design strategies because through the arrangement of the formatting, objects know where to send messages to each other.
These are just a few examples of the ubiquity of the concept of a formatted empty space and the various ways in which it can be employed. The essential idea to grasp is that the way in which a formatted space can be used is limited only by the imagination.