Database Reference
In-Depth Information
3
Building a NoSQL-Based
Web App to Collect
Crowd-Sourced Data
Memory is the new disk and disk is the new tape.
—Jim Gray
T here was a time, not too long ago, when developers building Web applications with
open-source databases always chose either MySQL or PostgreSQL. Although these
relational databases are still extremely popular for many types of applications, in the
past few years a bewildering amount of new nonrelational and distributed database
projects have appeared. Some of these tools are designed to handle the performance
needs of dealing with Internet-scale data and do so by distributing the workload over
multiple machines.
The rapid innovation we are seeing in the world of distributed database technol-
ogy is the result of open-source velocity, lower costs for commodity hardware, and the
increasing accessibility of cloud computing. Although distributed database technologies
allow small, frugal teams to handle and build amazingly scalable Web applications, the
sheer amount of available choices can be a challenge.
In this chapter, we take a look at the landscape of scalable database systems—tech-
nologies that are built to handle high volumes of data transfer and be distributed over
many machines. We also explore a very common application design pattern in which
constant streams of data are either inserted or read from a database that millions of cli-
ents may be accessing at once. This application model can be found in many use cases,
from social multiplayer games to social messaging applications and even in the back-
ends that aggregate data from Internet of Things devices.
Relational Databases: Command and Control
The majority of digital data transactions we make every day—whether visiting a Web
site, using an ATM machine, or making an airline reservation—are handled by a
 
 
 
 
Search WWH ::




Custom Search