MongoDB의 백업 및 복원
논리적 백업에 Mongodump를 사용하여 지정된 데이터베이스, 컬렉션, 압축 및 아카이브 지원; 2. Mongorestore를 사용하여 데이터를 복원하고 원래 데이터를 지우거나 -드롭으로 대상 이름을 바꿀 수 있습니다. 3. 효율적인 물리적 백업을 달성하기 위해 생산 환경에 파일 시스템 스냅 샷 (예 : EBS/LVM)을 권장합니다. 4. MongoDB Atlas 사용자는 연속 클라우드 백업과 같은 기본 도구를 활성화해야합니다. 5. 모범 사례를 따르십시오 : 정기 테스트, 오프 사이트 스토리지, 버전 이름 지정, 로그 모니터링 및 하드 코딩 된 자격 증명을 피하십시오-백업을 신뢰할 수 있고 사용할 수 있는지 확인하십시오. 앞으로, 우리는 현재 미래에 설정되고 검증 된 전략에 감사 할 것입니다.
MongoDB와 함께 작업 할 때는 우발적 인 손실, 부패 또는 시스템 고장으로부터 데이터를 보호하기 위해서는 탄탄한 백업 및 복원 전략을 갖는 것이 필수적입니다. 작은 앱이나 대규모 생산 시스템을 관리하든 MongoDB의 백업을 처리하고 효과적으로 복원하는 방법은 다음과 같습니다.

✅ 1. 백업에 mongodump
사용하십시오 (논리 백업)
mongodump
는 논리적 백업을 생성하기위한 MongoDB의 내장 도구입니다. 데이터를 BSON 파일로 내보내십시오.
기본 명령 :

mongodump --uri = "mongodb : // localhost : 27017" -out =/path/to/backup/directory
일반적인 옵션 :
-
--db <dbname>
-특정 데이터베이스를 백업합니다 -
--collection <collname>
-백업 컬렉션 만 백업합니다 -
--gzip
출력 압축 (공간 저장) -
--archive
디렉토리 구조 대신 단일 아카이브 파일에 쓰기
예제 (압축 및 아카이브 포함) :

mongodump --uri = "mongodb : // localhost : 27017"-gzip -archive = backup-$ (날짜%y-%m-%d) .gz
? 팁 : 정기적 인 자동 백업을 위해 CRON 작업 또는 예약 작업을 통해 실행하십시오.
✅ 2. mongorestore
로 복원하십시오
mongodump
Backup에서 복원하려면 :
기본 복원 :
Mongorestore --uri = "mongodb : // localhost : 27017"/path/to/backup/directory
아카이브 파일에서 :
Mongorestore --uri = "mongodb : // localhost : 27017"-gzip-archive = backup-2025-04-05.gz
유용한 깃발 :
-
--drop
-복원 전 컬렉션 드롭 (클리닝 슬레이트) -
--nsFrom
및--nsTo
복원 중에 데이터베이스/컬렉션 이름 바꾸기 (예 :dev_db
에서prod_db
로 마이그레이션)
✅ 3. 제작 : 파일 시스템 스냅 샷을 고려하십시오 (물리적 백업)
WiredTiger와 함께 MongoDB를 사용하고 스냅 샷 (LVM, AWS EBS 또는 ZFS 등)을 지원하는 파일 시스템에서 실행하는 경우 다음을 수행 할 수 있습니다.
- 쓰기 중지 (또는
fsyncLock
사용하여 디스크로 플러시) - 스냅 샷을 찍으십시오
- 잠금 해제 (
fsyncUnlock
)
이를 통해 대규모 데이터 세트의 논리적 덤프보다 빠르고 효율적인 물리적 백업을 제공합니다.
⚠️은 스냅 샷 중에 MongoDB가 실행되지 않거나 잠긴 상태에있는 경우에만 작동합니다.
✅ 4. Cloud & Atlas 사용자 : 기본 도구를 사용하십시오
Mongodb Atlas 에있는 경우 사용하십시오.
- 연속 클라우드 백업이 있는 클라우드 백업 (시점 복구)
- 자체 호스팅 클러스터의 OPS 관리자 또는 클라우드 관리자
이 도구는 백업 스케줄링, 유지 정책을 자동화하고 UI 또는 API를 통해 쉽게 복원 mongodump
필요가 없습니다.
? 보너스 : 모범 사례
- ∎ 백업을 정기적으로 테스트하십시오 - 개발 환경으로 복원하십시오.
- ✅ 오프 사이트 (예 : S3, 암호화 된 클라우드 스토리지) 저장 백업
- timestamps 타임 스탬프로 백업 버전
- ✅ 백업 로그 모니터 - 실패는 조용히 발생합니다
- connection 연결 문자열 용
.env
또는 구성 파일 사용 - 하드 코딩 된 자격 증명을 피하십시오.
결론 :
대부분의 경우 mongodump
mongorestore
사용하십시오. 간단하고 신뢰할 수 있으며 휴대용입니다. 생산 규모 시스템의 경우 파일 시스템 스냅 샷 또는 Atlas와 같은 관리 서비스와 결합하십시오. 백업 계획이 없다는 것을 알기 위해 데이터 손실을 기다리지 마십시오.
기본적으로, 그냥 설정하고 확인하십시오 - 미래의 자아가 감사 할 것입니다.
위 내용은 MongoDB의 백업 및 복원의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undress AI Tool
무료로 이미지를 벗다

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT
더 현명한 결정을 위한 AI 기반 투자 연구

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

