topics 트랜잭션 관리 트랜잭션 관리란 무엇인가요?
IBM Z 살펴보기 클라우드 관련 주제 업데이트 구독하기
컴퓨터 모니터, 서버, 구름, 점의 픽토그램 콜라주가 포함된 일러스트

게시일: 2024년 3월 28일
기고자: Josh Schneider, Ian Smalley

트랜잭션 관리란 무엇인가요?

트랜잭션 관리는 트랜잭션 관리 소프트웨어가 주어진 트랜잭션을 감독, 조정 및 실행하는 데이터베이스 관리 시스템(DBMS)의 통합 프로세스입니다.

워크플로우 자동화를 위한 트랜잭션 관리 소프트웨어는 전자 상거래, 금융, 서비스업 및 정확한 데이터베이스 관리가 필요한 모든 비즈니스를 포함하여 트랜잭션 처리와 관련된 모든 산업에서 중요한 부분입니다.

중요한 것은 트랜잭션 관리 소프트웨어는 원자성 개념에 의존하여 단일 트랜잭션을 모두 완료해야 하는 일련의 작업으로 정의하며, 그렇지 않으면 아무것도 완료되지 않은 것으로 간주합니다. 즉, 트랜잭션 관리 시스템은 데이터 일관성을 유지하기 위해 트랜잭션이 부분적으로 완료될 수 없도록 합니다. 

예를 들어, 고객이 ATM에서 돈을 인출하려고 하면 트랜잭션 관리 소프트웨어가 필요한 데이터베이스 쿼리 및 변경 사항을 처리하여 계좌 잔액을 확인하고, 요청 금액을 차감하고, 은행 기록을 업데이트하고, 출금된 현금을 지급합니다. 이러한 모든 단계는 하나의 새로운 거래로 간주되며, 트랜잭션 관리 시스템은 은행 데이터베이스의 불일치를 방지하고 정확한 원장을 보존하기 위해 전체 프로세스가 완료되었는지 확인합니다. 

트랜잭션이 진행되는 중에는 상관 관계 데이터베이스의 상태가 유동적이며 일관성이 없는 것으로 간주됩니다. 이 기간 동안 트랜잭션은 데이터베이스를 읽어 정보를 제공하거나(예: 은행 계좌 잔액 확인) 데이터베이스에 새 정보를 기록하는(예: 출금 후 계좌 잔액 업데이트) 읽기 및/또는 쓰기 작업을 수시로 수행할 수 있습니다. 트랜잭션이 완전히 완료된 후에야 데이터베이스가 새로운 일관된 상태로 돌아갈 수 있습니다. 

IBM Financial Transaction Manager

IBM Financial Transaction Manager 오퍼링이 은행과 금융 기관이 민첩성과 현대화를 추진하는 데 어떻게 도움이 되는지 알아보세요.

관련 내용

IBM 뉴스레터 구독하기

트랜잭션 상태

트랜잭션 관리 소프트웨어는 원자성의 원칙을 통해 데이터베이스의 무결성을 보호하면서 개별 일련의 작업을 단일 트랜잭션으로 처리할 수 있습니다. 

원자성은 불완전하거나 중단된 트랜잭션으로 인해 발생할 수 있는 오류를 방지합니다. ATM의 예로 돌아가서, 원자성은 실제 현금을 지급하기 전에 사용자의 은행 계좌에서 돈을 인출하는 거래를 방지합니다. 시스템 충돌과 같은 문제로 인해 ATM에서 돈을 인출할 수 없는 경우 전체 거래가 중단되며 데이터베이스나 사용자 계정은 변경되지 않습니다. 

트랜잭션이 진행 중이고 데이터베이스가 유동적인 동안 트랜잭션은 여러 순차적 트랜잭션 상태로 분할될 수 있습니다.

활성

트랜잭션이 시작되면 데이터베이스 읽기 및 쓰기 작업을 수행할 수 있는 활성 상태가 됩니다.

부분적으로 커밋됨

트랜잭션의 모든 필수 단계가 완료되면 마스터 데이터베이스가 업데이트될 때까지 트랜잭션은 부분적으로만 커밋된 것으로 간주됩니다.

커밋됨

트랜잭션이 성공적으로 완료되면 데이터베이스에 커밋되어 커밋된 상태가 됩니다. 

실패

트랜잭션이 하나 이상의 작업을 실행하지 못하거나 중단되면 실패 상태로 간주됩니다. 트랜잭션이 실패하면 롤백이 트리거되어 진행 중인 데이터베이스 변경 내용이 취소됩니다. 

종료

모든 트랜잭션의 최종 상태인 종료 상태의 트랜잭션은 시스템에서 제거되며 더 이상 데이터베이스 작업을 수행할 수 없습니다.

