Watching the evolution of SQL Server and the Azure SQL Database (ASD) variant has been interesting across the last decade. For a long time, ASD felt crippled compared to the on-premises product. The last few years, however, it seems that ASD is getting features first, which then slip into a release that I can download and run locally. It’s a cloud-first database now, even though there isn’t parity with both products.
In my career, I’ve worked with a number of platforms in production environments. One of those is Db2, though that’s often felt like a legacy platform. I’ve rarely seen users starting new projects on Db2, though they might add some new databases, especially on AS/400, mainframe, or Linux platforms. I never thought Db2 was less capable than other choices, but I just don’t see it used very often.
There’s an article that notes IBM is moving to a cloud-first version of Db2, where there will be a cloud version coming first, then “traditional” releases. I assume this means a model similar to ASD and SQL Server, which makes sense. It’s much quicker to develop and deploy to the cloud, and test things behind feature flags with a limited audience. Those items that work well can then be bundled up for a versioned release on-premises.
I don’t know that I think Db2 will gain a lot of market share beyond what it has with this announcement, but it does make me think this is the model that a lot of companies will adopt if they even sell software for download. Most companies seem to want to move to a SaaS (software as a service) model where they can “rent” you access to code rather than deal with the struggles of supporting an install on your machine with who-knows-what configuration.
I get why this is attractive to companies. I also get the struggles of consumers. For some things, sure, I’ll rent access. Music makes sense. Some software makes sense, but others worry me. Already I can see that companies that control the data, and its format, might be poor choices for consumers. If I don’t like your software, can I still get whatever data I have stored with you? Is there any way to port this to another system?
I don’t want to see regulations deciding how data and software should be implemented, but I would like to see some contract requirements with consumers that ensure the ability to leave a platform. Companies ought to be required to provide a way to extract out data into a common format, allowing me to move my pictures, tax data, sales records, health data, etc. to a new provider if I choose.
This is often easy to do in databases, and many people know how to extract data. The harder problem becomes when higher-level vendors, those building applications, want to use proprietary formats. I don’t mind that, but I do mind not being able to extract my data if I choose.