What is data architecture and what do we mean by data architecture styles? Our focus at nVenio Analytics is to transform raw data into actionable information and knowledge for business decision making. As an enterprise data architect, our customers are the businesses that need data to fuel their strategies. Like a traditional architect, we focus on the perspectives of data architecture that will communicate to our customers how data can be ordered and organized to solve their business challenges. In order to make that distinction it might help to break down the layers of data structures and organization that are essential for construction of systems, but not necessarily for the communication of data architecture for business uses.
There are many aspects of data architecture that are extremely important at the engineering, or construction, level. Data structures and storage formats like arrays, hash tables, stacks, inodes, sectors and blocks are all essential elements for constructing electronic data systems. Data organization composed from columns, rows, files, containers and partitions is also essential. The structure of database management systems are also important engineering concepts. The use of flat, hierarchical, network, relational, object or document database structures can have important engineering characteristics that make or break the successful implementation of an architectural design. The same can be said for physical data models composed of fields and records, nodes and arcs or vectors and frames. These are all important engineering concepts for building data intensive systems, just like the selection of various grades or species of wood, steel, aluminum, glass, concrete and other materials or the choice of engineering techniques like pier and beam, concrete slab, wood frame or steel frame are for building construction.
In order to communicate the essential data architecture styles to our customers that they can observe and connect to their business problems, we focus on what have traditionally been referred to as conceptual and logical data models. These are higher order abstractions that define the essential separation and relationships between data concepts, in the context of the business problem or strategy at hand. All of the data engineering concepts discussed above are essential to implementing the resulting data architecture, but not until a data architecture has been described that a customer can understand and use to solve their business problems.
In our next post we will discuss the first of these architectural styles that emerged from the development of the relational model of data in the late 1960s. This model of data sought to separate the structure of data from the applications that use it.
