The relational database has ruled information technology sectors for decades. Ask any analyst, report writer, or database admin about day-to-day issues, and they are likely to recount headache-filled hours spent on joins and query troubleshooting. Although NoSQL technology is not about to replace the reigning data champion, NoSQL is being leveraged across multiple applications and enterprises with good results. Here are a few use cases for NoSQL databases.
Varied Data Models for Varied Problems: The Netflix Solution
The exponential growth of the video streaming and online rental giant has created an extreme need for simple, quick data retrieval on a second-by-second basis. Online retrieval of queues, user log ins, movie preferences and order statuses are probably only outpaced by technology needs in the Netflix distribution centers. The company has adopted three separate NoSQL solutions for three independent organizational needs. The Director of Cloud and System Infrastructure at Netflix cites NoSQL adaptability, scalability and performance ability as reasons for the move to non-relational structures. The NoSQL solutions currently adopted by Netflix are SimpleDB, HBase, and Cassandra.
Mix and Match SQL: The Twitter Mode
With huge amounts of user information, hash tag architecture and logical processes, Twitter finds a way through the data by employing a mixture of MySQL and NoSQL solutions. According to Kevin Weil, the company uses NoSQL to drive functionality when MySQL is not an ideal choice. Twitter’s massive data storage requirements present scalability problems within relational database solutions. Leveraging NoSQL databases allowed for increased and flexible storage without tremendous IT support simply to manage queries. Another reason Twitter uses NoSQL is because the social networking site requires real-time analysis and response for hundreds of thousands of basic queries every day. Relational models would provide too much latency. Twitter’s NoSQL use includes tools like Scribe, Hadoop, Hbase, and FlockBD.
Databases for Your Databases
In complex data and process flow situations, information systems may require secondary queries and data housing. Traditionally, a new table or database would be created within the relational structure. However, constant creation of relational databases creates an increased dependency on IT resources, takes up a great deal of server real estate and can increase labor associated with database maintenance. Many organizations are moving to NoSQL databases for secondary functions and maintenance queries. Uses include event logs and file name lists. Solutions like MongoDB provide efficient functionality without the work associated with building and maintaining relational data sets.
Other Uses of NoSQL Databases
- Real-time updates and queries
- Discussion thread hierarchy
- Data caching and archiving
- Simple data collection and analysis functions associated with voting and surveys
- Cross over data analysis that cannot be conducted in relational environments
- Online gaming where numerous simple queries need to run in fractions of a second
For more information on how to decide if NoSQL is right for your application, contact us at budaconsulting.com/contact us.