HDM Global

Db2 on Cloud as an Alternative to NoSQL databases !?

By Joachim Gerolf Stumpf posted Mon October 14, 2019 10:33 AM


You are working with jupyter notebooks and Python and looking for a database. Maybe you are also working with NoSQL databases?

  • Do you want to try out software when it is convenient for you and not have to contend with vendor availability?

  • Do you wish you could simply try out technology without having to talk to install something?

  • Do you start working with JSON formatted data ?

  • Do you think about storing your data in a database?

  • Do you work in that project with people from different preferences working with that data?

If you answered yes to any of these questions, then this Blog can help you. IBM's Digital Technical Engagement assets are for you. This team of IBM subject matter experts provide high quality self-service demos to help you discover, learn, and try out the latest technology for yourself on-demand 24x7 for FREE.

Introduction to Db2

Db2 is a relational database with various extensions to cover upcoming new database requirements.

These extensions include additional datatypes and functions. Areas we started to extend was to store pictures and documents in LOB’s using extenders to view and analyze.

In the next iteration we included XML, which we stored using LOB’s or derived datatypes. This is only a part of it since we also want to get more information out of these LOB’s using SQL/XML.

In times of NoSQL databases and JSON we also started to store JSON data native or as Binary JSON format (BSON) in native datatypes like BLOB, CLOB , CHAR. With functions like JSON2BSON and BSON2JSON we support writing and retrieving data in binary datatypes.

For people who want to use the data also within SQL we provide functions like JSON_VAL,JSON_TABLE. It was started with user-defined functions in schema SYSTOOLS.
With Db2 it changes to ISO standard scalar functions in schema SYSIBM like JSON_VALUE , JSON_QUERY , JSON_TO_BSON and several others.

These allow people knowing SQL to integrate JSON document information in SQL Queries.

Additionally we always improve and extend the functionality you expect from a relational database which are:

  • Support for many different application development languages

  • An extensive set of Functions and Datatypes

  • Different availability options covering the requirements of different service levels including disaster recovery

  • High performance shown in various benchmarks


Db2 database product is available in different form factors and deployment options.

We have a warehouse path with an enhanced and for warehouse configured deployment in Db2 warehouse on premise and on cloud and an IBM Integrated Analytics system as appliance.

The other path I want to go for in this Blog is the transactional one, which relates to IBM Db2 on premise and on cloud.

Application development consideration

From the client part we support several different API’s like CLI , ODBC, JDBC, .NET and some operating system and platform dependant interfaces in the client package.

There are also open source drivers out for many more languages.

If you really want to know which languages are supported you can check the IBM Knowledge center.

In our samples we are explaining in Jupyter notebooks we are using Python as language.

For Python we have several choices I want to mention some:

  • IBM_DB used in in notebooks together with Python

  • SQLAlchemy toolkit with ibm_db_sa project

  • Django framework for web application development

At the end these options are depend on Db2 cli driver which they also include.

This includes that you can also refer to an existing installation.

Maybe you company is using Db2 and you start working with JSON data, then you can start testing on your own.  

Here are some informations:

- We offer free Db2 instances on the cloud. Therefor you need an IBM id which is free of charge.  With the IBMid you will be able to access the IBM Cloud, where you can create your Db2 on Cloud instance using a free of charge lite plan. The first video on our webpage will guide you through these steps.
Jupyter notebooks with samples are available on Github. You can run them using Anaconda.

- We provide you with an image on skytab, that contains several jupyter notebooks to test all the functions i mentioned before.

You will find all our assets (videos, Product Tour,Hands-on lab) on the DTE Db2 on Cloud webpage.

If you have questions, need assistance, or want to provide feedback, please don't hesitate to reach out to me directly.

Email: stumpfj@de.ibm.com