Databases: Structured Associative Model

oraclesentences

For years now I have been struggling with Relational DBMS technology and Associative DBMS technology attempting to get them to do what I want.  In my first efforts, Relational models were structurally restrictive, Dimensional models were unable to grow organically, EAV models are incompatible with relational architecture.  I came upon Simon Williams Associative Model of Data and although enthralled with its potential I found it too had limitations.  It was semi-structured and allowed for too much flexibility.  25 years in Information Technology had taught me that there was a single standard classification system for setting up databases not a plethora of ontologies.  I was determined to find the theoretical structure and was not concerned with hardware limitations, database architecture, abilties of current query languages or any other constraints.

The Associative Model of Data had made the difference in liberating me from Relational and Dimensional thinking.  A traditional ERD of the Associative Model of Data I at first thought would look like the following:

amdschema

Basically what you have is a Schema composed of Nodes with Node Associations through Verbs and Associations with Nodes Attributions through Verbs. The range of Node Entities, Verb Entities, Association Entities and Attribution Entities are endless.  As well the population of the Schema has an unlimited dataset of natural key values.  I have been challenged by Relational database specialists and SQL experts regarding the viability of this model within current limitations, however their arguments are irrelevant.  What is important is the logical validity of the model, not the physical validity.

After receiving the criticism I decided to revisit the model in order to simplify it.  I went over Simon William’s explanations of his model and its application and found I could reduce it to the following:

amdschema02

This was profoundly simpler and better reflected the Associative Model of Data’s Architecture.  But even with this simpler architecture I was not satisfied.  I felt that the Associatve Model although giving the benefit of explicitly defining the associations was a tabula rasa.  Research has shown that tabula rasa’s are contrary to the behavior of the finite physical universe.  There is an intermediate level of nature and nuture.  And this is what I sought to model.

zachman

When I first encountered the Zachman Framework, something about it struck me in a very profound way.  I could see there was something fundamental in its description of systems, however I felt that the metaphors that John Zachman used were wrong because they themselves lacked a fundamental simplicity.  The consequences of this were that those who studied under Zachman ultimately could not agree on what he was talking about.  Also the “disciplines” that Zachman’s Framework generated were continually reinventing the wheel.  Zachman had created a world of vertical and horizontal stovepipes.  To further the confusion Zachman refused to conceive of a methodology based upon his framework.  Consequently, there was no way to determine what the priorities were in creating a system.  I call this the Zachman Clusterfuck.

Zachman’s work spawned years of work for me.  I could see that systems had a fundamental structure, but I could not agree with Zachman.  Focuses and Perspectives were useless terms.  The construction metaphor was useless.  I read anything I could get my hands on dealing with systems, methodologies, modeling, networks and a broad range of other literature across the disciplines.  Out of this came a set of conclusions:

  1. There were a fundamental set of Noun Entities
  2. There were a fundamental set of Verb Entities
  3. There were a fundamental set of Association Entities
  4. There was a clear order in which the Nouns were addressed
  5. There was a clear order in which the Verbs were executed
  6. The structure was fractal
  7. The content was a scale-free network

I made some attempts at creating the vocabulary and experimented with this new Structured Thinking Language.  However, the real break came when I worked with John Boyd’s OODA Loop:

theboydpyramid

The OODA Loop revealed a governing structure for the methodology and guided my way into the following hybrid relational/dimensional/associational model I call the Structured Associative Model of Data:

samd

One of the key things this model demonstrates is the sequence followed by the OODA Loop.  Starting from the top, each dimension set spawns the next.  Choices are created from the dimensions.  There is no centrism to this model which is an inherent flaw in Service Oriented Architecture (SOA), Event based architecture, Data centric architecture, Goal-Directed Design, Rule based systems among others.  The stove pipes of Focuses and Pespectives disappear by reasserting a clear order of priorities and dependencies for achieving success.  The model also supports bottom up inductive as well as top down deductive sequencing.  This will make the system able to reconfigure to handle exceptions.

Some of the things I have learned in designing this model include the realization that unit defines datatype and that all measures are variable character string text.  This is because any displayed value is only a symbolic representation of the actual quantity.  If operations are to be performed on measures they are converted to the correct type as part of the operation.  I also recognized that Unit was necessary to define the scale and scalability of the system.  Further, it became apparent that analog calculations should not be practiced.  Every value should be treated as discrete and aggregated.

