Looking back, perhaps one of the (many) mistakes that I’ve made in my career was to initially ignore the N0SQL movement.
I’ve focused my career on Relational Database systems – predominantly Microsoft SQL Server – and so using a NoSQL database felt ‘wrong’, for a number of reasons.
Firstly, the name itself – NoSQL – felt like the message was that the SQL language was in someway being “devalued” and ‘kicked to the kerb”
Secondly, the lack of transaction support in NoSQL databases also felt wrong. I assumed SQL implied relational.
I think now-a-days it’s probably better to think of SQL as simply a language to manipulate data (SELECT, INSERT, UPDATE, DELETE etc). (Event if this is a deviation from the technical ANSI definition) Nearly all vendors have their own propriety extensions (Microsoft have T-SQL, Oracle have PL/SQL, Sybase also have T-SQL but it is diverging from the Microsoft language of the same name where it originally has its roots) and pure ANSI standard SQL is hard to find.
We see lots of database (relational or not) using derivatives of SQL.
We also see relational databases using non-relational functionality and non-relational databases starting to use relational functionality.
And so, both relational and non-relational have their place in today’s world and so I wonder how long the term NoSQL will continue to be used.
Quite sometime ago I started to look at CosmosDB – which a lot of people still talk about in 2020 as being the ‘new kid on the block’ – but it’s been evolving for 10 years now and is gaining a good foothold in the market.
If you’ve not seem it before it would be worth a look and although it shares some familiar terms with relational database it is not one and approaching it with the same mindset may land you in a mess – but once you start to get to grips with how it operates and the different models it employs I think it’ll start to grow on you.
Have a great day.