개발은 재밌어야 한다
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은 데이터 간의 관..