모든 트랜잭션은 활성 상태에서 시작되며, 문제가 없으면 부분적으로 커밋, 커밋 및 종료 상태로 진행됩니다. 트랜잭션 처리 중에 문제가 발생하면 트랜잭션은 실패 상태로 전환되고 트랜잭션 진행 중에 변경된 모든 사항이 롤백됩니다. 그런 다음 트랜잭션이 실행을 다시 시도하거나 중단할 수 있습니다. 중단 또는 커밋 여부에 관계없이 커밋된 모든 트랜잭션은 결국 종료된 상태로 전환되어 DBMS가 새 트랜잭션을 처리할 수 있는 리소스를 확보합니다. 

ACID 속성 이해

데이터베이스 관리 분야에서 원자성은 데이터베이스 무결성을 유지하기 위해 필요한 네 가지 중요한 속성 중 하나일 뿐입니다. ACID라는 약어로 지칭되는 네 가지 속성은 원자성(atomicity), 일관성(consistency), 격리성(isolation) 및 내구성(durability)입니다.

  • 원자성: 트랜잭션은 완전히 실행되거나 전혀 실행되지 않을 수 있는 단일 작업 단위로 취급되며, 중간 상태는 마스터 데이터베이스에 커밋되지 않습니다.
  • 일관성: 데이터베이스를 확인하는 모든 사용자가 정확한 최신 정보에 액세스할 수 있도록 데이터베이스는 일관된 상태를 유지해야 합니다.
  • 격리: 트랜잭션은 서로 격리된 상태에서 처리되어야 합니다. 동시 트랜잭션의 정보가 다른 트랜잭션과 관련된 경우 트랜잭션 격리 수준을 구현하여 적절한 트랜잭션 실행을 촉진할 수 있습니다. 일반적인 격리 수준에는 커밋되지 않은 읽기, 커밋된 읽기, 반복 가능한 읽기 및 직렬화 가능이 포함됩니다.
  • 내구성: 완료된 모든 트랜잭션이 DBMS에 보존되고 시스템 장애 시에도 손실되지 않는다는 의미에서 트랜잭션은 내구성이 있어야 합니다. 
트랜잭션 관리 기술

DBMS의 한 측면인 트랜잭션 관리 시스템은 자동화, 템플릿, 체크리스트 등 다양한 수준의 최적화를 제공하는 여러 데이터베이스 기술과 소프트웨어에 의존합니다. IBM, Microsoft, Oracle과 같은 공급업체는 다양한 트랜잭션 관리 솔루션을 경쟁력 있는 가격으로 제공합니다. 보다 광범위한 트랜잭션 관리 기술에는 다음이 포함됩니다.

구조적 쿼리 언어(SQL)

SQL은 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 표준 프로그래밍 언어입니다. 일반적인 SQL 명령에는 BEGIN TRANSACTION, COMMIT 및 ROLLBACK이 포함됩니다.

Java 트랜잭션 API(JTA)

JTA는 엔터프라이즈 애플리케이션을 위한 표준 애플리케이션 프로그래밍 인터페이스(API)입니다, 트랜잭션 관리 애플리케이션이 데이터베이스 및 메시징 시스템을 포함한 다른 애플리케이션 유형과 통신하면서 원자성과 일관성을 보장할 수 있도록 합니다. 

트랜잭션 관리 이점 및 사용 사례

다양한 산업 분야에서 관계형 데이터베이스와 관계형 데이터베이스가 나타내는 중요한 운영 리소스(물리적(재고) 및 임시(정보))를 효과적이고 효율적으로 관리하기 위해 트랜잭션 관리를 사용하고 있습니다.

일반적인 트랜잭션 관리 사용 사례의 간단한 목록은 다음과 같습니다.

금융

증권사 및 은행 기관을 포함한 금융 서비스는 일상적인 업무뿐만 아니라 마이크로초 단위의 비즈니스에서도 트랜잭션 관리에 의존합니다. 트랜잭션 관리가 없다면 최신 당좌 예금 계좌나 주식 거래 플랫폼과 같은 일반적인 상품도 제공될 수 없었을 것입니다. 

전자 상거래

온라인 소매 플랫폼의 경우 트랜잭션 관리를 통해 주문 처리, 결제 및 재고 관리를 용이하게 하여 전자상거래 주문을 효과적으로 처리할 수 있습니다. 

부동산

복잡한 부동산 업계에서 전문 거래 코디네이터는 트랜잭션 관리 소프트웨어를 사용하여 부동산 매매 및 임대 업무를 간소화합니다. 

고객 관계 관리(CRM)

Salesforce와 같은 CRM 시스템은 대규모 조직이 잠재 고객, 고객 상호 작용, 판매 주문 및 DBSM 및 트랜잭션 관리를 통해 액세스할 수 있는 광범위한 추가 접점을 추적하고 관리하는 데 중추적인 역할을 합니다.

트랜잭션 관리 과제

