NoSQL cloud technology as an option?{3}


As relational databases such as SQL and MySQL have been the standard model for storing, retrieving, and managing data throughout the IT industry for the past decades, relational databases finds itself losing its significance primarily due to fixed schema requirements and the inability to scale (Arora & Aggarwal, 2013). Three prominent trends occurring in the computer industry are Big Users, Big Data, and Cloud Computing. Relational databases finds itself struggling to keep up with these current trends. This is where NoSQL cloud technology can provide a solution to these problems.

What exactly is Big Users, Big Data and Cloud Computing?

A decade ago, thousand of daily users for web applications was a lot and ten thousand was considered a very extreme case. Now with the globalization of the internet, the vastly increase online usage, and the rapidly growing popularity of mobile devices like iPhones, iPads, Kindles, Nexus 5, and other smartphones and tablets — it is now very common to have millions of users at the same time on multiple devices which is also known as Big Users (Couchbase, 2014).

Next is Big Data. According to Couchbase (2014), Data is continuously becoming easier to capture and access through third parties such as Instagram, Netflix, and many others. Some of the data that is being captured are personal user information, multimedia files, geo location data, and etc. While use of this data is changing the way we communicate, shop, advertise, means of entertainment, and etc., it is extremely vital that developers leverage their data in order to maximize business goals. So the need for flexibility in database is important because this new data is either unstructured or semi-structured, and a method to storing, retrieving, and managing this data is crucial.

Today, most applications uses a three-tier architecture composing of interface layer, business layer, and database layer running on a public or private cloud supporting end users. In the cloud, a load out balancer would handle all traffic, and scales-out traffic accordingly to web application servers. For relational databases, they would use a centralized system making it more difficult and complex for one data center to process all traffic.

Scaling with relational database vs. NoSQL.

As previously said, relational database has been the standard for decades and worked extremely well. Scaling up with relational technology had limitations at the database layer. In order to support more users and/or more data, you needed larger and larger servers that had more CPUs, more memory, and a larger disk storage in order to manage all the tables. These big servers were often more highly expensive and more complex to maintain.

Scaling with NoSQL technology at the database layer had a much easier and cost effective approach. According to Couchbase (2014), they use a cluster of standard, physical, or virtual servers to store data and support database operations at the web/applications server layer instead of the database layer. Simply put, NoSQL cloud technology uses a more linear approach in maintaining its ability to scale. If ten thousand new users started using the application, then simply add a database cluster. If another ten thousand starts using the application, then add another database cluster. So instead of continuously buying bigger and bigger hardware, using NoSQL technology can serve as the better option to providing scaling options needed to accommodate users globally.

So what exactly is NoSQL?

NoSQL is an open source nonrelational database management system used to store unstructured or semi-structured data by pairing each key with a complex data structure known as a document. Documents can contain many different key-value pairs, or key-array pairs, or even nested documents. Some examples of NoSQL cloud technology includes MongoDB, Apache, Couchbase Server, and etc.

Lastly according to Lampitt (2013) from InfoWorld, Netflix which is the big “Kahuna” of Web media businesses, made the switched from Oracle database as the back end to using NoSQL database Cassandra. Lampitt reports that Adrian Cockcroft, cloud architect from NetFlix said, “We had a single data center, which meant we had a single point of failure. We were approaching limits on traffic and capacity. Now that people can watch Netflix streaming programming from their phones, from Wii devices, Roku boxes, and many others, the demand for availability increases all the time. We have more customers every quarter, more customers are using streaming, and they’re using streaming at a greater rate.” Cockcroft lastly added, We knew we had to get out of the data center, so we could keep running and keep growing.”

Using NoSQL technology is a means of achieving important business goals. It improves operation efficiency, improves cost effectiveness, improves availability, eliminates downtime, and adds simplicity options for scaling.

Couchbase (2013). What is NoSQL & Why NoSQL. Retrieved from
http://www.couchbase.com/why-nosql/nosql-database

Arora, R., & Aggarwal, R. (2014). An Algorithm for Transformation of Data from MySQL to NoSQL (MongoDB). Retrieved from
http://www.ijascse.org/volume-2-special-issue-1/An_algorithm.pdf

Lampitt, A. (2013) Big movies, big data: Netflix embraces NoSQL in the cloud. Retrieved from
http://www.infoworld.com/d/big-data/big-movies-big-data-netflix-embraces-nosql-in-the-cloud-217765