SQL Server vs SOLR – Comparing SQL Server with Document-Oriented Databases

denormalizationdocument-orientednosqlsolrsql server

I have my "customer" data in a normalized sql server database.

Getting out the customer data in my app is taking too long. This is because I have to go to 10+ tables to get all the data I need.

My company has an installation of SOLR that I thought about storing a Json object that contains all the data I need for a single "customer" already put together.

I think that this would give me some significant speed improvements.

However, it got me to wondering what the difference would be to me putting this data in a single table with a varchar(max) column that has the Json in it. I could index my 10ish searchable columns on the same table as the json.

I know that document databases are very popular. So I imagine there has to be benefits over just rolling my own using denormalized data in sql server. Can someone tell me what they are?

Best Answer

Many NoSQL products have sharding built-in. The DBMS itself looks after storing a particular key range on a certain server and keeping redundant copies for high availability. Client connections are routed within the DBMS rather than in the application. Multi-server scale out becomes easy, at the cost of CAP compromises.