useProperIndexesonQuery, 정렬 및 프로사지 필드, CompoundIndexeswithequeforeRangefields, andavoidover-indexing을 선호합니다

mongodb 쿼리 성능 병목 현상을 정확하게 찾으려면 설명 ( "executionStats")을 사용하십시오. 핵심은 TotalDocsexAmined가 TotalDocSreturned보다 훨씬 크다는 것을 보는 것입니다. 2. CollScan은 전체 테이블 스캔을 의미하며 인덱스가 생성되어야합니다. 3. 스캔 할 문서가 너무 많거나 반환 할 문서가 거의없는 경우 {status : 1, createat : -1}과 같은 복합 인덱스를 대신 사용해야합니다. 4. ExecutionTimemillis는 50-100ms를 초과하거나 인덱스를 최적화해야하거나 결과 세트가 제한되어 있습니다. 5. Indexonly에 의해 쿼리가 덮어 쓰는지 확인하십시오.

채팅 애플리케이션을 구축하려면 node.js, socket.io 및 mongodb를 사용하십시오. 먼저 기술 스택을 구축하고 사용자 및 메시지를위한 데이터 모델을 설계하십시오. Mongoose를 사용하여 스키마를 정의하고 인덱스를 생성하여 쿼리 효율성을 향상시킵니다. 그런 다음 Socket.io를 통해 사용자는 방에 가입하여 실시간으로 메시지를 보내고 받고 역사적 메시지를로드합니다. 메시지를받은 후 서버는 MongoDB에 입금하여 방의 다른 멤버에게 밀어 넣습니다. 메시지 기록 및 확장을 지원하기 위해 MongoDB 쿼리를 사용하여 메시지를 시간별로 정렬하고 메시지를 얻고 페이징 또는 무한 스크롤과 함께 더 많은 컨텐츠를로드하십시오. Mongodbatlas Cloud 서비스는 자동 확장 및 백업을 달성하고 필요할 때 만료 된 메시지를 자동으로 정리하도록 TTL 인덱스를 설정하는 것이 좋습니다.

TTL 인덱스는 만료 된 문서를 자동으로 삭제할 수 있으며 로그, 세션 및 기타 시간 소모 데이터에 적합합니다. 날짜 필드를 기준으로 생성해야하며, expiregterseconds는 시간이 정해진 청소를 구현하도록 설정되었으며 데이터가 자동으로 지워지도록 60 초마다 배경 작업을 확인합니다.

ChangestreamsInMongoDBenAblereal-timemonitoringofdatachangesacrosscollection, 데이터베이스, 데이터베이스, ordeployments, 요구 사항이 필요합니다. 필요합니다

Designaroundaccesspatternsbyusingaflexibleschemawithembeddeddocumentsforperformance;includecommonfieldslikename,price,andsku,embedvariantandreviewdatawhenpractical,usearraysforspecifications,indexkeyfields,andseparatehigh-volumereviewstoensurescalabi

ShardingIssentientalforscalingmongodbwhendataexexsingsingle-servercapacityorthroughputlimits, enablinghorizontcalingbydatacrossmultipleshards.2.ashardedclusterconsistsofshards (datastorage), Mongosrouters (queryrouting) 및 conconfigservers (and configserver)

효율적으로 효율적으로 송아지드 스키 메이드 디자인, 적절한 인덱싱 및 compression.usecompactSchemaswithfieldNamesandAptropriatedatatypes, embeddatawisely, andavoidunboundedArrays.Leverage 'sssnappyOrzlibressionTucedISku
