⬛️ 몽고DB 소개

  1. 유연한 데이터 모델: 몽고DB는 동적 스키마(Dynamic Schema)를 사용하여 데이터 모델링을 유연하게 할 수 있습니다. 각 문서는 자체적인 구조를 가지며, 필드의 유무나 형식이 서로 다른 문서들이 컬렉션에 함께 저장될 수 있습니다.

{ "_id": ObjectId("617a5d9ad6ee39a26f1a29d5"), "name": "John", "age": 30, "email": "john@example.com" } { "_id": ObjectId("617a5da7d6ee39a26f1a29d6"), "name": "Alice", "age": 25, "address": { "city": "New York", "zipcode": "10001" }, "hobbies": ["reading", "hiking", "cooking"] } { "_id": ObjectId("617a5db3d6ee39a26f1a29d7"), "name": "Bob", "email": "bob@example.com", "is_active": true }

  1. 고성능 및 확장성: 몽고DB는 분산형 데이터베이스로서, 수평적 확장이 가능합니다. 데이터베이스의 용량이나 처리 능력을 쉽게 증가시킬 수 있으며, 샤딩(Sharding)을 통해 데이터를 분산하여 처리할 수 있습니다.
  2. 강력한 쿼리 언어: 몽고DB는 강력한 쿼리 언어를 제공하여 복잡한 쿼리를 수행할 수 있습니다. 쿼리는 JSON 형식으로 작성되며, 필드 값, 배열, 내장 문서 등 다양한 조건을 활용할 수 있습니다.
  1. 고가용성 및 복제: 몽고DB는 데이터의 안정성을 보장하기 위해 복제(Replication) 기능을 제공합니다. 데이터의 신뢰성과 가용성을 높이기 위해 여러 개의 노드에 데이터를 복제하여 운영할 수 있습니다.
  2. 풍부한 기능: 몽고DB는 풍부한 기능을 제공하여 개발자들이 더 효율적으로 데이터를 다룰 수 있도록 도와줍니다. 인덱싱, 풀텍스트 검색, 집계 기능, 지리 공간 쿼리 등 다양한 기능을 포함하고 있습니다.

⬛️ RDB와 MongoDB 비교

RDB MongoDB
database database
table collection
tuple/row document
column key / field
table join Embedded Documents
Primary Key Primary Key (_id)
database server Client
mysqld mongod
mysql mongo

RDBMS 와 mongoDB의 속도 비교