[스프링] 스프링 인티그레이션과 Cassandra 간의 통합

이 블로그 포스트에서는 스프링 프레임워크를 사용하여 Cassandra 데이터베이스와의 통합을 수행하는 방법에 대해 알아보겠습니다. 스프링 데이터 프로젝트를 이용하여 Cassandra와의 상호작용하는 방법을 다룰 것입니다.

1. Cassandra 설정

먼저, Cassandra를 설치하고 설정해야 합니다. 아래는 Cassandra를 설치하고 실행하는 명령어입니다.

$ tar -xvzf apache-cassandra-3.11.10.tar.gz
$ cd apache-cassandra-3.11.10
$ ./bin/cassandra -f

Cassandra가 실행되고 있어야 스프링 프로젝트에서 Cassandra와 통합할 수 있습니다.

2. 의존성 설정

Gradle을 사용하는 경우, build.gradle 파일에 다음과 같이 스프링 데이터 Cassandra 의존성을 추가합니다.

implementation 'org.springframework.boot:spring-boot-starter-data-cassandra'

Maven을 사용한다면, pom.xml 파일에 다음 의존성을 추가합니다.

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-cassandra</artifactId>
</dependency>

의존성을 추가한 후, 프로젝트를 다시 빌드해주어야 합니다.

3. Cassandra 연결 설정

Cassandra와의 연결을 설정하기 위해 application.properties 파일에 아래와 같이 Cassandra 관련 설정을 추가합니다.

spring.data.cassandra.contact-points=127.0.0.1
spring.data.cassandra.port=9042
spring.data.cassandra.keyspace-name=mykeyspace

contact-points는 Cassandra 호스트의 IP 주소이며, keyspace-name은 사용할 키스페이스의 이름입니다.

4. Repository 생성

Cassandra와의 상호작용을 위해 Repository 인터페이스를 생성합니다. 아래는 간단한 Repository 인터페이스의 예시입니다.

import org.springframework.data.cassandra.repository.CassandraRepository;
import org.springframework.stereotype.Repository;

@Repository
public interface PersonRepository extends CassandraRepository<Person, String> {

}

5. 데이터 모델 및 서비스 작성

마지막으로, Cassandra 데이터 모델과 해당 데이터를 사용하는 서비스를 작성합니다.

import org.springframework.data.cassandra.core.mapping.PrimaryKey;
import org.springframework.data.cassandra.core.mapping.Table;

@Table
public class Person {
    @PrimaryKey
    private String id;
    private String name;

    // Getters and setters
}

@Service
public class PersonService {
    private final PersonRepository personRepository;

    // Constructor injection

    public List<Person> getAllPersons() {
        return personRepository.findAll();
    }

    // 다른 메소드들...
}

이제 Cassandra와의 통합이 완료되어, 스프링 애플리케이션에서 Cassandra 데이터베이스를 쉽게 사용할 수 있습니다.

이상으로, 스프링 프레임워크Cassandra의 통합에 대해 알아보았습니다. 스프링 데이터 프로젝트를 이용하여 Cassandra와의 상호작용 방법을 다루었습니다.

참고 자료