공지 사항역대 가장 빠른 MongoDB, MongoDB 8.0을 소개합니다! 더 보기 >
공지 사항Voyage AI가 MongoDB와 협력하여 Atlas에서 더욱 정확하고 신뢰할 수 있는 AI 애플리케이션을 지원합니다. 자세히 알아보기 >

C++ 및 MongoDB

C++는 효율성, 다재다능함 및 광범위한 사용법으로 유명한 강력한 고성능 프로그래밍 언어입니다. MongoDB와 C++의 인기를 고려할 때 함께 작동하는 것은 놀라운 일이 아닙니다. 로컬 또는 온프레미스 MongoDB 설치에서 개발하든, MongoDB Atlas를 사용하여 클라우드 우선 순위로 개발하든, MongoDB C++ 드라이버 를 사용하면 MongoDB를 개발 프로세스에 손쉽게 통합할 수 있습니다.

개발 중인 C++ 애플리케이션에 어떤 데이터베이스를 사용할지 찾고 계십니까? 이 가이드를 통해 C++의 강점을 활용하여 MongoDB와 MongoDB를 원활하게 통합하는 방법을 살펴보며 MongoDB 데이터베이스 시스템의 유연성 및 확장성을 살펴보세요.

목차

C++와 함께 MongoDB를 사용하는 이유

MongoDB는 가장 인기 있는 NoSQL 데이터베이스 기술로 1위를 차지했습니다. 고가용성과 확장 가능한 애플리케이션을 빌드하는 데 사용되는 문서 데이터베이스입니다. 2007년에 설립된 MongoDB는 개발자 커뮤니티에서 전 세계적으로 사랑받는 기업입니다. MongoDB는 항상 개발자에게 뛰어난 사용자 경험을 제공하는 데 집중해 왔으며, 이는 다른 모든 기능 외에도 MongoDB를 전 세계 개발자들이 선호하는 곳으로 만들었습니다. C++ 개발자는 여러 가지 이유로 MongoDB를 사용하여 상당한 이점을 얻을 수 있습니다.

  • 유연한 스키마: SQL과 달리 MongoDB의 문서 모델은 컬렉션의 여러 문서가 다양한 정형 데이터를 가질 수 있도록 합니다. 이러한 유연성은 C++의 동적 특성에 잘 부합하며 데이터 모델을 수정하지 않고도 데이터 레이아웃을 변경할 수 있으므로 생산성을 높일 수 있습니다.
  • 성능: MongoDB는 샤딩 및 복제를 기본으로 지원하며, 고가용성, 수평적 확장 및 지리적 분산을 제공합니다. 따라서 견고성과 고성능이 필요한 C++ 애플리케이션에 이상적인 선택입니다.
  • 확장성: MongoDB는 애플리케이션에 서버를 더 추가하는 수평적 확장이 용이하도록 설계되었습니다. 반면 SQL 데이터베이스는 일반적으로 수직 확장(더 강력한 hardware)에 의존하기 때문에 한계가 있을 수 있습니다.
  • 사용 편의성: MongoDB는 CRUD 작업을 위한 매우 간단하고 직관적인 API를 제공하며, 이는 MongoDB C++ 드라이버와 함께 쉽게 사용할 수 있습니다. MongoDB에 사용되는 JSON 유사 문서가 C++의 데이터 유형으로 직접 매핑되어 자연스러운 데이터 조작 환경을 제공합니다.

새로운 것을 구축하는 중 데이터베이스가 필요하다면 처음부터 MongoDB Atlas 를 사용하는 것을 고려하세요. Atlas는 전체 텍스트 검색, 벡터 검색, 차트, 파트너 통합 등 다양한 기능과 함께 제공되는 완전 관리형 클라우드 네이티브 데이터베이스 서비스를 제공합니다.

재미있는 사실: MongoDB 데이터베이스는 C++ 언어로 작성되었습니다!

MongoDB 및 C++ 시작하기

C++ 애플리케이션과 함께 MongoDB를 사용하려면 MongoDB와 C++ 애플리케이션 간의 인터페이스 역할을 하는 MongoDB C++ 드라이버 를 설치해야 합니다. 드라이버 는 mongocxx 또는 mongo-cxx-driver 라고도 합니다.

MongoDB C++ 드라이버를 설치하는 데 사용할 수 있는 옵션에는 여러 가지가 있습니다.

위의 모든 방법을 다루는 설치 페이지에서 자세한 문서를 참조하세요. Windows에서 소스에서 빌드하고 설치하기 위한 단계별 가이드 도 사용할 수 있습니다. 시작할 수 있는 10분짜리 동영상 자습서도 있습니다.

Visual Studio, Visual Studio Code 또는 CLion 등 원하는 IDE를 사용하여 MongoDB C++ 드라이버를 설정할 수 있습니다. C++ 드라이버 설치에는 CMake 구성 파일 패키지도 포함되어 있으므로 CMake의 find_package 명령을 사용하여 C++ 드라이버의 CMake 타겟을 가져오고 C++ 드라이버에 대한 링크를 공유 라이브러리로 링크할 수 있습니다.

