The data access landscape over the past seven or so years has changed dramatically.
Relational databases, the heart of storing and processing data in the enterprise for over
30 years, are no longer the only game in town. The past seven years have seen the birth
—and in some cases the death—of many alternative data stores that are being used in
mission-critical enterprise applications. These new data stores have been designed
specifically to solve data access problems that relational database can’t handle as
effectively.
An example of a problem that pushes traditional relational databases to the breaking
point is scale. How do you store hundreds or thousands of terabytes (TB) in a relational
database? The answer reminds us of the old joke where the patient says, “Doctor, it
hurts when I do this,” and the doctor says, “Then don’t do that!” Jokes aside, what is
driving the need to store this much data? In 2001, IDC reported that “the amount of
information created and replicated will surpass 1.8 zettabytes and more than double
every two years.”1 New data types range from media files to logfiles to sensor data
(RFID, GPS, telemetry...) to tweets on Twitter and posts on Facebook. While data that
is stored in relational databases is still crucial to the enterprise, these new types of data
are not being stored in relational databases.
You can choose several data access frameworks when building Java enterprise applications that work with relational databases. But what about big data? This hands-on introduction shows you how Spring Data makes it relatively easy to build applications across a wide range of new data access technologies such as NoSQL and Hadoop.
Through several sample projects, you’ll learn how Spring Data provides a consistent programming model that retains NoSQL-specific features and capabilities, and helps you develop Hadoop applications across a wide range of use-cases such as data analysis, event stream processing, and workflow. You’ll also discover the features Spring Data adds to Spring’s existing JPA and JDBC support for writing RDBMS-based data access layers.
-
Learn about Spring’s template helper classes to simplify the use of database-specific functionality
-
Explore Spring Data’s repository abstraction and advanced query functionality
-
Use Spring Data with Redis (key/value store), HBase (column-family), MongoDB (document database), and Neo4j (graph database)
-
Discover the GemFire distributed data grid solution
-
Export Spring Data JPA-managed entities to the Web as RESTful web services
-
Simplify the development of HBase applications, using a lightweight object-mapping framework
-
Build example big-data pipelines with Spring Batch and Spring Integration