본문 바로가기
Spring Framework

[데이터 액세스 계층]Spring Data

by mozzi329 2022. 9. 13.
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

 

댓글