찾다
기술 주변기기IT산업Java and Mongodb 4.0 다이어 문서 산 트랜잭션 지원

Mongodb 4.0의 독백의 산 거래 지원에 대한 자세한 설명

(이 기사는 MongoDB와 공동으로 만들어졌습니다. Sitepoint를 가능하게 한 파트너에 대한 지원에 감사드립니다.) Mongodb 4.0은 다조 문서 산 트랜잭션에 대한 지원을 추가합니다. 그러나 이것은 MongoDB가 이전에 거래를 지원하지 않았다는 것을 의미합니까? 그렇지 않은 MongoDB는 항상 단일 문서 트랜잭션을 지원했습니다. MongoDB 4.0은 이러한 트랜잭션이 여러 문서, 여러 문, 여러 컬렉션 및 여러 데이터베이스로 확장 될 수 있음을 보장합니다. 트랜잭션 데이터 무결성 보증 형태가 없으면 데이터베이스가 유용한 또 다른 것은 무엇입니까? Java and MongoDB 4.0 Support for Multi-document ACID Transactions 이 기사에 다이빙하기 전에 여기에서 모든 코드를 찾아 다중 문서화 된 산 거래를 시도 할 수 있습니다.

키 포인트

MongoDB 4.0은 트랜잭션 보증을 여러 문서, 명세서, 컬렉션 및 데이터베이스로 확장하여 데이터 무결성 및 일관성을 향상시키는 다중 문서 산 트랜잭션을 소개합니다.

MongoDB는 MongoDB 4.0 이전에 단일 문서 트랜잭션을 지원하여 단일 문서 내에서 원자 운영을 보장하며 대부분의 응용 프로그램에 적합합니다.

mongodb 4.0 다중 문서 산 거래는 기존의 관계형 데이터베이스 트랜잭션과 일치하여보다 복잡한 운영에서 원자력, 일관성, 격리 및 지속성을 제공합니다.

멀티 문서 산 트랜잭션을 사용하기위한 설정에는 MongoDB Replicaset 시작, 필요한 종속성이있는 Java 환경 설정 및 제공된 스크립트를 통해 트랜잭션 작업을 수행하는 것이 포함됩니다.

이 기사의 실제 데모는 인벤토리 가용성을 기반으로 트랜잭션이 커밋 또는 롤백되는 시나리오를 포함하여 다중 문서 트랜잭션의 구현을 보여줍니다.

Quick Start 1 단계 : Mongodb 시작 LocalHost의 포트 27017 포트에서 최소 4.0.0으로 단일 노드 MongoDB ReplicaSet을 시작하십시오.

Docker를 사용하는 경우 :
    당신은
  • 를 사용할 수 있습니다.
  • 완료되면
  • 를 사용할 수 있습니다.
  • Mongo Shell을 사용하여 Mongodb에 연결하려면 를 사용할 수 있습니다.
  • mongod를 수동으로 시작하는 것을 선호하는 경우 :

2 단계 : Java 시작 이 데모에는 두 가지 주요 프로그램이 포함되어 있습니다.

변경 스트림을 사용하면 MongoDB 컬렉션 또는 데이터베이스에서 데이터 변경에 대한 알림을받을 수 있습니다. 트랜잭션 프로세스는 데모 자체입니다.

를 실행하려면 두 개의 쉘이 필요합니다.

Docker를 사용하는 경우 : 첫 번째 쉘 :

