본문 바로가기

분류 전체보기621

[Spring] ReactiveMongoTemplate vs ReactiveMongoRepository ReactiveMongoTemplate과 ReactiveMongoRepository는 반응형 MongoDB 작업을 수행하는 두 가지 주요 방식이다. ReactiveMongoRepository를 사용해야 하는 경우ReactiveMongoRepository는 주로 기본적인 CRUD 작업을 간편하게 처리할 때 유용하다.단순한 조회, 저장, 삭제 등의 작업이 자주 필요할 때는 repository가 더 직관적이고, 필요한 메서드들이 미리 정의되어 있어 코드가 간결해진다. 단순한 CRUD 작업: 기본적인 조회(findById, findAll), 저장(save), 삭제(deleteById) 등의 작업메서드 이름을 통한 쿼리 정의: findByName, findByStatus 등 메서드 이름만으로 간단한 조건 기반 조.. 2024. 11. 7.
[Spring] MongoDB 조회 - Stream, Aggregation 비교 Spring에서 몽고디비를 사용할 때스트리밍 조회(Stream Processing)와 MongoDB Aggregation 중어떤 방법이 더 좋은지 데이터의 특성과 사용 목적을 고려해야 한다.  스트리밍 조회 (Stream Processing)장점메모리 효율성: 전체 데이터를 한 번에 메모리에 로드하지 않고, 하나씩 처리하기 때문에 메모리 부담이 적다.단순한 로직: 데이터 하나하나를 순차적으로 처리하는 데 적합하여, 복잡한 집계나 가공 작업을 서버 측 코드에서 쉽게 처리할 수 있다.단점네트워크 부담: 모든 데이터를 서버로 전송해야 하므로 네트워크 트래픽이 높아질 수 있다.속도 저하 가능성: MongoDB 내에서 바로 처리하지 않고, 애플리케이션 서버에서 작업을 수행해야 하므로 처리 속도가 느려질 수 있다... 2024. 11. 4.
[Spring] mongodb, mongodb-reactive Dependency 차이 spring 에서 mongodb 를 사용하려고 하는데 두개의 dependency 정보가 있었다. 이중 어떤 것을 사용하는것이 좋은지에 대해 찾아 보았다.  spring-boot-starter-data-mongodb 동기 방식호출 시 요청이 완료될 때까지 코드 실행이 멈춘다.전통적인 블로킹 방식각 요청에 대해 독립적인 쓰레드가 할당되므로, 다수의 데이터 요청이 있을 때 많은 시스템 리소스를 사용한다.간단한 API 호출에 유리데이터베이스 호출이 적거나 동기 방식으로 데이터를 처리해도 성능에 영향이 없는 경우에 적합하다.MongoTemplateMongoTemplate과 MongoRepository를 사용하여 데이터를 CRUD 할 수 있다. import org.springframework.data.mongod.. 2024. 10. 31.
Redis 와 MongoDB 의 로그인 토큰 적합성 비교 보통 로그인 토큰 관리는 Redis에서 많이 하는데 현재 프로젝트에서는 MongoDB 를 메인 디비로 사용하고 있어서둘 중 어떤 DB로 로그인 토큰 관리하는게 적합한지 궁금해서 찾아보게 되었다.  데이터 구조 및 저장 형식Redis 는 Key-Value 형태의 데이터 구조를 가지는 인메모리 데이터 저장소이다. MongoDB는 Document 형태의 데이터 구조를 가지며 디스크 기반으로 데이터를 저장한다. 이러한 차이로 Redis 는 메모리 기반으로 빠른 데이터 처리가 가능하고 주로 캐싱에 사용되고 MongoDB는 대용량의 데이터를 저장하고 관리하는데 적합하다.   Redis 사용 시 장점속도: Redis는 메모리 기반 데이터 스토어로, I/O가 메모리에만 집중되어 있어 조회 속도가 매우 빠르다. 이는 로.. 2024. 10. 31.
[MongoDB] MongoDB Aggregate() db.collection.aggregate()mongodb 조회 시 find 는 간단한 조건에 대해서 사용이 용이한데 다양한 조건을 넣어서 사용할 수는 없다. 따라서 aggregate는 다양한 조건들에 대해 검색하고 싶을때 사용한다. 컬렉션 또는 뷰의 데이터에 대한 집계 값을 계산한다. > 파이프라인에 Explain 옵션이 포함된 경우 쿼리는 집계 연산 처리에 대한 세부 정보를 제공하는 문서를 반환한다. > 파이프라인에 $out 또는 $merge 연산자가 포함된 경우 쿼리는 빈 커서를 반환한다. db.collection.aggregate(pipeline, options) pipeline데이터 aggregate 작업 또는 단계의 시퀀스로입력 문서에 대한 연산을 수행한다. $out 또는 $merge 연산자가.. 2024. 10. 12.
[MongoDB] MongoDB compass 설치 (GUI) https://www.mongodb.com/try/download/compass Try MongoDB Tools - Download Free HereFree download for MongoDB tools to do more with your database. MongoDB Shell, Compass, CLI for Cloud, BI Connector and other database tools available.www.mongodb.com  GUI 가 적힌 해당 부분에서 원하는 버전과 환경에 맞는걸로 다운로드하면 된다.   compass 를 사용하는 이유는database, collection, document CURD에 대해 직관적인 UI 조작이 가능하고 쿼리문 날리기도 편하게 되어 있다. 2024. 10. 9.