Skip to Content

데이터베이스 ACID란?

ACID는 데이터베이스의 네 가지 주요 속성인 원자성, 일관성, 격리 및 내구성의 약어입니다. 관계형 데이터베이스와 종종 연관되지만, NoSQL(비관계형) 데이터베이스도 ACID 규칙을 따를 수 있습니다. ACID 트랜잭션은 시중에 나와 있는 많은 인기 데이터베이스 엔진에서 흔히 발생하며, 읽기 및 쓰기 작업이 데이터의 무결성을 방해하지 않도록 합니다.

데이터베이스 ACID란?

ACID 모범 사례를 따르는 데이터베이스의 특징은 다음과 같습니다.

  • 원자성: 데이터 손실, 고아 기록 및 원자력으로 인한 부분적인 트랜잭션을 방지하세요. 원자력이 있는 데이터베이스는 트랜잭션의 일부가 중간에 실패하는 경우 데이터를 잃지 않도록 “전체 또는 아무것도” 트랜잭션을 제공합니다.
  • 일관성: ACID 데이터베이스의 테이블 제약은 모든 트랜잭션이 일관된 형식으로 데이터를 저장하도록 요구합니다.
  • 격리: ACID 데이터베이스는 데이터를 분리하고 트랜잭션을 하나씩 수행하여 트랜잭션이 더러운 읽기 또는 쓰기를 반환하지 않도록 합니다.
  • 내구성: 시스템 장애(예: 정전)는 트랜잭션을 방해할 수 있으므로, ACID 데이터베이스는 페일오버가 중요한 이벤트로 인한 데이터 손실을 방지하도록 합니다.

원자성

현대적인 데이터베이스 트랜잭션은 기록을 완성하는 데 한 단계 이상의 단계가 있습니다. 예를 들어, 고객이 주문을 생성할 수 있으므로, 저장된 절차는 INSERT 문을 사용하여 주문 및 제품_주문 테이블에 레코드를 추가합니다. 주문 테이블에 레코드를 추가하는 데 실패하면 product_ordered 테이블에 레코드를 추가하지 않습니다. 이렇게 하면 고아 기록을 생성할 수 있습니다.

데이터베이스는 원자력으로 모든 트랜잭션이 실패할 때 롤백하여 데이터를 일관되게 유지하고 손상을 방지합니다. 트랜잭션의 모든 단계가 성공적으로 완료된 경우에만 데이터가 저장됩니다. 원자력은 데이터 손상, 데이터 손실 및 고아 기록을 방지합니다.

일관성

관계형 데이터베이스는 특정 유형의 데이터만 저장할 수 있는 제약이 있습니다. NoSQL 데이터베이스는 자체 설정 형식으로 데이터를 저장합니다. 예를 들어, 십진수만 순서 합계 열에 저장할 수 있도록 지정하면 문자열을 저장하지 못하게 됩니다. 데이터를 일관되게 유지하면 개발자가 데이터 세트로 작업할 때 알려진 가치를 얻을 수 있습니다.

데이터베이스의 일관성은 데이터를 예측할 수 있다는 것을 의미하며, 이는 특정 기록에 대한 데이터를 가져오는지 여부를 알면 예상 결과를 얻을 수 있음을 의미합니다. 주문 테이블 예제를 사용하면 주문 합계 열에서 값을 검색하는 쿼리에 대해 십진수 값을 받게 됩니다.

격리

더러운 읽기 및 더러운 쓰기는 데이터베이스가 값을 변경하는 특정 시점에 사용자가 쿼리를 실행할 때 발생합니다. 예를 들어, 해당 월의 모든 주문에 대한 합계를 알고 싶다면, 주문 합계가 업데이트될 때 데이터를 읽으면 잘못된 결과를 얻을 수 있습니다. 이전 업데이트문이 실행되기 전에 데이터를 읽는 경우 쓰기 동작에서도 마찬가지입니다. 

더러운 읽기 및 쓰기는 데이터를 손상시키고 데이터 무결성을 파괴할 수 있습니다. 고립된 트랜잭션은 명세서를 하나씩 실행하므로, 데이터는 수백만 건의 일일 트랜잭션에서도 일관성과 중단 없이 유지됩니다. 격리된 트랜잭션은 레코드를 잠그고, 변경한 다음 다음 다음 트랜잭션을 위해 레코드를 해제할 수 있습니다.

내구성

정형 및 비정형 데이터베이스는 시스템 장애가 발생하더라도 트랜잭션이 완료된 후 데이터를 일관되고 영구적으로 저장해야 합니다. 트랜잭션 로그와 인프라 장애도 구현해야 하지만, 데이터베이스 자체는 데이터 손상 없이 데이터를 일관되게 저장할 수 있어야 합니다. 데이터베이스 엔진에는 자체 전략과 페일오버 기술이 있지만, 관리자는 데이터를 복구하기 위해 이를 신뢰할 수 있어야 합니다.

예를 들어, 정전으로 인해 트랜잭션이 중단될 수 있습니다. 관리자가 트랜잭션을 롤백하거나 데이터를 복구해야 할 때 데이터베이스는 오류를 처리할 수 있어야 합니다. 대부분의 관리자들의 경우, 페일오버는 백업 및 중복으로 처리됩니다. ACID는 조직의 대규모 재해 복구 전략에 도움을 줄 수 있습니다. 

결론

미션 크리티컬 데이터베이스는 엔터프라이즈 애플리케이션을 지원하기 위해 ACID 속성이 필요합니다. ACID 속성은 데이터 무결성을 위해 필수적이며, 원하는 수의 애플리케이션에서 데이터를 검색하고 사용할 수 있도록 보장합니다. 관리자는 여전히 백업을 수행하고 데이터베이스 서버가 원활하게 실행되도록 해야 하지만, 비즈니스 연속성을 위해서는 ACID 속성을 갖는 것이 중요합니다.

다음을 추천드립니다.

06/2025
Simplified VMware Resilience with Pure Protect //DRaaS
Eager to bring cyber resilience to your VMware deployments? Here’s how you can simplify VMware disaster recovery with Pure Protect//DRaaS.
솔루션 브리프
2 pages

주요 자료 및 이벤트를 확인하세요

퓨어//액셀러레이트 2025(PURE//ACCELERATE® 2025)
퓨어 액셀러레이트(Pure//Accelerate) 등록하기.

인사이트를 얻고, 혁신가들로부터 배우며, 데이터 성공을 위한 기술을 향상시키세요.

최신 소식 보기
퓨어//액셀러레이트 로드쇼(PURE//ACCELERATE ROADSHOWS)
곧 여러분의 도시로 찾아갑니다. 지금 확인하세요.

세계에서 가장 앞선 데이터 스토리지 플랫폼과 엔터프라이즈 데이터 클라우드가 여러분에게 무엇을 제공하는지 직접 경험해보세요.

지금 등록하기
동영상
동영상 시청: 엔터프라이즈 데이터 클라우드의 가치

찰스 쟌칼로(Charles Giancarlo) CEO가 전하는 스토리지가 아닌 데이터 관리가 미래인 이유 통합 접근 방식이 기업 IT 운영을 어떻게 혁신하는지 알아보세요

지금 시청하기
유용한 자료
레거시 스토리지는 미래를 지원할 수 없습니다.

현대적 워크로드에는 AI 지원 속도, 보안, 확장성이 필수입니다. 귀사의 IT 스택, 준비됐나요?

지금 확인하기
지원하지 않는 브라우저입니다.

오래된 브라우저는 보안상 위험을 초래할 수 있습니다. 최상의 경험을 위해서는 다음과 같은 최신 브라우저로 업데이트하세요.