두 번째 쉘 :

    Docker를 사용하지 않는 경우 Maven 3.5.x 및 JDK 10 (또는 JDK 8 최소 버전을 설치해야하지만 에서 Java 버전을 업데이트해야합니다) :
  • . 첫 번째 쉘 : start-mongo.sh
    ./compile-docker.sh
    ./change-streams-docker.sh
    두 번째 쉘 :

    MongoDB 4.0의 기존 단일 문서 트랜잭션을 산성 양성 다조 문서 트랜잭션과 비교하고 Java를 사용 하여이 새로운 기능을 활용하는 방법을 배우겠습니다.
    ./transactions-docker.sh
    MongoDB 4.0 이전의 버전 MongoDB 3.6 이하에서도 각각의 쓰기 작업은 단일 문서 레벨을 가진 스토리지 계층에서 스코핑 된 트랜잭션으로 표시됩니다. 문서 모델은 관련 데이터를 결합하고, 그렇지 않으면 표 형 스키마의 다른 상위 자식 테이블에 대한 모델링이므로 MongoDB의 원자 단일 문서 작업은 대부분의 응용 프로그램의 데이터 무결성 요구를 충족시키는 트랜잭션 의미를 제공합니다.

    여러 문서를 수정하는 각 일반적인 쓰기 작업은 실제로 여러 독립 트랜잭션에서 발생합니다 : 문서 당 하나의 트랜잭션.

    예를 들어 매우 간단한 재고 관리 응용 프로그램을 작성하겠습니다.

    우선, MongoDB 복제 세트가 필요하므로 위에서 설명한대로 MongoDB를 시작하십시오. 이제 다음 문서를 제품 컬렉션에 삽입하겠습니다. 프로모션이 진행 중이라고 가정하면 고객에게 모든 제품에 대해 20% 할인을 제공하고자합니다.

    그러나이 할인을 적용하기 전에 변경 스트림을 사용하여 MongoDB에서 이러한 작업이 얼마나 오래 발생하는지 모니터링하려고합니다.

    몽고 쉘에서 다음을 수행하십시오 :

위 내용은 Java and Mongodb 4.0 다이어 문서 산 트랜잭션 지원의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
2025 년에 가입 할 Top 21 개발자 뉴스 레터2025 년에 가입 할 Top 21 개발자 뉴스 레터Apr 24, 2025 am 08:28 AM

이 최고의 개발자 뉴스 레터와 함께 최신 기술 트렌드에 대해 정보를 얻으십시오! 이 선별 된 목록은 AI 애호가부터 노련한 백엔드 및 프론트 엔드 개발자에 이르기까지 모든 사람에게 무언가를 제공합니다. 즐겨 찾기를 선택하고 Rel을 검색하는 데 시간을 절약하십시오

AWS ECS 및 LAMBDA가있는 서버리스 이미지 처리 파이프 라인AWS ECS 및 LAMBDA가있는 서버리스 이미지 처리 파이프 라인Apr 18, 2025 am 08:28 AM

이 튜토리얼은 AWS 서비스를 사용하여 서버리스 이미지 처리 파이프 라인을 구축함으로써 안내합니다. ECS Fargate 클러스터에 배포 된 Next.js Frontend를 만들어 API 게이트웨이, Lambda 기능, S3 버킷 및 DynamoDB와 상호 작용합니다. th

CNCF ARM64 파일럿 : 충격 및 통찰력CNCF ARM64 파일럿 : 충격 및 통찰력Apr 15, 2025 am 08:27 AM

CNCF (Cloud Native Computing Foundation), Ampere Computing, Equinix Metal 및 Actuated 간의 공동 작업 인이 파일럿 프로그램은 CNCF Github 프로젝트를위한 ARM64 CI/CD를 간소화합니다. 이 이니셔티브는 보안 문제 및 성과를 다룹니다

See all articles

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

Video Face Swap

Video Face Swap

완전히 무료인 AI 얼굴 교환 도구를 사용하여 모든 비디오의 얼굴을 쉽게 바꾸세요!

뜨거운 도구

MinGW - Windows용 미니멀리스트 GNU

MinGW - Windows용 미니멀리스트 GNU

이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

SecList

SecList

SecLists는 최고의 보안 테스터의 동반자입니다. 보안 평가 시 자주 사용되는 다양한 유형의 목록을 한 곳에 모아 놓은 것입니다. SecLists는 보안 테스터에게 필요할 수 있는 모든 목록을 편리하게 제공하여 보안 테스트를 더욱 효율적이고 생산적으로 만드는 데 도움이 됩니다. 목록 유형에는 사용자 이름, 비밀번호, URL, 퍼징 페이로드, 민감한 데이터 패턴, 웹 셸 등이 포함됩니다. 테스터는 이 저장소를 새로운 테스트 시스템으로 간단히 가져올 수 있으며 필요한 모든 유형의 목록에 액세스할 수 있습니다.

에디트플러스 중국어 크랙 버전

에디트플러스 중국어 크랙 버전

작은 크기, 구문 강조, 코드 프롬프트 기능을 지원하지 않음

Dreamweaver Mac版

Dreamweaver Mac版

시각적 웹 개발 도구

ZendStudio 13.5.1 맥

ZendStudio 13.5.1 맥

강력한 PHP 통합 개발 환경