• The database engine chosen for an application needs to match the expected data access patterns. RDMS are excellent for scenarios where you need to query, insert, and update manageable subsets of data while maintaining a high degree of referential integrity and transactional consistency. This covers most line of business applications. However, RDMS are poor when it comes to bulk loading, aggregate reporting, and BLOB storage. For non-normalized data like XML and JSON, it's only mediocre. Sure RDMS have been extended over time to support this functionality, but if you are starting a project from scratch and the primary data type is not normalized, then there are better options like CosmosDB or MongoDB specialized for that purpose.

    "Do not seek to follow in the footsteps of the wise. Instead, seek what they sought." - Matsuo Basho