목표

  • GridFS의 개념익히기
  • java-mongodb 드라이버를 이용한 간단한 몽고디비 연동 및 GridFS 샘플
     

목표

  • 배포 고려사항 및 하드웨어 필요사항
  • 관리, 백업, 보안 방법
  • 성능 문제 해결 방법
     

9.1.1 샤딩이란

  • 데이터의 크기가 커지고 애플리케이션에서 읽기와 쓰기 처리량이 늘어남에 따라 현재의 서버로는 충분치 않은 상황이 올 수도 있다.(램이나 CPU 코어가 충분치 않을 수도있다.)
  • 대이터 크기가 늘어남에 따라 하나의 디스크나 RAID(https://ko.wikipedia.org/wiki/RAID) 어레이에 대량의 데이터를 저장하고 백업하는 것이 현실적으로 불가능해질 수도있다.
  • 데이터 베이스를 위해 현재 가용한 서버나 가상 하드웨어를 계속해서 사용하려면 하나 이상의 서버에 데이터베이스를 분산해야하는데 이것이 샤딩을 통해 이루어진다.
     

복제는 여러 서버 상에서 데이터의 동일한 복사본을 유지하는 방법 (모든 실제 서비스에서는 복제를 적용할 것을 권장)
→ 한 대 또는 그 이상의 서버에 이상이 발생하였을 때 애플리케이션의 정상 동작 및 데이터를 안전하게 보존할 수 있음
※ MongoDB는 복제 셋(replica set)을 생성함으로써 복제를 설정할 수 있음

     

개념실험

  • 두꺼운 요리책이 있다. 이 책은 5000장으로 이루어져 있으며 요리법에는 특별한 순서가 없다. 3,475페이지에는 호주의 오리 찜 요리가 있으며, 2페이지에는 자카테칸 타코가 있다. 인덱스가 없이 요리책에서 로즈메리 감자 요리법을 찾을 수 있을까? 유일한 방법은 그 요리법이 나올 때까지 처음부터 훑어 나가는 것이다.