Another aspect of this system is the inclusion of currency and amount.  I have been critical of Zachman and academics for their hypocrisy regarding the economics of systems.  All systems have a cost and a benefit and they are measurable in currency.  Contrary to the reasoning of the majority, every decision is ultimately economic.

Tim Brown of IDEO has coined the term “Design Thinking” and has been toying with the concept for some time.  Many designers dwell on the two dimensional concept of divergence and convergence as modes of thought.  If we look at my model, divergence is the creation of choice while convergence is selection of choice.  There is no alteration or deletion of choice in my model as history is preserved.

Now what you have is a unencumbered framework with a clear methodological sequence.

czerepakcognitary

Welcome to the Cognitary Universe.

Zachman Tetrads

R. Buckminster Fuller’s books reveal a characteristic of his thinking. He would always return to his simplest system, the tetrahedron, and travel on ever new tangents. I decided to look at Zachman again with a different orientation and apply tetrads.

zachmantetrad.jpg

It is important to note that each of the columns is a design perpective. The one to one column is not the real entity but a physical design perspective of the entity.

Representational State Transfer and the Zachman Framework

I came across a concept called REST and it contains the seeds for creating a state transfer technique for the Zachman Framework. As well as for my twelve dimensional concept.

What I see is any state being defined by six URLs where the resources are the interrogatives (who, what, when, where, why, how).  Each interrogative is a complete web on its own.

Deeper Than McLuhan

I have read all of McLuhan’s books over the span of a few months. One thing to point out is that McLuhan did not say “The Medium is the Message”. McLuhan said, “The Medium is the Massage”. The medium was the cause of change, reformation and revolution not the message.

Another thing that stands out is that the scope of McLuhan’s system had only two dimensions where one could be the other. That is fine, but it is extensible to a six dimensional framework.

zachman-framework-abstract-02.jpg

What I mean by this is that any of Zachman’s six focuses (who, what, when, where, why, how) can be the message contained within the medium. This agrees with McLuhan’s four laws of Media Theory. More simply put, each of Zachman’s focuses can be a system its own right and any system can be the container for another lesser system. The system is the massage. Or the message.

I will look further at how McLuhan’s four laws apply to Zachman in later posts.

Binding the Dimensions

Now that we have defined each of the dimensions we can begin building a dimensional model.

In the above representation we only have the independent entities and the intersection entity. To take it one step further we have to introduce the association entities. I’ll discuss that in my next post.

Platonic Dimensional Models

I have been spending some time reading Synergetics by R. Buckminster Fuller and it has me thinking about the structures of dimensional databases.

My work as a data modeler has exposed me to many ontologies. Every data model you create is a self contained ontological framework. And for a long time I did not think about what those frameworks had in common. Every project was unique.
In the course of my recreational reading I learned about Pattern Language from Christopher Alexander, saw its adaptation in object oriented design and over time learned how patterns could exist in relational models to address particular applications most effectively. It became obvious that there were optimal patterns for competitive advantage and the seemingly limitless array of patterns for databases revealed optimals and families of optimals.

In studying dimensional data model design, based on Ralph Kimball’s work, I found myself also looking for patterns. The only case of patterning I found at first were called the Basic Interrogatives. Further research corroborated this pattern by way of the Zachman Framework. There was a six dimensional pattern. But at that point I stalled.

Several years later I began to read the works of R. Buckminster Fuller and a new world of possibility opened up to me. What Fuller led me to do was visualize dimensional models not in the traditional two dimensional star or snowflake, but as polyhedra with the vertices representing each of the dimensions and the fact being the center of gravity of the solid.

The fit of the basic interrogatives into an octahedral structure lead me to wonder about polyhedra further. Fuller’s work lead me to think about the platonic solids and other families of polyhedra. I began to see patterns in dimensional data models similar to the six interrogatives.

My search for generic dimensional models lead me to the world of library science. I began to look at classification and the work of S. Raganathan came to light. Colon Classification presented another generic structure and this pointed to Bliss Classification 2. Colon Classification presented four dimensions, the Basic Interrogatives presented six dimensions and BC2 presented twelve dimensions. These generic classification systems correlated with the tetrahedron, octahedron and icosahedron–the triangulated Platonic solids.

slide4.jpg

This is as far as I have come. I am now looking for more dimensional models to examine for patterns that correspond to polyhedra.