Intro to Spring Data

 The spring-data project offer abstraction and unified data access for variety of data sources.


Category Sub-project
Relational Databases JPA Spring Data JPA – Simplifies the development of creating a JPA-based data access layer
JDBC Extensions Support for Oracle RAC, Advanced Queuing, and Advanced datatypes. Support for using QueryDSL with JdbcTemplate.
Big Data Apache Hadoop The Apache Hadoop project is an open-source implementation of frameworks for reliable, scalable, distributed computing and data storage.
Data-Grid GemFire VMware vFabric GemFire is a distributed data management platform providing dynamic scalability, high performance, and database-like persistence. It blends advanced techniques like replication, partitioning, data-aware routing, and continuous querying.
HTTP REST Spring Data REST – Perform CRUD operations of your persistence model using HTTP and Spring Data Repositories.
Key Value Stores Redis Redis is an open source, advanced key-value store.
Document Stores MongoDB MongoDB is a scalable, high-performance, open source, document-oriented database.
Graph Databases Neo4j Neo4j is a graph database, a fully transactional database that stores data structured as graphs.
Column Stores HBase Apache HBase is an open-source, distributed, versioned, column-oriented store modeled after Google’ Bigtable. HBase functionality is part of the Spring for Apache Hadoop project.
Common Infrastructure Commons Provides shared infrastructure for use across various data access projects. General support for cross-database persistence is located here


The abstraction and standardization will allow developer to easily swap out technology specific implementations at data access layer, as well accessing data from multiple databases through cross-store.  With the emergence of NoSQL technology, this has become extremely useful feature since there are really no standards and interoperability between these different technology.  In addition, depending on the specific query in question, it might be a good idea to executed Neo4J, a graphical database, than MongoDB, a document based storage.  It is not uncommon to see application that utilizes multiple database solution to optimize for all possible queries pattern.



  • Ask Question