IBM Cloudant, the flexible no-SQL database

IBM Cloudant, the flexible no-SQL database

There is gold, oil and … data. Gold has its peaks and dips, but is still considered to be valuable. Oil, despite the low prices now, still has the dubious power to build ski-pistes in the middle of the desert to name just one silly off-spring of the stuff.

Data's value, however, is going up and up and up. There is no sign that it's value will be dropping anytime soon. From a pure technical standpoint, I found it intriguing. Storing data goes way back. In the early days, writing in stone or on papyrus was the way to store ‘data’. Looking, for example to the Rosetta Stone, you can see the importance of it right away. Three languages holding the same information and therefore a valuable key in translating ancient documents.

Creating data nowadays is merely done by producing 'zero's' (well, that's something to keep in mind!) and 'ones'. Although one could physically prove the existence of the 0's and 1's we all know that data is pretty virtual. Yet, extremely important...

When the IT industry slowly emerged, the need of storing electronic data became a must as it was once for preserving carved stones. The Apollo flight program needed computers and a storage mechanism to do calculations. IBMs IMS comes from that period. Data was stored hierarchical.

The Relational Databases, such as DB2, came later. Relational Databases holds vast amount of structured data. Structured because the design of those databases forced data to be entered in a very strict way. When creating a database, or rather a table, one has to decide what type of data needs to be stored and how large that data is. A table holds records and in that records is one or more fields. Those fields can hold integers, timestamps, strings and a lot more, but not a mixture of it. Of course, fields can be changed, added or deleted, but that is a cumbersome exercise and was not the design principle of the database.

One can get data out of database table by means of SQL: Structured Query Language. A kind of ‘programming’ language to retrieve, update or delete data.

You’re probably done it sometime

SELECT * FROM IBM_EMPLOYEES WHERE hair_color = "red"


Although structured databases, like DB2, hold very important enterprise data and will be there for the foreseeable future there are other technologies emerging.

I have the impression that with the rise of the www and mobile devices the need became apparent to have a non predefined way of storing information. The lifecycle of mobile apps is short and nobody can foresee what data needs to be stored in the next release of the app. Having a strict structure on the database side doesn't help to change your app rapidly.
Furthermore, data transfer between mobile devices, web applications and back-ends are predominantly done by JSON. JSON stands for JavaScript Object Notation and looks human-readable.
Without being a data-scientist one could make a good guess what this information holds:

{
"age": 52,
"name":"Frank van der Wal",
"messages":["Don’t lie about your age","Aha, I might have swapped the digits”]
}

Data now is held within the curly brackets and consist of a name-value pair.
Simple.

Storing this data into a structured DB can be done by transforming the names into table-fields and storing the values.
But it would be much easier if you could store it as is… The no-SQL databases is born.

Cloudant is the IBM version of it and it can indeed store these JSON structures. You do not create a database but, in no-SQL wording, a “collection”. There are no tables but “documents” and the documents do not hold fields but the JSON structure. The fun thing is that if the JSON changes by adding a new field Cloudant doesn’t care. He just stores the new document and won’t start to send you annoying error messages indicating that the field is not present.

The flexibility of Cloudant doesn’t limit itself to the usage and adding ever changing data structures. Although one can install Cloudant on premise, it is designed to be a Database-as-a-service from a cloud. There are more than 35 data centres in more than 12 countries over the 5 continents to pick from. Wherever your app (mobile or web) runs, choose a cloud close by, talk JSON to it by means of http and Bob’s your uncle!

Another design principle of Cloudant is that, by default, you get a load balancer.
A what?
A load balancer. This is a piece of technology that can direct incoming requests to the proper instance of the Cloudant database. If you start using Cloudant, you probably do not think about a multitude of instances, or nodes as they call it. But, before you know it, your app can be very popular and the one thing that can slow down responses is that one database you have where all the requests have to tunnel through. You don’t want that and instead of completely redesigning your database structure, Cloudant is already designed to handle many requests by having the ability to split-up. The load balancer takes the requests into account and routes them them the the available nodes.

Again, traditional databases will be there for some time and for some applications and usage they are extremely suitable. Yet, no-SQL databases are useful and very popular for modern developers and applications.

You can try out Cloudant yourself on IBM Bluemix, give it a go!

To view or add a comment, sign in

More articles by Frank van der Wal

  • Full Stack Development in the Digital Era: Swift + IBM Cloud Private + Mainframe — Built by Millennials part II

    Last week, I started an article on a journey to have millennials working on IBM mainframes and to present the outcome…

    2 Comments
  • Full Stack Development in the Digital Era: Swift + IBM Cloud Private + Mainframe — Built by Millennials

    For some strange reason, the mainframe is often qualified as old-fashion, legacy and everything but modern. Strange.

    1 Comment
  • Girlsday 2018 @ IBM

    In the Netherlands we have a nationwide initiative to get girls interested in technical profiles for their education…

    1 Comment
  • Robotics: more than shiny mechanisms

    With Robotics many of you might think about shiny mechanisms welding at a car, yielding a spray of sparks and…

    1 Comment
  • POWER to the 9th

    For some reason, IT has it's strange ways with consecutive numbers..

  • Sinterklaas gedicht 2017 (Dutch only)

    “Oops jemig, dacht de Sint, "Is het al weer tijd om te gaan dichten voor die vrolijke gasten van IBM?" Jazeker: Als er…

    1 Comment
  • Contain the containers!

    Once upon a time, there were servers running applications. If we talk mainframe, virtualisation came about in the late…

  • Extreme small portable labs

    In the Netherlands we had Johan Cruyff, who was, apart from being world's famous football-player, also renown, for his…

  • New IBM mainframe: z14.

    The Netherlands summer has been washed away by autumn storms and heavy rainfall already and I'm looking back to the…

  • Blockchain is growing up.

    Well, a year+ ago, one of the latest and greatest hypes in IT was Blockchain. And, as always with new IT trends, it…

Others also viewed

Explore content categories