취업대비반 6일차(트랜잭션 / 웹서버와 WAS의 차이)

LeeJaewon·2023년 4월 3일

트랜잭션이 무엇인지 설명해 주세요.

데이터베이스의 상태를 변화시키는 하나의 논리적 기능을 수행하기 위한 작업의 단위 또는 한꺼번에 모두 수행되어야 할 연산들을 의미.데이터베이스의 상태를 변화시키기 위해 수행하는 작업 단위인 것이다. 트랜잭션은 ACID라 하는 네가지 특성을 보장해야한다.

ACID는 원자성(Atomicity), 일관성(Consistency), 격리(Isolation), 내구성(Durability)의 약자입니다. 데이터베이스 시스템에서 데이터 무결성과 안정성을 보장하는 트랜잭션의 네 가지 기본 특성입니다.

원자성: 원자성은 트랜잭션이 분리할 수 없는 단일 작업 단위로 취급됨을 의미합니다. 트랜잭션 내의 모든 작업이 실행되거나 아무 것도 실행되지 않습니다. 트랜잭션의 일부가 실패하면 전체 트랜잭션이 롤백되고 데이터베이스는 트랜잭션이 시작되기 전의 원래 상태로 돌아갑니다.

일관성: 일관성이란 트랜잭션이 데이터베이스를 하나의 유효한 상태에서 다른 유효한 상태로 변환하는 것을 의미합니다. 데이터베이스는 트랜잭션 도중과 이후에 무결성과 제약 조건을 유지해야 합니다. 트랜잭션이 데이터베이스 제약 조건을 위반하면 롤백되고 데이터베이스가 원래 상태로 돌아갑니다.

격리: 격리는 각 트랜잭션이 다른 동시 트랜잭션과 독립적으로 실행됨을 의미합니다. 각 트랜잭션은 해당 시간에 실행되는 유일한 트랜잭션인 것처럼 데이터베이스를 확인해야 합니다. 이렇게 하면 동시 트랜잭션이 서로 간섭하지 않고 데이터베이스가 일관성을 유지합니다.

내구성: 내구성이란 트랜잭션이 커밋되면 해당 트랜잭션에 의해 변경된 사항이 영구적이며 시스템 장애가 발생한 경우에도 커밋된 상태를 유지하도록 보장합니다. 데이터베이스는 커밋된 트랜잭션에 의해 변경된 사항이 하드 디스크나 플래시 메모리와 같은 내구성 있는 저장 매체에 저장되도록 해야 합니다.(비휘발성)

이와 함께 ACID 특성은 트랜잭션이 안정적이고 일관되며 장애 발생 시 복구 가능하도록 보장합니다. 데이터베이스 관리 시스템(DBMS)은 이러한 특성을 사용하여 트랜잭션 환경에서 데이터의 무결성과 신뢰성을 보장합니다.

웹 서버와 WAS의 차이는?

웹 서버와 WAS(WebSphere Application Server)는 둘 다 웹 기반 애플리케이션에 사용되는 소프트웨어 구성 요소이지만 둘 사이에는 몇 가지 중요한 차이점이 있습니다.

웹 서버는 인터넷을 통해 HTTP 요청 및 정적 웹 페이지를 제공하는 소프트웨어 프로그램입니다. 웹 브라우저와 같은 클라이언트의 요청을 처리하고 적절한 콘텐츠로 응답합니다. 웹 서버는 일반적으로 많은 수의 동시 연결을 처리하도록 설계되었으며 HTML, CSS 및 이미지와 같은 정적 콘텐츠를 제공하는 데 최적화되어 있습니다.

한편, WAS(WebSphere Application Server)는 자바 기반의 웹 애플리케이션을 위한 런타임 환경을 제공하는 애플리케이션 서버이다. 웹 서버와 애플리케이션 코드 사이에 있는 미들웨어 구성 요소로 로드 밸런싱, 장애 조치, 클러스터링 및 트랜잭션 관리와 같은 추가 기능과 서비스를 제공합니다.

WAS는 분산 컴퓨팅, 메시지 대기열 및 데이터베이스 액세스 지원과 같은 고급 기능이 필요한 엔터프라이즈급 응용 프로그램을 배포하고 실행하기 위한 플랫폼을 제공합니다. 또한 성능 모니터링, 애플리케이션 추적 및 로깅과 같은 애플리케이션 관리 및 모니터링을 위한 도구도 포함되어 있습니다.

요약하면 웹 서버는 HTTP 요청 및 정적 웹 페이지를 제공하는 반면, WebSphere Application Server는 고급 기능 및 서비스를 포함하여 Java 기반 웹 애플리케이션을 위한 런타임 환경을 제공합니다. 둘 다 웹 기반 응용 프로그램의 중요한 구성 요소이지만 서로 다른 용도로 사용되며 서로 다른 요구 사항을 충족하도록 설계되었습니다.

profile
한 걸음 한 걸음 꾸준히

0개의 댓글