트랜잭션 ACID 특성

  1. Atomicity
  • All or Nothing의 개념
  • 트랜잭션 중 Exception이 발생하면 해당 트랜잭션에서 진행한 모든 내용을 rollback 시켜야 한다.
  1. Consistency
  • 트랜잭션의 작업 처리 결과가 항상 일관성있어야 한다는 내용
  • 트랜잭션 진행 중 데이터가 변경되더라도 업데이트 된 내용으로 트랜잭션이 진행되는것이 아니라, 처음 트랜잭션을 진행할 때 참조한 데이터로 트랜잭션을 진행한다.
  1. Isolation
  • 둘 이상의 트랜잭션이 동시에 수행될 때, 한 트랜잭션의 수행이 트랜잭션에 영향을 주어서는 안된다.
  1. Durability
  • 트랜잭션이 성공적으로 완료되었을 때, 그 트랜잭션의 결과는 영구적으로 반영되어야 한다.

'Backend > 기타' 카테고리의 다른 글

REST API 와 Web API  (0) 2021.04.29

REST API란?

  • REST는 Representational State Transfer의 약자이고, REST AIP는 이러한 REST 형식의 API를 의미한다.
  • REST를 만족하기위한 요구조건은 다음과 같다.
    • Client-Server : HTTP를 이용함으로써 만족함
    • Stateless : HTTP를 이용함으로써 만족함
    • Cache : HTTP를 이용함으로써 만족함
    • Uniform interface
      • Resource는 URI로 식별되어야 한다.
      • Resource를 생성, 수정, 추가 시 HTTP 메시지에 표현을 해 전송해야한다.
      • 메시지는 Self-Descriptive 해야한다. JSON 메시지가 어디에 전달되는지, 이 메시지의 구성요소가 어떤 의미를 표현해야 Self-Descriptive라 부른다.
      • 애플리케이션의 상태는 Hyperlink를 이용해 전이되어야 한다.(HATEOAS) <a>태그와 같이 웹 페이지에서 제공하고 있으나 이를 API에서 제공하기는 쉽지않다.
    • Layer system : HTTP를 이용함으로써 만족함
    • Code on Demand : HTTP를 이용함으로써 만족함
  • REST의 요구조건 중 Uniform interface를 지원하는 것이 쉽지 않아 서비스에서 제공하는 API들을 Web API(HTTP API)라고 부르기도 한다.

Web API란?

  • URI는 정보의 자원을 표현해야 한다.
    • GET /members
  • 자원에 대한 행위는 HTTP Method(GET, POST, PUT, DELETE)로 표현한다.
  • 슬래시(/)는 계층을 나타낼 때 사용한다.
    • http://jay.com/member/1/items
    • 마지막 /는 포함하지 않는다.
    • 하이픈(``)은 URI의 가독성을 높이고자 할 때 사용한다.
    • 언더스코어(_)는 사용하지 않는다.
    • URI 경로는 소문자만을 사용한다.
    • 파일 확장자는 포함하지 않는다.

'Backend > 기타' 카테고리의 다른 글

트랜잭션의 ACID  (0) 2021.04.29

+ Recent posts