개발은 재밌어야 한다
반응형
article thumbnail
MongoDB 쿼리 사용법 가이드 (by MongoTemplate)
NoSQL/MongoDB 2024. 11. 10. 17:27

MongoDB는 JSON 형식의 데이터를 손쉽게 다룰 수 있는 NoSQL 데이터베이스로, CRUD 작업 및 고급 쿼리 기능을 제공합니다. 이번 글에서는 MongoDB의 데이터 삽입, 조회, 수정, 삭제 같은 기본 쿼리부터 조건 필터링, 정렬, 집계 쿼리까지 다양한 예제를 통해 MongoDB 쿼리 사용법을 알아보겠습니다. 기본 설정 및 컬렉션 접근데이터 조회와 조작에 앞서, 먼저 MongoDB와 연결을 설정하고 컬렉션을 선택하는 예제입니다.import com.mongodb.client.MongoClient;import com.mongodb.client.MongoClients;import com.mongodb.client.MongoCollection;import com.mongodb.client.MongoD..

article thumbnail
MongoDB 여러 컬렉션 한번에 샤드 적용
NoSQL/MongoDB 2024. 10. 8. 14:43

샤드키 _id기준 hash로 샤드 인덱스 생성 db.컬렉션명.createIndex({"_id": "hashed"})sh.shardCollection("db명.컬렉션명", {"_id": "hashed"})  여러개 컬렉션 적용 (몽고 쉘에서 실행)  //적용할 컬렉션var collections = ['gmktLogisItemRegIf', 'wmsAcntrLogisItemHist', 'payEvtHist', 'gnrlItemMapping', 'logisItemHist','logisGnrlItemMpngHist','itemGthrReqInfoIf','itemExceptionLog','lnkgLogisItemHist','urcyWhoutStopIf','lnkgItemHist']; for (var i = 0; i..

article thumbnail
몽고DB 인덱스 확인하는 방법
NoSQL/MongoDB 2024. 10. 8. 14:32

MongoDB 셸 사용하기: MongoDB 셸에 접속한 후, 특정 컬렉션의 인덱스를 확인하려면 다음 명령어를 입력합니다:db.컬렉션명.getIndexes()예를 들어, users 컬렉션의 인덱스를 확인하려면:db.users.getIndexes()  MongoDB Compass 사용하기: MongoDB Compass를 사용하면 GUI를 통해 인덱스를 쉽게 확인할 수 있습니다. 해당 컬렉션을 선택한 후, "Indexes" 탭을 클릭하면 현재 설정된 인덱스를 볼 수 있습니다.명령어를 통해 인덱스 확인하기: db.runCommand()를 사용하여 인덱스를 확인할 수도 있습니다. 예를 들어:db.runCommand({ listIndexes: "컬렉션명" })

article thumbnail
MongoDB 인덱스 확인 (TTL 설정 확인)
NoSQL/MongoDB 2024. 1. 19. 18:25

MongoDB에 TTL(Time To Live)로 일정 시간 이후 컬렉션에서 문서를 자동으로 제거할 수 있게 한 인덱스를 설정하였습니다.  설정 주기를 얼마로 했는지 확인하는 방법 (기준: 초) => 해당 collection에서 인덱스들을 조회해서 설정초 확인 db.[collection명].getIndexes() expireAfterSeconds 확인 아래의 경우 5184000초 -> 60일로 설정되어 TTL인덱스에 맞는 createdAt 필드값을 기준으로 60일 주기로 데이터가 삭제된다.

article thumbnail
MongoDB 샤딩 (샤딩과 복제 차이, 수평파티셔닝이란, 샤딩의 종류)
NoSQL/MongoDB 2023. 4. 26. 15:36

샤딩(Sharding)샤딩이란 데이터를 여러 서버에 분산해서 저장하고 처리할 수 있는 기술을 말한다.  샤딩(Sharding) VS 복제 (Replication)샤딩(Sharding)과 복제(Replication)는 둘 다 데이터베이스의 가용성과 확장성을 높이는 방법이다.둘의 차이가 있다면 복제는 데이터베이스 서버의 데이터를 다른 서버들과 복사하여 저장하는 방식이다. 이렇게 복제된 데이터는 다른 서버에서 읽기 작업을 수행할 수 있으며, 원본 서버가 다운되었을때 백업 서버에서 데이터를 제공하여 가용성을 보장한다. 복제는 데이터의 가용성과 일관성을 보장하며,읽기 작업을 분산시켜 성능을 향상시킬 수 있다. 그러나 쓰기 작업은 일반적으로 원본 서버에서 수행되며, 이는 복제된 서버간의 동기화 문제를 야기할 수도 ..

article thumbnail
MongoDB Sharding(샤딩)
NoSQL/MongoDB 2021. 3. 17. 11:28

샤딩(Sharding)은 데이터를 여러 서버에 분산해서 저장하고 처리할 수 있도록 하는 기술이다. 복제 VS 샤딩 복제: 여러 서버가 서로의 데이터를 동기화하는 것 샤딩: 여러 서버를 분산하는 기술 MongoDB에서 복제와 샤딩의 목적을 혼동하는 경우가 많은데, MongoDB의 복제는 고가용성(HA)을 위한 솔루션이며 샤딩은 분산처리를 위한 솔루션이다. 여기서 고가용성이란 서버와 네트워크, 프로그램 등의 정보 시스템이 상당히 오랜 기간 동안 지속적으로 정상 운영이 가능한 성질을 말하고, 분산처리는 데이터를 여러 서버에 분산해서 저장하고 처리할 수 있도록 하는 기술이다. 몽고DB에서는 고가용성을 위해서 중복된 데이터 셋을 준비하는 것이다. 그래서 MongoDB에서 고가용성과 대용량 분산처리를 하려면 복제와..

article thumbnail
MongoDB 정리
NoSQL/MongoDB 2021. 3. 8. 15:01

대표적인 NoSQL 데이터베이스이다. NoSQL : NoSQL은 (non SQL 또는 non relational) 기존 RDBMs 형태의 관계형 데이터베이스가 아닌 다른 형태의 데이터 저장 기술을 의미하며, 관계형 데이터 베이스의 한계를 극복하기 위한 데이터 저장소의 새로운 형태로, 수평적 확장성을 갖고 있다. RDBMS가 클라이언트/서버 환경에 맞는 데이터 저장기술이라면, NoSQL은 클라우드 환경에 맞는 저장 기술이다. NoSQL의 특징NoSQL은 RDBMS와는 달리 데이터 간의 관계를 정의하지 않는다.가장 큰 특징 중 하나는 관계형 데이터 베이스인 RDBMS가 데이터의 관계를 Foreign Key 등으로 정의하고 이를 이용해 Join 등의 관계형 연산을 한다고 하면, NoSQL은 데이터 간의 관계를..

반응형