I have a need to implement a number of microservices that will provide validation and lookup services. Each will hold independent and (essentially) read-only reference data. In each case, the data would easily fit in a relational db. Given the size of the data, SQL Server would probably end up caching the blocks in memory. The data situation is:
- little or no growth
- infrequent updates
- few (or no) joins required
- small databases
- hundreds or thousands of rows
But I need very fast access.
Communications between microservices will be via web calls exchanging JSON.
Given this, is there any performance advantage in using a NOSQL db, like Mongo, in this case?
SQL Server would be easier, but is happy to go Mongo if there is a reason. If 95% of the cost of the call is the call overhead and 5% is the actual data retrieval, then the DB tech probably does not make much difference.
More details:
The application we are building is based on a microservices architecture with (ultimately) 10s or 100s of services. The core data component will be significant (detailed information on 100,000s of members). It will be hosted primarily on SQL Server on Windows servers. Given the isolation level between services, each can use the most appropriate technology.
This question specifically relates to the reference data part of things.