Skip to Content

데이터베이스 ACID란?

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

데이터베이스 ACID란?

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

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

원자성

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

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

일관성

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

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

격리

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

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

내구성

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

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

결론

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

다음을 추천드립니다.

03/2025
A Buyer’s Guide to Cyber Resilience
Cyber resilience from Pure Storage® is an integrated solution designed to safeguard critical data, proactively detect threats, and deliver near-instant recovery.
구매자 가이드
12 pages

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

THOUGHT LEADERSHIP
혁신을 향한 레이스

스토리지 혁신의 최전선에 있는 업계 리더들의 최신 인사이트 및 관점을 확인하세요.

더 알아보기
분석 보고서
사이버 복원력 있는 미래를 계획하세요

사이버 보안에 대한 투자를 최대한 활용하고 신속한 대응 및 복구를 보장하기 위한 협력 전략에 대해 알아보세요.

보고서 읽기
유용한 자료 모음
스토리지의 미래: AI 시대를 위한 새로운 원칙

성공을 위해서는 새로운 사고와 현대적인 접근 방식이 필요하며, AI 라는 새 도전과제가 데이터 스토리지 요구 사항을 어떻게 변화시키고 있는지 알아보세요.

eBook 다운로드
유용한 자료 모음
스토리지 구매를 중단하고 플랫폼을 도입하세요

엔터프라이즈 스토리지 플랫폼의 요구 사항, 구성 요소 및 선택 프로세스에 대해 알아보세요.

보고서 읽기
연락처
퓨어스토리지에 문의하기Info icon
Chat icon
질문하기

퓨어스토리지 제품이나 인증 관련 질문이나 코멘트가 있으신가요?   저희가 도와드립니다.

Key icon
데모 예약

라이브 데모를 예약하고 퓨어스토리지가 데이터를 어떻게 강력한 결과로 전환해주는지 직접 확인해 보세요. 

연락하기: +82 2 6001-3330

언론홍보팀:  pr@purestorage.com

 

퓨어스토리지코리아 주소

30F 아셈타워,

517 영동대로,

강남구, 서울

대한민국

korea@purestorage.com

닫기
닫기Close X icon
지원하지 않는 브라우저입니다.

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