English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
MongoDB는 플랫폼 중립적이고 문서 중심의 데이터베이스로, 높은 성능, 높은可用성 및 확장성을 제공합니다. MongoDB는 수집 및 문서 개념에 집중합니다.
MongoDB는 C 언어로 작성된 데이터베이스 프로그램입니다. ++언어로 작성됩니다.
무료 – 응용 프로그램에서 사용하기 위해 어떤 비용도 부과하지 않습니다.
오픈 소스 – 오픈 소스는 열려져 있으며, 오픈 소스 커뮤니티는 MongoDB 데이터베이스 프로그램 개발에 기여했습니다.
플랫폼 중립적 – MongoDB는 플랫폼(예: Linux)에 구축되어 있으며, 코드를 수정하지 않고 다른 플랫폼(Windows, MacOS 등)에서 실행할 수 있습니다.
문서 중심 – MongoDB는 JSON 형식으로 기록을 저장합니다(예: 문서)。이렇게 하면 많은 장점이 있습니다. 두드러지는 장점은 새로운 기능을 데이터베이스에 추가하는 것이 복잡하지 않다는 것입니다. 관계형 데이터베이스에서는 열을 추가하는 것과 같습니다.
NoSQL(SQL이 아닌 것만은 아닙니다) – MongoDB는 문서 기반 데이터베이스를 사용하며, 각 문서는 복잡한 값을 가진 키입니다. 문서 값은 여러 키밸류对口를 포함할 수 있습니다.
데이터베이스는 수집을 위한 물리적 컨테이너입니다. 각 데이터베이스는 파일 시스템에서 자신의 파일 집합을 가집니다. MongoDB 서버는 일반적으로 여러 데이터베이스를 가집니다.
집합은 MongoDB 문서의 집합입니다. 이는 RDBMS 테이블과 동일합니다. 집합은 단일 데이터베이스에 존재합니다. 집합은 구조를 강제하지 않습니다. 집합의 문서는 다른 필드를 가질 수 있습니다. 일반적으로 집합의 모든 문서는 유사하거나 관련된 목적을 가집니다.
문서는 키밸류对口의 집합입니다. 문서는 동적 구조를 가집니다. 동적 모델은 같은 집합의 문서가 같은 필드나 구조 집합을 가지지 않아도 되며, 집합 문서의 공통 필드는 다른 데이터 타입을 저장할 수 있습니다.
아래 표는 RDBMS 용어와 MongoDB의 관계를 보여줍니다.
관계형 데이터베이스 관리 시스템 | MongoDB |
---|---|
데이터베이스 | 데이터베이스 |
테이블 | 집합 |
특징/행 | 문서 |
컬럼 | 필드 |
테이블 조인 | 임베디드 문서 |
primkey 제약 조건 | primkey(MongoDB 자체가 제공하는 기본 _id 키) |
데이터베이스 서버 및 클라이언트 | |
mysqld / Oracle | mongod |
mysql / sqlplus | mongo |
다음 예제는 블로그 사이트의 문서 구조를 보여줍니다. 이것은 단순히 콤마로 구분된 키밸류对口입니다.
{ 7df78ad8902c) title: MongoDB 개요 description: MongoDB는 NoSQL 데이터베이스입니다 by: 기본 강의 url: https://ko.oldtoolbag.com tags: ['mongodb', 'database', 'NoSQL'], likes: 100, comments: [ { user: 'user1, message: 'My first comment', dateCreated: new Date(2011,1,20,2,15, like: 0 }, { user: 'user2, message: 'My second comments', dateCreated: new Date(2011,1,25,7,45, like: 5 } ] }
_id입니다12은12바이트의 16진수 숫자는 각 문서의 유일성을 보장합니다. 문서를 삽입할 때 id를 제공할 수 있습니다. 제공하지 않으면 MongoDB가 각 문서에 유일한 id를 제공합니다. 이4바이트는 현재 타임스탬프에 사용되며, 이어서3바이트는 기계 ID에 사용되며, 이어서2바이트는 MongoDB 서버 프로세스 ID에 사용되며, 나머지3바이트는 간단한 증가 값입니다.