데이터베이스(DB)

몽고DB(MongoDB)란?

반도체는 프로그래밍을 좋아해 2023. 4. 12. 13:48
728x90

안녕하세요. 이번에는 몽고DB(MongoDB)에 대해 알아보는 글을 작성해보았습니다.

몽고DB(MongoDB)NoSQL 데이터베이스 중 하나로, JSON과 비슷한 형태인 BSON 형식을 사용하여 데이터를 저장합니다. 이러한 형식은 구조화된 데이터와 비구조화된 데이터 모두를 다루기 적합하며, 대용량 데이터의 처리와 분산 처리에 강점을 가지고 있습니다.

*NoSQL에 관한 설명이나 JSON, BSON에 관한 설명이 필요하신 분은 아래 글을 참조해주세요.

2023.04.13 - [데이터베이스(DB)] - NoSQL과 RDBMS 그 차이

 

NoSQL과 RDBMS 그 차이

NoSQL(Not Only SQL)은 RDBMS(관계형 데이터베이스) 모델링에 대안을 제공하는 데이터베이스 기술의 일종입니다. RDBMS(관계형 데이터베이스) 모델링에서는 데이터를 정형화된 테이블 형태로 저장하며,

sunmin.tistory.com

2023.04.13 - [데이터베이스(DB)] - MongoDB JSON과 BSON 설명

 

MongoDB JSON과 BSON 설명

MongoDB(몽고DB)는 JSON과 BSON 형식을 모두 지원합니다. JSON은 JavaScript Object Notation의 약어로, 가볍고 사람이 읽고 쓰기 쉬운 형식입니다. BSON은 Binary JSON의 약어로, JSON과 호환되며 이진 형식으로 인코

sunmin.tistory.com

몽고DB(MongoDB)의 특징 중 하나는 스키마가 없다는 것입니다. 이는 데이터베이스에 저장하는 데이터의 구조가 자유롭다는 것을 의미합니다. 또한, 몽고DB는 자체적인 쿼리 언어를 제공하여, 데이터 검색 및 처리를 간편하게 할 수 있습니다.

또한, 몽고DB(MongoDB)는 분산 데이터베이스 시스템을 구축할 수 있도록 설계되어 있습니다. 이를 통해 여러 서버에 데이터를 분산 저장하고, 처리 작업을 분산하여 성능을 향상시킬 수 있습니다.

마지막으로, 몽고DB(MongoDB)는 다양한 언어와 프레임워크에서 사용 가능하며, 대표적으로는 자바, 파이썬, C++, C# 등이 있습니다. 이를 통해 개발자는 양한 환경에서 몽고DB를 활용하여 데이터베이스를 구축할 수 있습니다.

이렇듯 몽고DB(MongoDB)는 다양한 기능과 장점을 가지고 있습니다. 데이터베이스의 구조와 처리 방법이 기존의 관계형 데이터베이스와는 다르기 때문에, 새로운 패러다임을 이해하고 익히는 것이 필요합니다. 하지만, 몽고DB(MongoDB)를 사용하면 대용량 데이터의 처리와 분산 처리에 강점을 가지고, 더욱 유연한 데이터베이스를 구축할 수 있습니다.

728x90

다음은 예시로 C#에서 몽고DB(MongoDB)를 사용하는 예제입니다.

C#에서 몽고DB를 사용하기 위해서는 C#용 몽고DB 드라이버를 설치해야 합니다. 이 드라이버는 NuGet을 통해 쉽게 설치할 수 있습니다.

WPF에서 사용할 경우, 해당 프로젝트에 NuGet 패키지를 추가하고, 드라이버를 사용하여 데이터를 조회, 삽입, 수정, 삭제하는 코드를 작성하면 됩니다.

아래는 간단한 예시 코드입니다

using MongoDB.Driver;

// ...

// MongoDB 연결 문자열
string connectionString = "mongodb://localhost:27017";

// MongoDB 연결
var client = new MongoClient(connectionString);

// MongoDB 데이터베이스 선택
var database = client.GetDatabase("myDatabase");

// MongoDB 컬렉션 선택
var collection = database.GetCollection<BsonDocument>("myCollection");

// 데이터 조회
var documents = collection.Find(new BsonDocument()).ToList();

// 데이터 삽입
var document = new BsonDocument { { "name", "John Doe" }, { "age", 30 } };
collection.InsertOne(document);

// 데이터 수정
var filter = Builders<BsonDocument>.Filter.Eq("name", "John Doe");
var update = Builders<BsonDocument>.Update.Set("age", 40);
collection.UpdateOne(filter, update);

// 데이터 삭제
var deleteFilter = Builders<BsonDocument>.Filter.Eq("name", "John Doe");
collection.DeleteOne(deleteFilter);

이 코드는 몽고DB에 연결하고, 데이터베이스와 컬렉션을 선택하며, 데이터 조회, 삽입, 수정, 삭제를 수행하는 예시입니다. 실제 사용 시에는 자신의 데이터 모델과 필요한 쿼리를 작성하여 사용하면 됩니다.

*MongoDB 사이트

https://www.mongodb.com/

 

MongoDB: The Developer Data Platform

Get your ideas to market faster with a developer data platform built on the leading modern database. MongoDB makes working with data easy.

www.mongodb.com

*MongoDB 공부사이트

https://learn.mongodb.com/

 

MongoDB Courses and Trainings | MongoDB University

Hands-On Labs & Quizzes Test your knowledge and practice your recently learned skills with our in-browser development environment.

learn.mongodb.com

 

728x90
댓글수0