본문 바로가기

전체 글26

방그리 2023. 8. 13.
MongoDB - (11) - 애플리케이션 설계(4) 연결된 포스팅이다 이전 글을 참고하라. 스키마 설계 고려 사항 데이터 embed 방식과 참조 방식 중 결정하기 최적화를 위한 팁 - (현재지점) 일관성 고려 사항 스키마 마이그레이션 방법 스키마 관리 방법 몽고 DB가 데이터 스토리지로 적합하지 않은경우 데이터 조작을 위한 최적화 애플리케이션을 최적화하려면 읽기와 쓰기 성능을 분석하여 어느 것이 병목을 일으키는지 먼저 판단해야한다. 읽기 최적화 : 올바른 인덱스를 사용하여 하나의 도큐먼트에서 최대한 많은 정보를 반환. 쓰기 최적화 : 보통 갖고 있는 인덱스 개수를 최소화하고 갱신을 가능한 한 효율적으로 수행 아주 강한 트레이드 오프를 갖고 있는 것이 느껴진다. 따라서 당신이 구현하고자 하는 애플리케이션의 Read Write비율을 미리 예측하고 이를 통해 .. 2023. 4. 24.
MongoDB - (10) - 애플리케이션 설계(3) 연결된 포스팅이다 이전 글을 참고하라. 스키마 설계 고려 사항 데이터 embed 방식과 참조 방식 중 결정하기 - (현재지점) 최적화를 위한 팁 일관성 고려 사항 스키마 마이그레이션 방법 스키마 관리 방법 몽고 DB가 데이터 스토리지로 적합하지 않은경우 정규화 및 비정규화 정규화 : 각 컬렉션 간의 참조를 이용해 여러 컬렉션으로 나누는 작업 비정규화 : 모든 데이터를 하나의 도큐먼트에 내장 비 정규화는 정보가 갱신되면 여러 도큐먼트가 갱신되야하지만, 하나의 쿼리로 모든 데이터를 가져올 수 있음을 뜻한다. 따라서 정규화는 RDBMS를 설계하는 방법과 매우 유사하며, 비정규화는 MongoDB의 특색을 잘 표현한다. 아래는 정규화스러운 데이터 표현 예제이다. db.studentClasses.findOne({".. 2023. 4. 24.
MongoDB - (9) - 애플리케이션 설계(2) 연결된 포스팅이다 이전 글을 참고하라. 스키마 설계 고려 사항 - (현재지점) 데이터 embed 방식과 참조 방식 중 결정하기 최적화를 위한 팁 일관성 고려 사항 스키마 마이그레이션 방법 스키마 관리 방법 몽고 DB가 데이터 스토리지로 적합하지 않은경우 스키마 설계 패턴 아래와 같이 다양한 패턴이 존재한다. 다형성 패턴(Polymorphic pattern) 속성 패턴(Attribute pattern) 버킷 패턴(Bucket pattern) 이상치 패턴(Outlier pattern) 계산된 패턴 (Computed pattern) 서브셋 패턴(Subset pattern) 확장된 참조 패턴(Extended Reference pattern) 근사 패턴(Approximation pattern) 트리 패턴(Tree.. 2023. 4. 22.