Traditionally, relational databases have been the industry standard, but NoSQL has provided a viable alternative, particularly for interactive web applications. While NoSQL is viewed as a viable alternative, it makes developers view data modeling and application development in a different light.
In a recent DBTA webcast, the topic of moving from relational to NoSQL was explored with Shane Johnson, senior product marketing manager at Couchbase. Change can be hard because people typically like familiarity, but change usually becomes necessary because of need, and in this case, it is the need for flexibility that NoSQL provides.
Relational database technology is a “scale up” technology, which means adding a bigger server to get more capacity. “When looking to scale up the solution is pretty obvious; throw more resources at it, but when you’re looking at something on a single server there is only so much storage and so many processors that can be added. With this there is a ceiling and at the end of the day we have to begin to question how practical that is,” explained Johnson. Now databases have begun to “scale out” with NoSQL instead of scaling up. Scaling out is a process of adding more commodity servers, virtual machines or cloud instances behind a load balancer. Scaling out also allows space that is not being used to easily be removed instead of being wasted.
Another advantage that NoSQL provides is that it does not conform to schemas while relational databases do conform to schemas. With a relational database, you must define a schema before adding records to the database. Each record added to the database must adhere strictly to this schema with its fixed columns and data types. Changing the schema is difficult and complex. NoSQL databases don’t require schema definition prior to inserting data or a schema change when new data presents itself.
To view the webcast go here.