첫 번째 Atlas 클러스터 생성

C++ 드라이버 설정이 모두 완료되면 데이터베이스가 필요합니다.

이 가이드에 따라 MongoDB Atlas에서 계정을 생성하고 무료 티어 클러스터를 생성할 수 있습니다. 샘플 데이터를 삽입하는 방법도 보여줍니다.

Atlas 클러스터에 연결

이전 섹션을 마치면 Atlas에 배포된 새로운 MongoDB 클러스터, 새로운 데이터베이스 사용자와 비밀번호, 그리고 클러스터에 로드된 몇 가지 샘플 데이터 세트가 있어야 합니다.

이제 드라이버를 사용하여 데이터베이스에 연결할 차례입니다. 데이터베이스 연결을 설정하려면 드라이버에 연결 방법에 대한 지침이 필요합니다. 이러한 지침을 연결 문자열이라고 합니다. 클러스터에 대한 연결 문자열과 사용자 이름은 Atlas 계정으로 이동하여 데이터베이스 섹션으로 이동한 후 '연결'을 클릭하여 가져올 수 있습니다.

드라이버와 버전을 선택하라는 팝업이 나타납니다. 두 드롭다운을 모두 입력한 후에는 데이터베이스 연결 문자열("mongdb+srv:// ")을 사용하여 클러스터에 연결할 수 있습니다. 사용자 이름과 비밀번호 값을 바꿔 입력해야 합니다.

이 연결 문자열을 사용하여 애플리케이션에서 MongoDB 클러스터에 대한 쿼리를 실행할 수 있습니다. 연결 문자열을 가져오는 방법에 대한 자세한 지침은 여기를 참조하세요. MongoDB Atlas 클러스터에 연결하고 ping 명령을 실행하는 예시 코드는 아래와 같습니다.

 

C++

 

문서 및 컬렉션

SQL 데이터베이스와 달리 MongoDB는 문서컬렉션에 정보를 저장합니다.

문서

MongoDB는 데이터 레코드를 BSON 문서로 저장합니다. BSON은 JSON 문서의 바이너리 표현이지만, JSON보다 더 많은 데이터 유형을 포함하고 있습니다. 문서는 다음과 같은 구조를 가진 필드-값 쌍으로 구성됩니다.

 

Python

 

필드와 연관된 값은 다른 문서, 배열, 문서 배열을 포함하여 모든 BSON 데이터 유형일 수 있습니다. 필드 이름 자체는 문자열입니다.

문서는 강제 스키마가 아닌 동적 스키마를 제공하기 때문에 관계형 데이터베이스의 표준 행보다 훨씬 유연합니다(원하는 경우 MongoDB를 통해 스키마 유효성 검사 를 수행할 수 있음).

컬렉션

MongoDB는 문서를 collection에 저장합니다. 컬렉션은 관계형 데이터베이스의 테이블과 같습니다. 컬렉션 만드는 방법 및 컬렉션에 대한 기타 정보는 여기에서 확인하실 수 있습니다.

CRUD 작업

CRUD(생성, 읽기, 업데이트, 삭제) 작업은 데이터베이스에서 수행할 수 있는 네 가지 기본 작업입니다. MongoDB의 경우 CRUD 작업을 사용하여 문서를 삽입하고, 문서와 일치하는 쿼리를 작성하고, 문서를 업데이트하고, 문서를 삭제할 수 있습니다. 이 작업은 MongoDB 쿼리 언어인 MQL을 사용하면 됩니다. SQL 문과 달리 MQL은 문서와 동일한 구문을 사용하므로 직관적이고 고급 쿼리에도 쉽게 사용할 수 있습니다.

전체 C++ 데이터베이스 튜토리얼과 C++ 드라이버를 사용하는 네 가지 CRUD 작업 각각에 대한 예시 코드는 MongoDB 개발자 센터문서에서 찾을 수 있습니다.

도움 받기

MongoDB 사용의 가장 큰 장점은 C++ 드라이버에 대해 다양한 수준의 경험을 가진 사용자들을 포함하는 활기찬 커뮤니티입니다. 일반적인 질문에 대한 지원을 얻는 가장 좋은 방법은 MongoDB Community Forums를 사용하는 것입니다.

예기치 않은 오류가 발생했거나, C++ 드라이버에서 버그를 발견했다고 생각하거나, 기능 요청이 있는 경우 C++ 프로젝트에서 JIRA 티켓을 열어 주세요.

C++ 드라이버와 Core 서버 모두를 위해 JIRA에서 생성된 티켓은 기본값으로 공개되어 있습니다.

MongoDB 피드백 에 기능을 요청하고, 아이디어에 대해 찬성표를 얻어 지지를 얻을 수도 있습니다.

리소스

자주 묻는 질문

MongoDB Atlas 시작하기

무료 체험판 다운로드