NoSQL Databases
The NoSQL movement is still relatively new. Databases which store data without schemas and which do not necessarily provide transactional security may seem like a bad idea to experienced relational database practitioners, but these tools do certainly have
- PDF / 2,450,003 Bytes
- 38 Pages / 441 x 666 pts Page_size
- 121 Downloads / 258 Views
NoSQL Databases
What the reader will learn: • that Web 2.0 and Cloud Computing brought new challenges to the database arena • that a number of data-centric solutions that are not relational have come to the fore • how these new data storage mechanisms work by exploring three in detail • that each new data storage type addresses a particular business need • some of the strengths and weaknesses of these new approaches, together with an appreciation of why Relational may be with us for many years to come
5.1
Databases and the Web
From the very earliest days of web development programmers have been using databases to provide permanency, and a single source of truth, for their web-based systems. In the beginning this would typically mean connecting to a Relational database (RDBMS) back-end. This is particularly true for the many online trading systems that were developed, as the transactional nature of their raison d’¯etre demanded the robustness provided by leading RDBMS to ensure reliable financial dealings. To a degree, of course, the database itself will not care whether its clients are connecting using a two- three- or n-tier architecture. And the functionality they provided also quickly found a place in the far more interactive type of application that came about as a result of Web 2.0, and Cloud computing. For many designers the choice usually was seen as one of Open Source (such as MySQL) or vendor supplied (such as Oracle). The debate often revolved around cost of purchase, cost of ownership, and trustworthiness. What it seldom revolved around was whether the database should be relational or not. Universities running computing courses would typically have a module called “Database Systems”, which examined almost exclusively, the relational model. Naturally, therefore, as the students left and began to develop exciting new applications for the commercial world, P. Lake, P. Crowther, Concise Guide to Databases, Undergraduate Topics in Computer Science, DOI 10.1007/978-1-4471-5601-7_5, © Springer-Verlag London 2013
97
98
5
NoSQL Databases
there was little doubt in their mind that a database problem was to be solved with a relational solution. However, as web driven systems began to expand, particularly when mass-usage systems such as Facebook and Twitter began to take off, it became clear that the relational model is not good at everything. It is said in some quarters, for example, that Relational does not scale well. And the fact that these new mass-usage systems are global and data is typically spread across many nodes in many countries, is seen by some as something that relational does not cope with well. As well as pointing up some potential weaknesses in the relational approach, these new applications were often not actually transactional in nature. As we saw in Chap. 4, the ACID test is at the heart of providing the transactional robustness. However, it is a big processing overhead for a RDBMS to maintain the robustness required in an ACID compliant database. And that overhead becomes extremely dif
Data Loading...