Skip to main content
3 of 8
deleted 11 characters in body
Peter Procházka
  • 9.5k
  • 2
  • 30
  • 71

1) Infrastructure

MongoDB introduces new element into infrastructure of your solution. This increases costs of servers, cost of maintenance and at the end complicates the overall solution landscape.

In scaled solution you would need couple of Mongo DB server e.g. replica sets to support failover, redundancy and data availability.

If you stay with MS SQL Server, it would be just couple of more databases at the end hosted in your already existing database server or Azure DB where you host master, core, web and other Sitecore databases.

2) Tooling and Debugging

You also need more tooling like RoboMongo to query data for debugging purposes and for developers need to know how to query MongoDB as it is way different in oppose to classic SQL Server.

For administrators new set of monitoring tools / scripts to handle these servers.

If you stay with MS SQL Server, you don't need to install additional tools and learn new queries as you are good to go with MS SQL Server Management Studio (SSMS).

3) First version caution

Don't forget also that this is the first version of Sitecore 9 where MongoDB was introduced. It is also disabled by default. I would wait for next update or Sitecore 9.1 to experiment with this.

4) Pros for Mongo DB

On the other hand, I believe MongoDB should be faster processing unstructured data than MS SQL Server although Microsoft made progress processing json data in recent versions of SQL Server like json native data type and so on.

Usage of MongoDB would be great for existing projects that are on Sitecore 8 and want to migrate to Sitecore 9 using existing environments.

Summary So to summarize, for your greenfield project, I would probably stick with MS SQL Server and probably wait for some fixes in upcoming releases regarding MongoDB support so you are not "early adopter" :).

Peter Procházka
  • 9.5k
  • 2
  • 30
  • 71