본문 바로가기
반응형

NoSQL3

[MongoDB] Upsert 란?? upsert는 “있으면 업데이트, 없으면 삽입”을 한 번의 원자적 작업으로 처리하고, 동시에 여러 클라이언트가 달려들어도 딱 하나만 삽입되도록 자동 재시도해요.흐름을 6단계로 요청→결정→수행→커밋 순으로, 함수 흐름Client updateOne(..., {upsert:true})Command RouterUpsertStage::doWork()UpdateStage::doWork()로 기존 문서 조회분기문서 있음 → 업데이트 경로writeConflictRetry {WriteUnitOfWork 생성WiredTigerBeginTxnBlock 시작LockManager::lock (문서 락)기존 문서 업데이트WiredTiger Transaction CommitWriteUnitOfWork::commit} (충돌 시 백.. 2025. 8. 13.
AWS DocumentDB 모델링 설계 및 핵심 가치 1. DocumentDB 핵심가치 & 전략[ 기능관련 ]Elastic Cluster - 샤딩 지원, 최대 1PB 스토리지Aurora 랑 동일하게 I/O Optimize 스토리지 ( 해당 기능은 확인 필요! )Vector Search 지원Zero ETL 지원DocumentDB = MongoDB Atlas 비슷한데, 어떤걸 쓰는게 더 효율적일까..MongoDB Atlas 는 인스턴스당 4TB 최대 사용가능 ( 샤딩필요 )2. Amazon DocumentDB Architecture & Best Practice[ 도입시 장점 3가지 ]Cost Optimized 구성Graviton Instance 활용압축 활용ArchitectureCloud Native Architecture ( 3 Layer - Compute,.. 2025. 6. 30.
[MongoDB] findAndModify와 updateOne의 차이 🔍 findAndModify와 updateOne의 차이, 단순하지 않다MongoDB나 DocumentDB를 사용하다 보면 이런 고민이 생긴다. [1]db.collection.updateOne({ _id: 1 }, { $set: { status: "done" } })[2]db.collection.findAndModify({ query: { _id: 1 }, update: { $set: { status: "done" } }, new: false, fields: {} })[1],[2] 기능이 비슷해 보이지만, 성능은 천차만별이다.최근 DocumentDB에서 간단한 status 필드 업데이트 한 줄로 디스크 I/O가 급증한 경험을 하며, 이 차이를 깊이 파고들었다.그리고 알게 된 건 간단했다:"MongoDB는.. 2025. 5. 19.
반응형