This post is sponsored by Couchbase. As a promotional post, it reflects the views of the writer, not ReadWrite’s editors.
Over the last decade and a half, the information-rich lives we live online mean a soaring pile of bits and bytes. And it’s growing harder to manage, not easier. Experts see three related megatrends disrupting attempts to sort things out. But don’t despair—the database masters of the world are working on a solution.
The inherent problem is that not all Web interactions are built alike. Apps come in all shapes and sizes. Connecting the dots between your email, your Web search, and your online purchases, for example, requires more than just the standard age/sex/location identifiers.
Add to this the number of people online who are accessing and inputting information at the same time—2.4 billion at last count—along with bits and pieces of loosely formatted or unformatted information, known in the database industry as unstructured data, and you can see how complex the issue has become.
Technology giants like Google, Amazon, Facebook and LinkedIn helped create new data-management systems to support the number of increasingly complex Web applications they run. These new technologies, broadly grouped as databases that don’t use Structured Query Language technology, or NoSQL databases, are being rapidly adopted by companies of all sizes.
Three Big Trends In Big Data
So what’s fueling this trend to simplify the information of the world and make sense of it using NoSQL databases? Internet technology experts suggest it comes down to three interrelated megatrends: Big Data, Big Users, and cloud computing.
Big Data is a term that evolved out of the problem caused by an avalanche of information. How big? No one can say, though a rough definition is anything that’s too big to be handled on a desktop computer by Microsoft Excel. Capturing and using the tremendous amount of data being generated creates the need for a different type of database. NoSQL provides a data model that maps better to an application’s data and simplifies the interaction between the application and the database.
Big Users play a part in the problem. Think of all those people downloading and using an app: The sheer number of devices can do more calculations than anything NASA uses to launch things into space. It’s not uncommon for apps to have millions of users a day. Supporting huge numbers of people online accessing the same information at the same time, combined with the challenge of using only as much bandwidth and computing power as needed, has contributed to the adoption of NoSQL.
Cloud computing continues to influence the choices made about database designs. The early days of cloud computing dealt with simple computations, straightforward communications between devices, and short-term storage alternatives. Today, most new consumer and business apps run in a cloud-computing environment—meaning they access servers over the Internet rather than in one physical location.
Because relational databases—the conventional kind—typically grow in length rather than expanding database fields, they can be a poor choice for apps that need to handle large bursts of users. NoSQL technologies were designed in part to help handle these dynamics.
Turning To NoSQL
So with Big Data, Big Users, and cloud computing in play, an increasing number of developers, like the ones at Twitter, are turning to NoSQL databases. They say it helps them make better apps with data sets they can control. NoSQL also lets them increase or decrease the number of users and the data they create as needed. As a result, these developers can improve the performance of apps and make them more responsive to people that use them.
When companies evaluate the need for a NoSQL database to support Web apps, there are a few questions they should ask. First, how easy is it to increase the size of the database? All NoSQL databases can do this, but your database should allow you to add or remove whole batches of networked database computers with a simple command.
Second, does your database deliver consistent high performance? Ideally your database should deliver sub-millisecond response times and consistent stream of information no matter how much volume is needed. Third, the database should be flexible enough so you can change records at any time.
Finally, your NoSQL database should be working at all times, even if the IT department is upgrading software or hardware … or if the data center hosting a particular server is recovering from a disaster like a fire.
This post is sponsored by Couchbase. As a promotional post, it reflects the views of the writer, not ReadWrite’s editors.