Doi: 10.1145/ 1364782.1364797
There is more to data access than SQL.
BY maRGo seLtzeR
Beyond Relational Databases
T H E NU M B ER AND VARI E T Y
of computing devices in the environment are increasing rapidly. real computers are no longer tethered to desktops or locked in server rooms. pdAs, highly mobile tablet and laptop devices, palmtop computers, and mobile telephonyhandsets now offer powerful platforms for the delivery of new applications and services. these devices are, however, only the tip of the iceberg. hidden from sight are the many computing and network elements required to support the infrastructure that makes ubiquitous computing possible. With so much computing power traveling around in briefcases and pockets, developers are building applications thatwould have been impossible just a few years ago. Among the interesting services available today are text and multimedia messaging, locationbased search and information services (for example,
comm unicatio ns o f the ac m | J U LY 2008 | vo L . 5 1 | no. 7
on-demand reviews of nearby restaurants), and ad hoc multiplayer games. Over the next several years, new classes of mobile and personalizedservices, impossible to predict today, will certainly be developed. While these services differ from one another in major ways, they also share some important attributes. One—the focus of this article—is the need for data storage and retrieval functions built into the application. Messaging applications need to move messages around the network reliably and without loss. Location-based servicesneed to map physical location to logical location (for example, GPS or cell-tower coordinates to postal code) and then look up location-based information. Gaming applications must record and share the current state of the game on distributed devices and must manage content retrieval and delivery to each of the devices in real time. In all these cases, fast, reliable data storage and retrieval arecritical. As soon as the discussion turns to data storage and retrieval, relational databases come to mind. Relational databases have been tremendously successful over the past three decades and SQL has become the lingua franca for data access. While data management has become almost synonymous with RDBMS, however, there are an increasing number of applications for which lighter-weight alternativesare more appropriate. This article begins with a brief review of how relational systems came to dominate the data management landscape, and discusses how the relational technologies have evolved. It presents a data-centric overview of today’s emergent applications, and delves into data management needs for today’s and tomorrow’s applications. Relational Prehistory Relational databases came out ofresearch at IBM1,5 and the University of California at Berkeley7 in the 1970s. Relational databases were fundamentally a reaction to escalating costs in deploy-
ing and maintaining complex systems. The key observation was that programmers, who were very expensive, had to rewrite large amounts of application software manually whenever the content or physical organization of adatabase changed. Because the application generally knew in detail how its data was stored, including its on-disk layout, reorganizing databases or adding new information to existing databases forced wholesale changes to the code accessing those databases. Relational databases solved this problem in two ways. First, they hid the physical organization of the database from the application andprovided only a logical view of the data. Second, they used a declarative language to describe the data of interest in a particular query, rather than forcing the programmer to write a collection of function calls
to fetch the data. These two changes allowed programmers to describe the information they wanted and to leave the details of optimization and access to the database management system....