In this day and age where almost everything is shifting towards the ever expanding reaches of the web, new and unprecedented challenges arise. In particular are the challenges arising from the vast data being transmitted over the web day in and day out.
Businesses that are already tapping into the potential of the web are thriving. As these businesses continue to expand their footprint in the web, they will learn that the amount of traffic coming from different source will prove to be too much for their servers. Unreliable servers will spell trouble and businesses will find themselves beset with lost revenues and missed opportunities instead of reaping the benefits.
This is the problem that the founders of Cloudant wanted to address.
Normally, a singular server handles all of the changes in data. While having all of the transactions in a singular location makes a lot of sense in terms of maintaining data consistency and preventing data duplicity, it poses as a potential cause for performance bottlenecks. Businesses with a large share of the market just tend to add more processing power to their servers when push comes to shove. However, is it really enough?
Cloudant addresses this problem by implementing a syncing mechanism. Instead of letting the server do all of the heavy lifting, it delegates processes. The local device handles all of the changes in data. It then syncs the data into the server at once (or at a later time if there is no internet connection). To handle the issue of data consistency and duplicity as multiple devices sync into the server, Cloudant tags each and every revision of the data with an ID in order to identify the most recent changes and to handle conflicts. In other words, the server solely needs to manage the revisions.
Source: IBM Cloudant
Even with the delegation of processes, a sheer amount of traffic can still push a Cloudant server to crash. The probability still exists. However, it is virtually negligible since Cloudant replicates data into multiple servers scattered in multiple locations across the globe. Cloudant “provide[s] high availability and data durability”. We can see a Hydra-like scenario–“cut off one head, [and] two more shall take its place”. That is pushing it a little bit too far but you get the point.
Just recently, RGTC explored the capabilities of Cloudant. Through the Bluemix platform, we knit together different services–Cloudant, Alchemy API, and Visual Recognition API–to create an Android application that enables users to register the minutes of a meeting… with a twist!
Writing down the minutes and the attendees of a meeting manually is admittedly tedious. However, with the application, minutes can be extracted and attendees can be identified automatically by just taking a few pictures. Press the send button and the minutes will be sent into the devices of each and every attendee.
The data replication from the devices to the server, and vice-versa, was rather a walk in the park because of Cloudant’s syncing mechanism. However, the structure of the data–one-to-one and one-to-many relationships between meeting information, meeting minutes, meeting attendees, and attendee information–was a challenge.
In conclusion: If the structure of your data has complicated relationships, you will be better off with a relational database.
Give it a try
Cloudant presents itself as a database with the following features:
- Scale globally as demand rises
- Run non-stop amidst any downtime
- Handle a variety of data types
- Persist data anytime and anywhere
It may not be a one-size-fits-all database service. However, given the right circumstances, it may well be the key to the success of your business. Well-known tech companies like Microsoft are already using it in one or more of their products. Give it a try!
There is no question how the advent of technology has continuously shifted the paradigm of how businesses operate. If businesses want to survive, they have to continuously adapt.
If you want to inquire about Cloudant, you can contact us anytime here.