{
  "date": "2015-10-31T16:09:02",
  "slug": "ibm-bluemix-database-cloud-service-my-first-trial",
  "link": "https://www.dbi-services.com/blog/ibm-bluemix-database-cloud-service-my-first-trial/",
  "title": {
    "rendered": "IBM Bluemix Database Cloud Service &#8211; My first trial"
  },
  "content": {
    "rendered": "<h2>By Franck Pachot</h2>\n<p>.<br />\nRemember my <a href=\"http://dbi-services.com/blog/oracle-database-cloud-service-my-first-trial/\" target=\"_blank\" rel=\"noopener noreferrer\">first try</a> of Oracle cloud when Larry Ellison announced the Cloud in june?<br />\nThis week at OOW15 Larry Ellison announced that IBM is not a competitor anymore for them, then I checked IBM Cloud: IBM Bluemix offers IaaS, PaaS and SaaS. As I did in my first trial for Oracle, I&#8217;m testing the simplest DB2 &#8216;SQL Database service&#8217;.<br />\n<!--more--></p>\n<h3>IBM is nowhere in the Cloud?</h3>\n<blockquote class=\"twitter-tweet\" data-width=\"500\" data-dnt=\"true\">\n<p lang=\"en\" dir=\"ltr\">.<a href=\"https://twitter.com/larryellison?ref_src=twsrc%5Etfw\">@larryellison</a> <a href=\"https://twitter.com/hashtag/oow15?src=hash&amp;ref_src=twsrc%5Etfw\">#oow15</a> kickoff keynote. We no longer pay attention to <a href=\"https://twitter.com/hashtag/SAP?src=hash&amp;ref_src=twsrc%5Etfw\">#SAP</a> or <a href=\"https://twitter.com/hashtag/IBM?src=hash&amp;ref_src=twsrc%5Etfw\">#IBM</a> &#8211; they are nowhere in the <a href=\"https://twitter.com/hashtag/cloud?src=hash&amp;ref_src=twsrc%5Etfw\">#cloud</a> <a href=\"https://t.co/zE4U0iCAvU\">pic.twitter.com/zE4U0iCAvU</a></p>\n<p>&mdash; Oracle Database (@OracleDatabase) <a href=\"https://twitter.com/OracleDatabase/status/658452166009593856?ref_src=twsrc%5Etfw\">October 26, 2015</a></p></blockquote>\n<p><script async src=\"https://platform.twitter.com/widgets.js\" charset=\"utf-8\"></script></p>\n<p>IBM nowhere in the cloud? Well&#8230; not totally true&#8230; Let me Google for you. Big Blue is in the cloud at Bluemix: <a href=\"https://console.ng.bluemix.net/\" target=\"_blank\" rel=\"noopener noreferrer\">https://console.ng.bluemix.net/</a></p>\n<p>And when you click on the first button, you can register for a free 30 days trial.</p>\n<h3>SQL Database service</h3>\n<p>I&#8217;ve created a &#8216;trial&#8217; space where I choose &#8216;USE SERVICES &amp; APIs&#8217;</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix001.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix001.jpg\" alt=\"CaptureBluemix001\" width=\"1086\" height=\"460\" class=\"alignnone size-full wp-image-4923\" /></a></p>\n<p>then have a look at all the SaaS services related to database &#8211; very large offer:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix002.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix002.jpg\" alt=\"CaptureBluemix002\" width=\"1346\" height=\"705\" class=\"alignnone size-full wp-image-4925\" /></a></p>\n<p>Here is what is available with the free version:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix003.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix003.jpg\" alt=\"CaptureBluemix003\" width=\"1359\" height=\"727\" class=\"alignnone size-full wp-image-4926\" /></a></p>\n<p>If you want to see the full catalog, it&#8217;s quite impressive: <a href=\"https://console.eu-gb.bluemix.net/catalog/\" target=\"_blank\" rel=\"noopener noreferrer\">https://console.eu-gb.bluemix.net/catalog/</a></p>\n<p>So my SQL Database service is immediately there:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix004.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix004.jpg\" alt=\"CaptureBluemix004\" width=\"1260\" height=\"694\" class=\"alignnone size-full wp-image-4927\" /></a></p>\n<p>And I launch it. I&#8217;ve 3 options:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix005.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix005.jpg\" alt=\"CaptureBluemix005\" width=\"1248\" height=\"693\" class=\"alignnone size-full wp-image-4928\" /></a></p>\n<h3>Load Data</h3>\n<p>Let&#8217;s load data from a .csv file. I&#8217;ve exported EMP and DEPT from Oracle sample schema SCOTT, using SQL Developer &#8211; all default options &#8211; and import it with all default options.</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix006.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix006.jpg\" alt=\"CaptureBluemix006\" width=\"1597\" height=\"869\" class=\"alignnone size-full wp-image-4931\" /></a></p>\n<p>It reads the file and display its content. Don&#8217;t worry about the quotes, they are display there but are properly managed when importing</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix007.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix007.jpg\" alt=\"CaptureBluemix007\" width=\"1045\" height=\"423\" class=\"alignnone size-full wp-image-4930\" /></a></p>\n<p>Here is the load result:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix008.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix008.jpg\" alt=\"CaptureBluemix008\" width=\"1046\" height=\"570\" class=\"alignnone size-full wp-image-4929\" /></a></p>\n<p>I did the same with EMP.</p>\n<h3>Run Queries</h3>\n<p>I want to directly run a query and the first idea is to join EMP and DEPT. </p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix009.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix009.jpg\" alt=\"CaptureBluemix009\" width=\"620\" height=\"842\" class=\"alignnone size-full wp-image-4933\" /></a></p>\n<p>What? Syntax error? That the simplest query I can do with two tables!</p>\n<p>Don&#8217;t tell me that I can&#8217;t use ANSI joins. I were doing ANSI joins in DB2 long before there were supported on Oracle. Actually I learned ANSI join syntax when working on the first versions of DB2 on Unix. Let&#8217;s look at the documentation:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix010.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix010.jpg\" alt=\"CaptureBluemix010\" width=\"685\" height=\"342\" class=\"alignnone size-full wp-image-4936\" /></a></p>\n<p>Ok, ANSI joins are supported but not the USING clause. I&#8217;ve two problems with that:</p>\n<ul>\n<li>This syntax is defined by SQL-92 and we are in 2015. It&#8217;s a pity that database editors are so reluctant to include syntax that makes things simple. It&#8217;s a reason why young developers a looking at NoSQL: they don&#8217;t want to use a 30 years old language.</li>\n<li>DB2 has made huge effort to support Oracle specific syntax (datatypes, SQL functions, PL/SQL, concurrency model). It even supports CONNECT BY, (+) outer joins, rownum, dual, etc. But the first query I try, which is standard SQL-92 ANSI join is not possible! I&#8217;m doing most of my joins on Oracle with the USING clause.</li>\n</ul>\n<p>Ok, let&#8217;s rewrite it:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix011.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix011.jpg\" alt=\"CaptureBluemix011\" width=\"1461\" height=\"764\" class=\"alignnone size-full wp-image-4937\" /></a></p>\n<h3>work with tables</h3>\n<p>I skipped the &#8216;work with tables&#8217; because you can&#8217;t do a lot with it:  &#8220;you can view details, browse data, and export data&#8221;</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix012.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix012.jpg\" alt=\"CaptureBluemix012\" width=\"1437\" height=\"529\" class=\"alignnone size-full wp-image-4939\" /></a></p>\n<p>But you&#8217;re not limited to that. You can connect with DB2 DBA Studio. Look at the &#8216;Setup&#8217; menu do download it and get connection information:</p>\n<p><a href=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix014.jpg\"><img loading=\"lazy\" decoding=\"async\" src=\"https://www.dbi-services.com/blog/wp-content/uploads/sites/2/2022/04/CaptureBluemix014.jpg\" alt=\"CaptureBluemix014\" width=\"770\" height=\"336\" class=\"alignnone size-full wp-image-4944\" /></a></p>\n<p>From there you can do everything: backup/recovery, administration, tuning, development, etc. as with any other DB2 database.</p>\n<h3>Conclusion</h3>\n<p>This is only a simple test, so only two conclusions here:</p>\n<ul>\n<li>IBM is not &#8220;nowhere&#8221; in the cloud. It&#8217;s at bluemix.net and has a large catalog of services.</li>\n<li>Whatever the compatibility level is, and DB2 LUW 10 has very good compatibility when migrating from Oracle, you can&#8217;t move to another RDBMS whithout changing code.</li>\n</ul>\n",
    "protected": false
  }
}
