MongoDB? Archi강의, 특징 및 예시
⚡ 스마트 요약
MongoDB NoSQL은 대용량 데이터 저장을 위해 사용되는 문서 지향형 데이터베이스로, 테이블과 행 대신 컬렉션과 문서를 사용합니다. 이 자료는 NoSQL에 대해 설명합니다. MongoDB 주요 특징, 문서 예시, 핵심 아키텍처 구성 요소, 사용 이유, 데이터 모델링, 그리고 관계형 데이터베이스와의 차이점에 대해 설명합니다.

MongoDB?
MongoDB 대용량 데이터 저장에 사용되는 문서 중심의 NoSQL 데이터베이스입니다. 기존 관계형 데이터베이스처럼 테이블과 행을 사용하는 대신 MongoDB 컬렉션과 문서를 활용합니다. 문서는 데이터의 기본 단위인 키-값 쌍으로 구성됩니다. MongoDB컬렉션은 문서와 함수의 집합을 포함하며, 이는 관계형 데이터베이스의 테이블과 같습니다. MongoDB 2000년대 중반쯤에 등장한 데이터베이스이다.
MongoDB 기능
- 각 데이터베이스는 컬렉션을 포함하고, 컬렉션은 다시 문서를 포함합니다. 각 문서는 필드의 개수가 다양하며 서로 다를 수 있습니다. 문서의 크기와 내용 또한 서로 다를 수 있습니다.
- 문서 구조는 개발자가 각자의 프로그래밍 언어로 클래스와 객체를 구성하는 방식과 더 유사합니다. 개발자는 자신의 클래스가 행과 열이 아니라 키-값 쌍으로 구성된 명확한 구조를 가지고 있다고 말하는 경우가 많습니다.
- 행(또는 호출된 문서 MongoDB사전에 스키마를 정의할 필요가 없습니다. 대신 필드를 실행 중에 생성할 수 있습니다.
- 내에서 사용 가능한 데이터 모델 MongoDB 계층적 관계를 표현하고, 배열을 저장하고, 그 외 더 복잡한 구조를 더 쉽게 저장할 수 있도록 해줍니다.
- 확장성 - MongoDB 이러한 환경은 확장성이 매우 뛰어납니다. 전 세계 기업들이 클러스터를 구축했으며, 일부 클러스터는 100개 이상의 노드를 운영하고 데이터베이스에 수백만 개의 문서를 저장하고 있습니다.
MongoDB 예시
아래 예는 문서를 모델링하는 방법을 보여줍니다. MongoDB.
- _id 필드는 다음에 의해 추가됩니다. MongoDB 컬렉션의 문서를 고유하게 식별합니다.
- 여기서 주목할 점은 RDBMS에서 일반적으로 별도의 테이블에 저장되는 주문 데이터(주문 ID, 제품, 수량)가 실제로는 컬렉션 자체에 내장된 문서 형태로 저장된다는 것입니다. MongoDB이는 데이터 모델링 방식의 주요 차이점 중 하나입니다. MongoDB.
주요 구성 요소 MongoDB Archi강의
다음은 에서 사용되는 몇 가지 일반적인 용어입니다. MongoDB:
- _신분증 – 이 필드는 모든 작업에 필수입니다. MongoDB 문서. _id 필드는 MongoDB 문서. _id 필드는 문서의 기본 키와 같습니다. _id 필드 없이 새 문서를 생성하는 경우, MongoDB 필드가 자동으로 생성됩니다. 예를 들어 위의 고객 테이블 예시를 보면, MongoDB 컬렉션에 있는 각 문서에 24자리 고유 식별자를 추가합니다.
| _ID | 고객 ID | 고객 이름 | 주문 아이디 |
|---|---|---|---|
| 563479cc8a8a4246bd27d784 | 11 | Guru99 | 111 |
| 563479cc7a8a4246bd47d784 | 22 | 트레버 스미스 | 222 |
| 563479cc9a8a4246bd57d784 | 33 | 니콜 | 333 |
- 수집 – 이것은 그룹입니다ping of MongoDB 문서 모음입니다. 컬렉션은 다른 관계형 데이터베이스 관리 시스템(RDBMS)에서 생성되는 테이블과 동일한 개념입니다. Oracle 또는 MS SQL. 컬렉션은 단일 데이터베이스 내에 존재합니다. 서론에서 살펴본 바와 같이 컬렉션은 어떠한 구조도 강제하지 않습니다.
- 커서 – 이는 쿼리 결과 집합에 대한 포인터입니다. 클라이언트는 커서를 통해 반복하여 결과를 검색할 수 있습니다.
- 데이터베이스 – 이것은 관계형 데이터베이스 관리 시스템(RDBMS)에서 테이블을 담는 컨테이너와 마찬가지로 컬렉션을 담는 컨테이너입니다. 각 데이터베이스는 파일 시스템에 고유한 파일 세트를 갖습니다. MongoDB 서버는 여러 데이터베이스를 저장할 수 있습니다.
- 문서 – A의 기록 MongoDB 컬렉션은 기본적으로 문서라고 불립니다. 문서는 필드 이름과 값으로 구성됩니다.
- 분야 문서 내의 이름-값 쌍을 필드라고 합니다. 문서에는 0개 이상의 필드가 있을 수 있습니다. 필드는 관계형 데이터베이스의 열에 해당합니다. 다음 다이어그램은 키-값 쌍으로 이루어진 필드의 예시를 보여줍니다. 아래 예시에서 CustomerID와 11은 문서에 정의된 키-값 쌍 중 하나입니다.
- JSON – 이것은 다음과 같이 알려져 있습니다. JavaScript 객체 표기법. 구조화된 데이터를 표현하기 위한 사람이 읽을 수 있는 일반 텍스트 형식입니다. JSON은 현재 많은 프로그래밍 언어에서 지원됩니다.
_id 필드와 일반 컬렉션 필드 간의 주요 차이점에 대해 간단히 알아보세요. _id 필드는 컬렉션의 문서를 고유하게 식별하는 데 사용되며 자동으로 추가됩니다. MongoDB 컬렉션이 생성될 때.
왜 사용 하는가? MongoDB?
다음은 사용을 시작해야 하는 몇 가지 이유입니다. MongoDB:
- 문서 중심 – 이후 MongoDB 하는 NoSQL 유형 데이터베이스는 관계형 형식으로 데이터를 보유하는 대신 데이터를 문서에 저장합니다. 이것은 만든다 MongoDB 실제 비즈니스 상황과 요구 사항에 매우 유연하고 적응력이 뛰어납니다.
- 임시 쿼리 - MongoDB 필드별 검색, 범위 쿼리, 정규 표현식 검색을 지원합니다. 문서 내의 특정 필드를 반환하기 위한 쿼리를 만들 수 있습니다.
- 색인 - 인덱스를 생성하면 검색 성능을 향상시킬 수 있습니다. MongoDB. 다음의 모든 필드 MongoDB 문서를 색인화할 수 있습니다.
- 복제 - MongoDB 복제 세트를 사용하면 높은 가용성을 제공할 수 있습니다. 복제 세트는 두 개 이상의 파일로 구성됩니다. MongoDB 복제 세트는 여러 인스턴스로 구성됩니다. 각 복제 세트 구성원은 언제든지 기본 복제본 또는 보조 복제본 역할을 수행할 수 있습니다. 기본 복제본은 클라이언트와 상호 작용하고 모든 읽기/쓰기 작업을 수행하는 메인 서버입니다. 보조 복제본은 내장된 복제 기능을 사용하여 기본 복제본의 데이터 복사본을 유지합니다. 기본 복제본에 장애가 발생하면 복제 세트는 자동으로 보조 복제본으로 전환되고, 보조 복제본이 기본 서버가 됩니다.
- 로드 균형 조정 - MongoDB 여러 데이터에 걸쳐 데이터를 분할하여 수평으로 확장하기 위해 샤딩 개념을 사용합니다. MongoDB 인스턴스. MongoDB 여러 서버에서 실행되어 로드 균형을 맞추고 데이터를 복제하여 하드웨어 오류가 발생하는 경우에도 시스템을 계속 가동할 수 있습니다.
데이터 모델링 MongoDB
서론에서 살펴본 바와 같이, 데이터는 다음과 같습니다. MongoDB 유연한 스키마를 가지고 있습니다. 와는 달리 SQL 데이터를 삽입하기 전에 테이블의 스키마를 선언해야 하는 데이터베이스 MongoDB의 컬렉션은 문서 구조를 강제하지 않습니다. 이런 종류의 유연성은 MongoDB 너무 강력합니다.
데이터를 모델링할 때 MongoDB다음 사항들을 명심하십시오:
- 해당 애플리케이션의 요구 사항은 무엇입니까? – 애플리케이션의 비즈니스 요구 사항을 살펴보고 애플리케이션에 필요한 데이터와 데이터 유형을 파악하십시오. 이를 바탕으로 문서 구조를 적절하게 결정해야 합니다.
- 데이터 검색 패턴은 무엇인가요? - 쿼리 사용량이 많을 것으로 예상되는 경우, 데이터 모델에 인덱스를 사용하여 쿼리 효율성을 향상시키는 것을 고려하십시오.
- 데이터베이스에서 삽입, 업데이트 및 삭제 작업이 빈번하게 발생하고 있습니까? 데이터 모델링 설계 시 인덱스 사용을 재고하거나 필요한 경우 샤딩을 통합하여 전반적인 효율성을 개선하십시오. MongoDB 환경을 제공합니다.
차이점 MongoDB & RDBMS
다음은 주요 용어 차이점 중 일부입니다. MongoDB 및 RDBMS:
| RDBMS | MongoDB | 차이 |
|---|---|---|
| 작업대 | 수집 | In RDBMS테이블은 데이터를 저장하는 데 사용되는 열과 행을 포함하는 반면, MongoDB 이와 동일한 구조를 컬렉션이라고 합니다. 컬렉션은 문서를 포함하고, 문서는 필드를 포함하며, 필드는 키-값 쌍으로 구성됩니다. |
| 열 | 문서 | RDBMS에서 행은 테이블의 암시적으로 구조화된 단일 데이터 항목을 나타냅니다. ~ 안에 MongoDB, 데이터는 문서에 저장됩니다. |
| 단 | 분야 | RDBMS에서 열은 데이터 값 집합을 나타냅니다. 이것들은 MongoDB 분야라고 알려져 있습니다. |
| 조인 | 포함된 문서 | 관계형 데이터베이스 관리 시스템(RDBMS)에서는 데이터가 여러 테이블에 분산되어 있는 경우가 있는데, 모든 데이터를 한눈에 보기 위해 테이블 간 조인을 수행하여 데이터를 가져오는 경우가 있습니다. MongoDB데이터는 일반적으로 단일 컬렉션에 저장되지만, 내장 문서를 사용하여 분리됩니다. 따라서 조인 개념은 존재하지 않습니다. MongoDB. |
용어 차이 외에도 몇 가지 다른 차이점은 다음과 같습니다.
- 관계형 데이터베이스는 데이터 무결성을 강화하는 것으로 알려져 있습니다. 이는 명시적인 요구사항이 아닙니다. MongoDB.
- RDBMS에서는 데이터가 정규화 첫째, 고아 레코드와 중복 레코드를 방지하기 위해서입니다. 데이터 정규화를 위해서는 더 많은 테이블이 필요하고, 이는 더 많은 테이블 조인을 초래하여 더 많은 키와 인덱스를 요구하게 됩니다. 데이터베이스 규모가 커짐에 따라 성능 문제가 발생할 수 있습니다. 다시 말하지만, 이는 명시적인 요구 사항은 아닙니다. MongoDB. MongoDB 유연하며 먼저 데이터를 정규화할 필요가 없습니다.


