> A keen reader pointed out that I had miscounted the number of versions of Db2, IBM's relational database.
> Although I had listed the versions of IBM's 40-year-old database running on Linux or Unix or Windows (LUW) and its System Z mainframe, I neglected to mention the version running on the mid-range server once known as AS/400, now – after several intermediary name changes – called iSeries or IBM i.
Actually between this article and the previous article to which he refers - he doesn’t link to it but it is [0] - he’s still missing a DB2 variant, albeit arguably the least used, most obscure, and least supported (as in, still under support, but largely in maintenance mode) - DB2 Server for VSE and VM, [1] possibly better known under its original name of SQL/DS. It is actually IBM’s oldest official relational database product, it shipped first for VM/CMS, and then DB2 for MVS came out second. (There were earlier IBM relational databases that were research projects only, or provided to customers outside of IBM’s normal software support, but SQL/DS was the first to ship as a fully supported IBM software product.)
Originally, DB2 was just the name for the MVS relational database. The VM/CMS relational database was SQL/DS (later ported to DOS/VSE as well), and the OS/2 relational database was OS/2 Extended Edition Database Manager. And then IBM decided to adopt “DB2” as an overarching brand for all three, as well as for the relational database layer of the AS/400’s OS/400 operating system (DB2/400, now DB2 for IBM i). But they are actually four different code bases - the OS/2 database evolved into the current Linux/Unix/Windows DB2 - with incompatible feature sets, and independent (not in synch with each other) version numbering
Man I wish I could get a job at IBM naming things - what a sweet gig that would be. “Need a name for an operating system? OS/1! Oh, there’s already one of those? OS/2! Database? DB/1! Oh… OK then, DB/2!”
> Need a name for an operating system? OS/1! Oh, there’s already one of those? OS/2!
The OS/1 was actually PC-DOS / MS-DOS. OS/2 began life as IBM and Microsoft's shared desire to make DOS multitasking. The rarely adopted multitasking version of MS-DOS 4.0 (sometimes called "European MS-DOS 4.0", since it was mainly used in Europe) represents an early phase of it. (As distinct from mainstream DOS 4.0, which was single-tasking – and, unlike most versions of DOS, was actually developed by IBM, not Microsoft – single-tasking MS-DOS 4.x is Microsoft's fixes/enhancements on top of IBM's PC-DOS 4.x codebase.) It went through various internal names with IBM and Microsoft, including "Advanced DOS" and "CP/DOS" (Control Program for DOS–a name inspired by IBM's use of "Control Program" for various mainframe and minicomputer operating systems, and possibly also by CP/M), before they eventually settled on "OS/2"
> Database? DB/1! Oh… OK then, DB/2!
Just like OS/2, there never actually was an IBM database product called DB1 or DB/1. But, the "DB1" was meant to be IBM's IMS hierarchical database. The idea being conveyed is that DB2 as a relational database is a successor to "DB1" the hierarchical database.
In the wider industry, network model databases (as in CODASYL) represented an intermediate phase in-between hierarchical databases such as IMS and relational databases such as DB2 and Oracle – but IBM themselves never really got in to network model databases, although network model databases from other vendors were popular on IBM mainframes (particular IDMS–now from Broadcom, formerly CA, and before that Cullinet, who were originally called Cullinane)
I don’t doubt any of what you say. I have this opinions because I worked at IBM MANY years ago and saw a product list and it was almost all two or three letters / number. AND there was a _committee_ created with coming up with these oh so unique names!
It really represented a certain historical period of IBM naming conventions – that originated with the IBM System/360 (before which IBM computers generally had numeric model numbers, e.g., for high-end mainframes, the vacuum tube IBM 70x series and its 707x transistorised successors), and ended in the early 2000s as IBM switched to radically different nomenclature (first the z/i/p/x Series, then z/i/p/x Systems).
But, back in those days, many other vendors emulated those IBM style naming conventions (ACRONYM/DIGITS, etc). Nowadays, they look old-fashioned and overly technical, the kind of branding most marketing people would recommend against. Most of them weren't recommending against it 40 years ago (well, ignoring they are by and large two different sets of people – marketing juniors 40 years ago are nearing retirement now, many of the seniors are already dead)
DB2 for LUW and DB2 for z/OS have the biggest install base, so IBM invests the most in them, and that’s where you get the most new features.
Here’s new features in DB2 LUW 11.5.9 (November last year) - https://www.ibm.com/docs/en/db2/11.5?topic=new-1159 - maybe nothing earth shattering but they are still adding stuff. And IBM is getting ready to release the next major version (12)
DB2 for z/OS version 13 came out in May 2022, here is new features - https://www.ibm.com/docs/en/db2-for-zos/13?topic=13-overview... - IBM makes a big deal about the machine learning integration (“AI”), I have no idea whether that’s a genuinely useful feature or a gimmick
But, compared to LUW and z/OS, DB2 for IBM i gets significantly less investment. And DB2 for VSE and VM is getting close to moribund.
Amazon RDS for Db2 - "Amazon Relational Database Service (Amazon RDS) for Db2 makes it easy to set up, operate, and scale Db2 deployments in the cloud" was announced in Nov. 2023 [0]
I cannot help but think products like DB2 and AS/400 (i Series/IBM i) are intentionally not promoted by IBM - they concentrate all marketing resources onto the next hype and view these reliable workhorses as a burden.
I am certainly concerned there is little to no on-ramp for new projects on AIX, IBMi and mainframes - there is no entry level machine and, while there are cloud offerings, they are very expensive compared to Linux on ARM or x86.
If anything, IBM Cloud should be used as an onboarding tool for their most profitable platforms.
And, if not even IBM can run your workloads on any of these platforms cost-effectively, why should you invest in their hardware and software stacks?
In the early 90's I used DB2/2 (OS/2) 1.0 for a project. Part of the application used C (embedded SQL) and another part of the application used Watcom's VX-REXX. I was very happy with the database for the state of things back then. It was a good experience. The documentation (all hard-copy) was impeccable.
Does anyone use DB2 for Linux or Windows these days? If so, what are your thoughts on it?
I don’t know about the veracity of that claim. But I presume it is talking about DB2 LUW (Linux/Unix/Windows), which began life as OS/2 Extended Edition Database Manager (although support for OS/2 was dropped a long time ago, that’s the platform on which the code base started.) The original DB2, DB2 for z/OS, is predominantly written in PL/X, an IBM-confidential PL/I dialect, not C++-although it wouldn’t surprise me if nowadays it contained some components written in C and/or C++, from what I’ve heard the bulk of it is still written in PL/X. DB2 for VSE and VM is mostly PL/X and assembler. Parts of DB2 for IBM i may be written in C++ too, but I suspect the bulk of it is IBM-confidential PL/I dialects (not PL/X; PL/MI and PL/MP), with a small chance it may even contain a bit of Modula 2 (I believe some bits of IBM i are still Modula 2 code, probably not anything to do with DB2, but not 100% sure)
The article opens by stating the author had overlooked mentioning the iSeries (aka AS/400) version of DB2 in a list of DB2 versions. My understanding is that the iSeries DB2 was really more a marketing name applied to the iSeries database.
Here are a couple of supporting quotations out of Frank G. Soltis's book Inside the AS/400 (both from page 120). Soltis was the chief architect of the AS/400:
IBM selected the name DB2 for OS/400 to reflect that it is part of the IBM DB2 family of relational database products. The family resemblance among these database products exists primarily in their external tools and their support for distributed database facilities. The underlying support is quite different in each case, and the AS/400 may well be the best in the group. The DB2 name does help alleviate the perception that the AS/400 does not have as robust a database as other systems.
...
I was opposed to naming the AS/400 database until | had a meeting with a large manufacturing customer who was moving from another system to the AS/400. In the meeting, the technical people asked me what database | would recommend for the AS/400. | blurted out, “DB2/400,” a name being circulated in internal discussions. Immediately, the people in the room began to nod and make comments like, “Oh, that’s a very good database.” Considering that these people worked for another division in IBM and they didn’t know the AS/400 had a database, it was obvious to me that we needed to name it.
> My understanding is that the iSeries DB2 was really more a marketing name applied to the iSeries database.
Not just the AS/400 version, the LUW (Linux/Unix/Windows) version too.
In the beginning, DB2 was only for MVS (now z/OS). Then they renamed their relational database products for other platforms to DB2 - OS/2 Extended Edition Database Manager evolved into DB2 LUW and SQL/DS became DB2 for VSE and VM.
So, you could argue the only real DB2 is DB2 for z/OS. All the others are a branding exercise.
> Although I had listed the versions of IBM's 40-year-old database running on Linux or Unix or Windows (LUW) and its System Z mainframe, I neglected to mention the version running on the mid-range server once known as AS/400, now – after several intermediary name changes – called iSeries or IBM i.
Actually between this article and the previous article to which he refers - he doesn’t link to it but it is [0] - he’s still missing a DB2 variant, albeit arguably the least used, most obscure, and least supported (as in, still under support, but largely in maintenance mode) - DB2 Server for VSE and VM, [1] possibly better known under its original name of SQL/DS. It is actually IBM’s oldest official relational database product, it shipped first for VM/CMS, and then DB2 for MVS came out second. (There were earlier IBM relational databases that were research projects only, or provided to customers outside of IBM’s normal software support, but SQL/DS was the first to ship as a fully supported IBM software product.)
Originally, DB2 was just the name for the MVS relational database. The VM/CMS relational database was SQL/DS (later ported to DOS/VSE as well), and the OS/2 relational database was OS/2 Extended Edition Database Manager. And then IBM decided to adopt “DB2” as an overarching brand for all three, as well as for the relational database layer of the AS/400’s OS/400 operating system (DB2/400, now DB2 for IBM i). But they are actually four different code bases - the OS/2 database evolved into the current Linux/Unix/Windows DB2 - with incompatible feature sets, and independent (not in synch with each other) version numbering
[0] https://www.theregister.com/2024/06/27/ibm_ai_optimization_d...
[1] https://www.ibm.com/mysupport/s/topic/0TO0z0000006v3rGAA/db2...