Category: Database



MongoDB의 인증과 권한

  MongoDB의 인증과 권한 MongoDB 클러스터에서 권한을 활성화하면, 인증이 적용되고 사용자는 역할에 따라 권한이 부여된 작업만 가능합니다.   MongoDB의 인증 매커니즘 커뮤니티 버전은 SCRAM(SCRAM-SHA-1, SCRAM-SHA-256)과 x.509 인증서 인증을 지원합니다. SCRAM이 디폴트로 사용되며 SCRAM-SHA-256는 MongoDB 4.0...

MongoDB Index #.4 Multi key Index

이전 포스팅   멀티 키 인덱스 (Multi key Index) MongoDB는 도큐먼트 기반의 비정규화된 데이터를 저장하는 데이터베이스입니다. 따라서 하나의 도큐먼트가 배열 형태의 데이터를 가지는 경우가 많이 발생하는데, 배열값이 있는 필드를 인덱싱하기 위해서 MongoDB는 각 엘리먼트에 대한 인덱스...

MongoDB Data Modeling

  MongoDB 데이터 모델링 데이터 모델링의 핵심은 애플리케이션의 요구사항, 데이터베이스 엔진의 성능 특성 및 데이터 검색 패턴의 균형을 맞추는 것입니다. 데이터 모델을 설계 할 때 데이터 자체의 고유 구조 뿐만아니라 데이터의 애플리케이션 사용(즉, 데이터 쿼리,...

MongoDB Transaction Management

MongoDB Transaction Management MongoDB의 트랜잭션 MongoDB 4.0이 릴리즈 되면서 Replica Set에서 작동하는 다중 도큐먼트 트랜잭션에 대한 지원을 추가되었습니다. 또, MongoDB 4.2의 릴리스와 함께 다중 도큐먼트 트랜잭션에 대한 지원이 Sharded Cluster로 확장되었습니다. 현재의 MongoDB는 WiredTiger 스토리지...

MongoDB Lock (잠금)

MongoDB Lock 다른 DBMS와 마찬가지로 MongoDB도 멀티 쓰레드의 동시 처리중에 발생할 수 있는 쓰레드간의 충돌문제를 방지하기 위해 Lock을 사용합니다. 간단하게 설명하면 DB의 동시성을 유지하기 위하여 사용하는 메카니즘 입니다. MongoDB가 WiredTiger 스토리지 엔진 아키텍처를 채용하면서 MongoDB의...

MongoDB 네트워크 제한 설정 및 TLS 설정

MongoDB 네트워크 제한 설정 MongoDB도 다른 DB들 처럼 DB단에서 IP 접근을 제어할 수 있습니다. MongoDB의 설정 파일을 보면 net: 으로 시작하는 네트워크 관련 설정을 할 수 있는 부분이 있습니다. /etc/mongod.conf # network interfaces net: port:...

MongoDB Index#.3 Hash Index

MongoDB Index#.3 Hash Index 이전 포스팅   MongoDB의 Hash Index 해시 인덱스는 B-Tree 만큼 범용적이지는 않지만 고유의 특성과 용도를 지닌 인덱스 중에 하나로, 주어진 키 값을 이용하여 목표 레코드의 주소를 직접적으로 계산하는 방식입니다. 따라서 단일...

MongoDB Index#.2 B-Tree Index

MongoDB Index#.2 B-Tree Index 이전 포스팅   B-Tree Index 이전 포스팅에서 MongoDB의 기본 인덱스는 B-Tree 인덱스로 되어 있다고 설명했습니다. B-Tree 인덱스는 MongoDB 뿐만 아니라 다양한 RDBMS들에서도 채택하고 있을 만큼 인덱싱 알고리즘 중에서 가장 일반적이고 오래된...

MongoDB Index #.1 Architecture

MongoDB Index #.1 Index 란? DBMS에서 인덱스란 컬럼과 레코드가 저장된 위치를 key-value로 관리되어지는 검색 속도를 향상시키기 위한 자료구조 입니다. 프로그래밍 언어를 공부하다 보면 SortedList와 ArrayList라는 자료구조를 접하게 되는데, DBMS의 인덱스는 SortedList와 동일한 자료 구조이며 데이터 파일은...

MongoDB to ElasticSearch Realtime sync

  MongoDB to ElasticSearch Realtime sync 이기종 DB간의 데이터 동기화는 여러가지 방법이 있습니다. CDC를 이용하는 방법, 카프카를 이용하는 방법 등 여러가지가 있고, MongoDB에서 ElasticSearch 로 데이터를 동기화 하는 방법 역시 Logstash를 이용한다거나 다른 방식을 이용하는...

Elastic Search Kibana 설치 후 Stack 모니터링 설정

  Elastic Search Kibana 설치 후 Stack 모니터링 설정 지난 포스팅에 이어 Kibana 설치를 하고 엘라스틱 서치와 키바나 스택에 대한 모니터링 등록까지 진행할 예정입니다.   Kibana 설치 지난 포스팅에서 yum을 이용해 엘라스틱 서치를 설치를 했기...

MongoDB Shard Cluster 재구동 순서

  MongoDB Shard Cluster 재구동 순서 샤드 클러스터는 샤드 클러스터에 등록된 Replica Set과 Config 서버 등 다양한 리소스가 물려 있기 때문에 재구동 절차에도 신경을 써야합니다.   MongoDB Shard Cluster 종료 Mongos 종료 1.1 밸런서 비활성화...

MongoDB Aggregation

  Aggregation FIND로는 처리할 수 없는 복잡한 데이터 분석 기능을 제공하는 기능입니다. 일반적으로 SQL에서 GROUP BY 절로 처리할 수 있는 기능들을 샤딩된 환경에서 실행할 수 있게 해줍니다.   Aggregation의 목적 기존의 MongoDB에 맵리듀스라는 분석 기능을...