SQLServerCentral Editorial

The General Database Platform


It's been a decade plus of the Not-Only-SQL (NoSQL) movement where a large variety of specialized database platforms have been developed and sold. It seems that there are so many different platforms for data stores that you can find one for whatever specialized type of data you are working with. However, is that what people are doing?

I saw this piece on the return to the general purpose database, postulating that a lot of the NoSQL database platforms have added additional capabilities that make them less specialized and more generalized. I've seen some of this, just as many relational platforms have added features that compete with one of the NoSQL class of databases. This might be because some of these platforms are too specialized, and the vendors have decided they need to cover a slightly wider set of use cases.

It also could be that some of the features of relational database, which are certainly a general purpose data store, are demanded by customers. I personally think that many problems are solved well by the RDBMSes out there,  and if you need something specific, then add on a NoSQL document, graph, time-series, or other database.

A lot of organizations have moved to using multiple data stores in applications. I see it more and more from customers I deal with, often because there is a specialized system, like Redis, that just outperforms the main database for a certain function. As long as it's easy to integrate, why not use a second database platform in your application?

I don't know that you want to keep adding specialized systems, however. As the article notes: "the overhead today of having to learn and interact with multiple databases has become more burden than boon." That can certainly be the case when there are a lot of platforms and your staff changes on a regular basis. We've seen this become a burden when there are too many versions of a database platform.

My guess is that the future will continue to be a mix of applications that use one data store, but the trend is away from this. Especially as more organizations start to use the cloud, I suspect a lot of companies will use a specialized datastore for some part of their data. They'll also be more likely to use a second platform for a data warehouse or analysis platform. With cloud vendors building easier data transfer capabilities, like Synapse Link, I do expect more customers to take advantage of these and use a second, specialized platform where it makes sense.

I like the idea of specialized platforms and systems. I do think that there are some problems which are not well suited to being solved by relational structures. However, I also think that for a lot of critical transactional systems, it's hard to get away from a relational store.