트랜잭션 관리는 많은 현대 비즈니스 운영에서 필수적인 부분입니다. 그러나 신뢰할 수 있는 트랜잭션 관리는 다음과 같은 몇 가지 중요한 문제를 완화할 수 있어야 합니다.

  • 종속성 관리: 트랜잭션 관리 시스템은 하나 이상의 개별 트랜잭션이 다른 트랜잭션에서 정보가 해제되기를 기다리는 교착 상태를 피하기 위해 트랜잭션 종속성을 관리할 수 있는 기능을 갖추고 있어야 합니다. 
  • 시스템 장애 복구: 트랜잭션 관리 시스템은 시스템 장애가 발생하는 경우 데이터베이스를 일관된 상태로 복원할 수 있을 만큼 내구성이 있어야 합니다. 
  • 실시간 처리: 주식 거래 및 가격 엔진과 같이 실시간에 의존하는 거래의 경우, 트랜잭션 처리 시스템은 대량의 거래를 짧은 지연 시간으로 효율적으로 처리할 수 있어야 합니다.
관련 솔루션
IBM Z

IBM Z는 엔터프라이즈 운영 체제 및 IBM z Systems 소프트웨어를 실행하는 최신 인프라 제품군입니다. IBM Z는 IBM의 대표적인 엔터프라이즈 컴퓨팅 플랫폼에서 기대할 수 있는 보안, 복원력, 성능, 확장성, 지속가능성을 제공합니다.

IBM Z 살펴보기

IBM IMS Transaction Manager Solution Pack for z/OS

IBM IMS Transaction Manager Solution Pack for z/OS를 사용하여 애플리케이션 리소스 변경을 개선하고, 워크로드의 관리 용이성을 개선하고, 메시지 큐를 관리하는 등의 작업을 수행할 수 있습니다. z/OS 기반 환경에서 IMS Transaction Manager를 관리하고 모니터하는 데 도움이 되도록 설계된 도구 세트를 제공합니다.

IBM IMS Transaction Manager Solution Pack for z/OS

IBM CICS Transaction Server for z/OS

CICS라고도 불리는, IBM CICS 트랜잭션 서버는 하이브리드 아키텍처에서 트랜잭션 엔터프라이즈 애플리케이션을 호스팅하는 데 사용되는 세계적 수준의 안전하고 강력하며 확장 가능한 혼합 언어 애플리케이션 서버 플랫폼입니다.

IBM CICS Transaction Server for z/OS 살펴보기
IBM 기술 컨설팅 서비스

IBM Consulting으로 비즈니스 목표를 가속화하고 달성하세요. 핵심 비즈니스 프로세스 및 플랫폼 전략에 신기술을 내장하고 운영함으로써 기술 관리를 단순화하고 비용을 절감하는 용도에 맞게 구축된 애플리케이션 현대화를 제공할 수 있도록 지원합니다.

IBM 기술 컨설팅 서비스 살펴보기

리소스 메인프레임이란 무엇인가요?

메인프레임은 매일 최대 1조 건의 웹 트랜잭션을 최고 수준의 보안과 안정성으로 처리하도록 설계된 데이터 서버입니다.

트랜잭션 처리 시스템(TPS)이란 무엇인가요?

트랜잭션 처리 시스템(TPS)은 비즈니스 거래 중에 고객 및 비즈니스 데이터의 수집과 검색을 관리하기 위해 사용되는 데이터 관리 정보 처리 소프트웨어의 일종입니다.

데이터 관리란 무엇인가요?

데이터 관리는 조직의 데이터를 수집, 처리, 보호 및 저장하는 방식으로 정의할 수 있으며, 비즈니스 결과를 개선하기 위한 전략적 의사 결정에 활용됩니다.

데이터 보안이란 무엇인가요?

데이터 보안은 전체 라이프사이클에서 디지털 정보를 무단 액세스, 손상 또는 도난으로부터 보호하는 관행입니다.

EDI(전자 데이터 교환)이란 무엇인가요?

EDI(전자 데이터 교환)는 표준 형식의 비즈니스 문서를 회사 간에 주고받는 것을 말합니다. EDI의 간단한 정의는 구매 주문서 또는 송장과 같은 종이 기반 문서를 대체하는 표준 전자 형식입니다.

전자 상거래란 무엇인가요?

이커머스 또는 전자 상거래는 인터넷을 통해 상품과 서비스를 사고 파는 프로세스입니다. 여기에는 기업, 소비자 또는 둘 다 간의 제품이나 서비스 교환이 포함됩니다.

다음 단계

효율적인 트랜잭션 관리에 의존하는 다양한 산업에 서비스를 제공하는 IBM Z는 기업이 창조, 혁신, 구축할 수 있는 강력하고 안전한 플랫폼을 제공합니다. IBM Z는 엔터프라이즈 운영 체제 및 IBM Z Systems 소프트웨어를 실행하는 최신 인프라 제품군으로, IBM에서 기대할 수 있는 보안, 복원력, 성능, 확장성 및 지속 가능성을 제공합니다. 

IBM Z 살펴보기