10
votes

After many years working with SQL databases, it feels unconformable working with a database that doesn't rely on a schema to model the data.

I understand that SQL and NoSQL solutions have their places for different business needs and goals, but I don't have any experience with NoSQL databases.

But since I discovered that Microsoft SQL Server has support to also work with JSON data (https://docs.microsoft.com/en-us/sql/relational-databases/json/json-data-sql-server?view=sql-server-2017), I wonder:

Can I always default to SQL Server for any (new) application I might need to create and use this flexibility of JSON querying when needed?

That would mean I don't have to wrap my head around considering between SQL Server OR MongoDB OR both. I could just use SQL Server always and be good to go.

A similar consideration of mine is about graph-databases. SQL Server vs Neo4j for graph databases. (https://docs.microsoft.com/en-us/sql/relational-databases/graphs/sql-graph-architecture?view=sql-server-2017).

Sure SQL Server support for graph is inferior compared to Neo4j which is specialized for that task, but it seems that Microsoft is trying to create a one-for-all database solution that every project could rely on.

1
It depends what your motivation for choosing a NoSql solution in the first place was. If it was just to avoid the impedance mismatch of relational then SQL Server json may be good enough but if your motivation was because you wanted a distributed database with eventual consistency the JSON support won't help. A dedicated document database will have better indexing support for Json then currently available in SQL Server - Martin Smith

1 Answers

1
votes

Now a days mostly all database providing the datatype of any field in a table as json type. But relational database is not providing the solutions as nosql database.