ㅁㄴㅇㄻㄴㅇㄹ

[DB] MongoDB 장점 본문

DB

[DB] MongoDB 장점

hanbin8269 2022. 6. 1. 00:50

RDBMS에 친숙하다면

  • 정규화가 잘 된 데이터모델의 유용함
  • 트랜잭션의 필요성
  • 견고한 저장 엔진을 통해 얻는 확신

을 잘 알고 있을 것이다.

이런 RDBMS를 벗어나 NoSQL로 옮긴다면 어떤 장점이 있을까?

  1. 확장의 용이성MongoDB의 데이터 모델과 지속성 전략은 높은 읽기/쓰기 효율자동 장애조치를 통한 확장의 용이성을 염두에 두고 만들어졌다.
  2. MongoDB는 웹 애플리케이션과 인터넷 기반을 위해 설계된 데이터베이스 관리 시스템이다.
  3. 직관적인 데이터 모델예를 들자면 아래에 사용자에 대한 정보를 몇 개의 필드로 저장한 도큐먼트가 있다.만약 하나의 사용자가 여러개의 이메일을 가질 수 있다면 어떻게 해야할까?하지만 MongoDB는 아래와 같이 사용하면 된다.예시와 같이 MongoDB는 한명의 사람 정보를 얻기 위해서 하나의 도큐먼트로 표현할 수 있다.
  4. 만약 RDBMS였다면 여러개의 테이블에 나눠져 있는 정보를 조인 연산으로 가득찬 SQL 쿼리를 만들어 표현했어야 할 것이다.
  5. { _id: 10, username: 'hanbin', email : [ 'hanbin8269@gmail.com', 'gksqls0128@naver.com' ] }
  6. RDBMS라면 서로 조인을 하기 위해 이메일 과 사용자 테이블을 각각 만들어야 할 것이다.
  7. { _id: 10, username: 'hanbin', email : 'hanbin8269@gmail.com' }
  8. MongoDB는 데이터의 변경이 발생했을 때 스키마에 맞춰야 하는 걱정 없이 구조화 된 도큐먼트를 저장할 수 있다는 장점이 있는데,
  9. 객체 매핑의 단순화MongoDB의 도큐먼트는 JSON에 기반하는데, JSON은 프로그래밍 언어에서 dictionary나 hash map과 유사하다.
  10. 그렇기 떄문에 프로그래밍 언어에서 정의한 객체가 그대로 저장되므로 객체 매퍼의 복잡성이 사라진다.
  11. 개발자들은 주로 객체지향언어를 사용해 작업을 하기 때문에 객체에 잘 매핑되는 데이터 저장 구조를 원한다.

'DB' 카테고리의 다른 글

[DB] MongoDB 자료구조  (0) 2022.06.01
[DB] Lock 이해하기  (0) 2022.05.20
[DB] 상황에 맞는 인덱스 사용법  (0) 2022.05.20