Posts

Showing posts from September, 2018

tldr: Architecture of a Database System

Image
Part of the tldr series , which summarizes papers I'm currently reading. Inspired by the morning paper . tldr: Architecture of a Database System [2007] Hellerstein, Stonebraker, Hamilton This paper focuses on DBMSs, specifically RDBMSs, the "most mature and widely used database systems in production today." The figure above shows a generic RDBMS. Before going into detail into each of the 5 main components, the paper walks through an example of a single-query transaction:  At the airport, a gate agent clicks on a link to request a flight's passenger list.  The gate agent's computer (the client) calls an API which establishes a connection over a network with the Client Communications Manager .  This component is responsible for:  Establishing and remembering the connection Responding to SQL commands from the client Returning data and control messages There are a couple types of arrangements: Client-server system : direct connection betwee

tldr: What Goes Around Comes Around

Part of the tldr series , which summarizes papers I'm currently reading. Inspired by the morning paper . tldr: The Relational Model ft. What Goes Around Comes Around [2005] Stonebraker et al. Stonebraker and Hellerstein go over the history of data model proposals, since many similar ideas have been recycled over the years. The goal of this paper is to help "future researchers avoid replaying history".  Hierarchical (IMS): Late 1960s and 1970s "Lesson 2: Tree structured data models are very restrictive" This data model arranges data in trees of record types (a collection of named fields with data types). Each record type except for the root has a unique parent record type. In a tree structure, data must often be repeated (which is undesirable because data could become inconsistent). Also, the tree structure can't represent a record type that doesn't have a parent. "Lesson 4: A record-at-a-time  user interface forces the programm