The Stuff of Bits by Paul Dourish

The Stuff of Bits by Paul Dourish

Author:Paul Dourish
Language: eng
Format: epub
Tags: digital; platform studies; software; ethnography; information science; human-computer interaction; technology; new media; media studies; computer emulation; spreadsheets; databases; network architecture; network design; internet; HCI; CHI; case studies
Publisher: The MIT Press
Published: 2017-05-31T04:00:00+00:00


Data without Relations

The term NoSQL database—a members’ term redolent with moral valence—does not refer to a single implementation or conceptual model, but rather refers to a range of designs that, in different ways, respond to perceived problems with the relational approach. These problems might be conceptual, technical, pragmatic, or economic, and different problems provoke different design responses. One should be careful, then, in generalizing across them. When we take them together, however, we can see some patterns in both the motivation for alternatives to the relational model and in the forms those alternatives take. These patterns begin to point to the types of relationships between representational technology and representational practice that were among our original motivations.

Key considerations that drive the development of NoSQL databases include the need to conveniently incorporate them within a MapReduce framework, implemented on loosely coupled clusters of individual computers rather than on tightly coupled or monolithic architectures. Developers have also sought data models that more closely conform to the conventions of contemporary programming languages, especially object-oriented languages, and processing models that relax consistency constraints in exchange for the higher performance that can be obtained when parallel streams of processing no longer need to be closely coordinated. These considerations are not independent; for instance, the processing costs of transactional consistency are higher in loosely coupled distributed systems, while object-oriented data models and programming frameworks are regularly employed in cloud-based and Web 2.0-style programming systems (themselves frequently built on cluster-based servers rather than on large mainframes).

One of the most common approaches to NoSQL data management is an attribute-value system (also sometimes known as a key-value system). Whereas the fundamental element in the relational model is the table, which describes a relationship among data items, attribute-value systems are built around data objects, which frequently represent directly elements in the domain being modeled (e.g., people, pages, apps, or photographs). Associated with each object is an unstructured collection of data values, each of which is associated with an identifying term, or key. So, if I want to associate myself as the owner of a particular data object, I might link the value “Paul Dourish” to the object, using the key “owner.” This, of course, is the same basic attribute-value model that we saw earlier in the discussion of prerelational models. It is a model that was largely displaced by relational databases, but that becomes interesting again in the context of new system architectures.

The expected pattern of interaction is that programs will take an object and look up the value associated with the key (e.g., to see what value represents the “owner” of an object); finding whether a particular value is associated with an object without knowing the key is frequently inefficient or not even possible. The central database operations here are to add a new key/value pair to an object, to update the value associated with a key for an object, or to retrieve the value associated with a key for an object. In some implementations, pairs of keys and values



Download



Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.