728x90
📌Spring Data
기본 데이터 저장소(DB)에 대한 특성은 유지하며, 데이터 액세스 방법에 대하여 좀 더 친숙하고 익숙한 접근 방법을 제시하는 Spring 기반 프로그래밍 모델이다.
Spring Data는 Spring 기반 애플리케이션에서 사용하는 데이터 액세스 기술, 관계형 및 비관계형 데이터베이스, 맵 리듀스 프레임워크, 클라우드 기반 서비스 등 다양한 데이터 서비스의 데이터 접근을 쉽게 사용할 수 있게 한다.
✔️ 주요 특징
- 강력한 리포지토리 기능 및 사용자 지정 개체의 매핑을 추상화할 수 있다.
- 리포지토리 메서드 이름으로 동적인 쿼리를 파생할 수 있다. ex) findById : Id를 조건으로 조회
- 기본적으로 CRUD가 구현되어 있어 구현된 기본 CRUD를 사용할 수 있다.
- createdAt, modifiedAt과 같은 클래스의 공통 코드들을 공통으로 묶어 관리하는 Auditing 기능을 제공한다.
- 리포지토리 코드를 알맞게 커스텀할 수 있다.
- JavaConfig 또는 사용자 XML namespaces 파일 설정을 통해 간단하게 Spring에서 관리할 수 있다.
- Spring MVC Controller와의 호환 및 통합이 용이하다.
✔️ 주요 모듈
- Spring Data Commons
모든 Spring Data 모듈에서 사용하는 공통 핵심 요소 모듈이다. - Spring Data JDBC
JDBC를 위한 Spring Data 저장소를 지원한다. - Spring Data JDBC Ext
Spring Data JDBC의 확장판이다. - Spring Data JPA
JPA를 위한 Spring Data 저장소를 지원한다. - Spring Data KeyValue
Map의 key-value 저장을 위한 Spring Data 모듈을 쉽게 구축하기 위한 저장소를 지원한다. - Spring Data LDAP
Spring LDAP에 대한 Spring 데이터 저장소를 지원한다. - Spring Data MongoDB
Spring 기반의 MongoDB용 객체 문서 지원 및 저장소를 지원한다. - Spring Data Redis
Spring 애플리케이션에서 Redis를 쉽게 구성하고 액세스할 수 있게 도와준다. - Spring Data REST
Spring Data 리포지토리를 하이퍼미디어 기반 RESTful 리소스로 보내준다. - Spring Data for Apache Cassandra
대규모의 고가용성 데이터 지향 Spring 애플리케이션을 만들기 위해 사용하는 Apache Cassandra에 대해 손쉽게 구성할 수 있게 해주고 접근성을 용이하게 해준다. - Spring Data for Apache Geode
일관성 높고 응답 대기 시간이 짧은 데이터 지향 Spring 애플리케이션을 만들기 위해 사용하는 Apache Geode에 대해 손쉽게 구성할 수 있게 해주고 접근성을 용이하게 해준다. - Spring Data for VMware Tanzu GemFire
일관성, 짧은 응답 대기 시간, 높은 데이터 처리량 Spring 애플리케이션을 만들기 위한 Pivotal GemFire에 대해 손쉽게 구성할 수 있게 해주고 접근성을 용이하게 해준다.
✔️ 이외의 Community 모듈들
- Spring Data Aerospike
- Spring Data ArangoDB
- Spring Data Couchbase
- Spring Data Azure Cosmos DB
- Spring Data Cloud Datastore
- Spring Data Cloud Spanner
- Spring Data DynamoDB
- Spring Data Elasticsearch
- Spring Data Hazelcast
- Spring Data Jest
- Spring Data NeO4j
- Oracle NoSQL Database SDK for Spring Data
- Spring Data for Apach Solr
- Spring Data Vault
- Spring Data YugabyteDB
댓글