kok202
Spring boot's NoSQL

2019. 4. 21. 18:09[정리] 기능별 개념 정리/스프링 부트

Spring Data에서 지원하는 NoSQL

-> Redis, MongoDB, Neo4J, Elasticsearch, Redis, Cassandra ...

-> 이러한 다양한 기술을 사용할 때 지정해야하는 Bean 설정들을 스프링 부트가 알아서 해준다.

 

아래 예제들은 localhost에 연결한다고 가정한다.

localhost에 연결할 때는 딱히 큰 설정이 필요없는 경우가 많다.

각 spring boot starter 에서 제공하는 Repository 인터페이스는 JPA 와 공통의 infrastructure를 공유한다.

Spring boot starter 의존성외의 기타 다른 메이븐 의존성을 추가해야하는게 있을 수 있으니 상세한 사용법은 아래 Baedlung Document를 참조하자.

 

 

 

 

 

Redis

Redis 를 보통 사용하는 용도 : Cache, Message broker

spring-boot-starter-data-redis 또는

spring-boot-starter-data-redis-reactive 모듈을 import 해서 사용하면 된다.

 

방법 1. StringRedisTemplate 이용하기

@Component
public class MyRedis {
	@Autowired
	private StringRedisTemplate template;
}

방법 2. CrudRepository<,> 이용하기 : Entity -> @RedisHash() 같은 것을 달아줘야한다.

@Data
@RedisHash("MyUser")
public class MyUser{
    @Id
    private String id;
    priavte Stirng message;
}
public interface MyUserRepository extens CrudRepository<MyUser, String>{
}

 

 

 

 

 

MongoDB

Relation이 없고 Json 기반의 DB.

내장된 mongoDB를 사용할 수도 있다.

spring-boot-starter-data-mongodb 또는

spring-boot-starter-data-mongodb-reactive 모듈을 import 해서 사용하면 된다.

 

방법 1. MongoDBFactory 사용하기 : mongoDBFactory.getDb(); 

방법 2. MongoTemplate 사용하기 : mongoTemplate.insert(); JdbcTemplate과 유사하다.

방법 3. Repository<,> 사용하기 : Entity -> @Document(collection="myCollection") 를 달아줘야한다.

 

 

 

 

 

Neo4J

연결되어있는 빅데이터를 다루는데 RDB보다 좋다.

spring-boot-starter-data-neo4j 또는

spring-boot-starter-data-neo4j-reactive 모듈을 import 해서 사용하면 된다.

 

방법 1. Session 사용하기

방법 2. Neo4jRepository<,> 사용하기 : Entity -> @NodeEntity()를 달아줘야한다.

 

properties 를 지정해줘야한다. (yml 변환 생략)

spring.data.neo4j.uri=bolt://localhost:7687
spring.data.neo4j.username=neo4j
spring.data.neo4j.password=neo4j

 

 

 

 

 

 


Baeldung Document

Redis : https://www.baeldung.com/spring-data-redis-tutorial

 

Introduction to Spring Data Redis | Baeldung

A quick and practical introduction to Spring Data Redis, which provides abstractions from the Spring Data platform for Redis.

www.baeldung.com

MongoDB : https://www.baeldung.com/spring-data-mongodb-tutorial

 

Introduction to Spring Data MongoDB | Baeldung

A solid intro to using MongoDB in with Spring Data.

www.baeldung.com

Neo4J : https://www.baeldung.com/spring-data-neo4j-intro

 

Introduction to Spring Data Neo4j | Baeldung

A quick and practical intro to setting up and using Neo4J with the help of Spring Data Neo4j.

www.baeldung.com

Elasitcsearch : https://www.baeldung.com/spring-data-elasticsearch-tutorial

 

Introduction to Spring Data Elasticsearch | Baeldung

In this article we explore the basics of Spring Data Elasticsearch and we show how to index, search, and query data with the framework.

www.baeldung.com

Cassandra : https://www.baeldung.com/spring-data-cassandra-tutorial

 

Introduction to Spring Data Cassandra | Baeldung

A quick practical intro to using Spring Data Cassandra to cleanly store data in a Cassandra server.

www.baeldung.com

 

 

 

 

 

'[정리] 기능별 개념 정리 > 스프링 부트' 카테고리의 다른 글

스프링 부트의 Mock  (0) 2019.04.28
스프링 AOP, Transaction  (0) 2019.04.21
Spring boot's RestTemplate, WebClient  (0) 2019.04.21
Bean Singleton or Prototype  (0) 2019.04.18
스프링 부트 - Shedlock  (0) 2019.04.09