Spring Data comes with a common programming model for persisting data in various types of database engine, ranging from traditional relational databases (SQL databases) to various types of NoSQL database engine, such as document databases (for example, MongoDB), key-value databases (for example, Redis), and graph databases (for example, Neo4J).
The Spring Data project is divided into several subprojects, and in this book we will use Spring Data subprojects for MongoDB and JPA that have been mapped to a MySQL database.