NoSQL, Part 1: Coming of Age
Jan 7, 2014 5:00 AM PT
Amadeus, the world's largest travel reservation and ticketing system, handling bookings for 95 percent of flights worldwide, uses a variety of NoSQL databases to deal with the massive amounts of data that it handles.
Amadeus enables 3.7 million bookings on more than 700 airlines, 110,000 hotel properties, and 30 rental car agencies each day.
"NoSQL databases are part of our technology stack to deal with Big Data," said Dietmar Fauser, vice president of the architecture, quality and governance divisions for research and development at Amadeus.
"Scaling the database/storage tier of our applications is a significant challenge," Fauser told TechNewsWorld. "NoSQL technologies are handy to solve this challenge because they are distributed by nature and they are designed for large-scale applications and workloads."
NoSQL databases are gaining strength, and venture capitalists are pumping cash into the technology. MongoDB, DataStax, FoundationDB and Couchbase received US$150 million, $45 million, $17 million and $25 million, respectively, this year.
Why the Rush?
"A number of NoSQL vendors are getting high-profile customers, demonstrating the viability of the various offerings," Nick Heudecker, a research director at Gartner, told TechNewsWorld.
Amadeus is a good example -- it will deploy Couchbase's NoSQL technology to manage its 45 billion daily database accesses, with the goal of enabling users to obtain accurate real-time travel fare information. MongoDB's customers include Goldman Sachs and MetLife.
The pilot application and Couchbase's part manage tens of terabytes of data, and the biggest challenge Amadeus faces is the pace of change in the dataset, Fauser said.
The business opportunity of NoSQL is also attractive -- the RDBMS (relational database management system) market will have revenues of "around $30 billion for 2013, growing by around 8 percent," Heudecker said. "That's clearly a market VCs would like a piece of."
The NoSQL market is growing by 80 percent or so annually now, noted Nick Lavezzo, a cofounder of FoundationDB.
What Is NoSQL?
NoSQL databases are often schema-free, support replication, have simple application programming interfaces and run on distributed commodity servers, which are inexpensive to run, maintain and replace.
Their data storage and retrieval mechanism uses less-constrained consistency models than traditional RDBMSes, making for simplicity of design, horizontal scaling, and finer control over availability.
NoSQL stands for "Not only SQL" rather than an absence of, or opposition to, SQL, because some NoSQL databases allow SQL-like query languages to be used.
These include FoundationDB and Google SpannerF1, FoundationDB's Lavezzo told TechNewsWorld.
Such products use new-generation distributed database technologies that support ACID (atomicity, consistency, isolation, durability) transactions and thus are capable of supporting multiple data models relatively easily. They are classed as NewSQL databases.
About 150 NoSQL databases are listed at NoSQL-databases.org.
NoSQL database technologies include document store, several varieties of key-value store, object database, tabular and Tuple store.
Document store technologies are popular within enterprises because they are easy for developers to get started with, Gartner's Heudecker said. They "are easy to install in a development footprint and, at least when getting started, don't require a great deal of planning for the data model."
The document data model "is perceived to be a good compromise between the simplicity of a key-value store and the rich features associated with relational databases," Lavezzo said.
Just Another Arrow in IT's Database Bow
NoSQL products generally have been additive in the enterprise rather than replacing RDBMS deployments, Gartner's Heudecker said.
"I believe there are many different types and uses of data, and some of them are best suited to NoSQL data models, while others are very well suited to the relational model," remarked FoundationDB's Lavezzo.
For example, Amadeus's Couchbase deployment will replace an RDBMS solution consisting of multiple shards of MySQL databases with Flash storage and an in-memory cache using Memcached, which Fauser describes as a super-fast in-memory key/value cache.
"At the scale at which some of our applications operate, most of the features of the 'shared everything' RDBMS do not scale," Fauser pointed out. "NoSQL solutions ... do less, but they do it well when it comes to scalability."
Player data for games, time series data and social network data are among those that are well suited to NoSQL, Lavezzo said, while e-commerce and financial data are best suited to the relational model.
Relational databases will still be used in the majority of situations, but will no longer be IT's automatic choice, software guru Martin Fowler contended.
Benefits of Using NoSQL
Using NoSQL lets Amadeus simplify its architecture, Fauser said. It also improves the operability of the architecture, because Couchbase "is solving cold start issues of Memcached and is better at handling capacity changes."
NoSQL also provides Amadeus better scalability. "We will be able to cope with the natural traffic growth we observe with a simple linear increase of our capacity," Fauser pointed out.
"Couchbase is a scale-out topology with a true Shared Nothing cluster architecture," Rahim Yaseen, Couchbase's senior vice president of engineering, told TechNewsWorld. "Thus, scaling the constantly growing data and storage needs of Amadeus' data scaling is handled by easily adding nodes through our easy elastic scalability to the Couchbase cluster."
Developers "are able to deliver applications typically faster, or at a broader scale, with lower cost [using NoSQL] than they would with an RDBMS," Gartner's Heudecker observed. The lack of an externally defined schema "allows for developer agility as well as storing a variety of data sources."
Stay tuned for NoSQL, Part 2: Grappling With Big Data.