일관성(데이터베이스 시스템)
Consistency (database systems)데이터베이스 시스템의 일관성(또는 정확성)은 주어진 데이터베이스 트랜잭션이 허용된 방식으로만 영향을 받는 데이터를 변경해야 한다는 요구사항을 가리킨다. 데이터베이스에 작성된 데이터는 제약 조건, 계단식, 트리거 및 이들의 조합을 포함하여 정의된 모든 규칙에 따라 유효해야 한다. 이는 애플리케이션 프로그래머가 원했을 수 있는 모든 방법(응용프로그램 수준 코드의 책임)에서 거래의 정확성을 보장하는 것이 아니라, 단지 프로그래밍 오류로 인해 정의된 데이터베이스 제약조건을 위반할 수 없다는 것이다.[1]
ASAID 보증서로서
일관성은 AID 거래를 정의하는 네 가지 보증 중 하나이지만, 이 보증의 성격에 대해서는 상당한 모호성이 존재한다. 그것은 다음과 같이 다양하게 정의된다.
- 미래에 시작된 모든 트랜잭션이 과거에[2][3] 실행된 다른 트랜잭션의 영향을 반드시 볼 수 있다는 보장
- 특히 트랜잭션이 실행되면 데이터베이스 제약 조건을 위반하지 않는다는[4][5][6][7] 보장
- 응용 프로그램[8] 의미론과 관련하여 트랜잭션의 작업이 정확하고 정확하며 유효하게 수행된다는 보장
이러한 다양한 정의들이 상호 배타적이지 않기 때문에, 오늘날 공통적으로 사용되는 대부분의 관계형 데이터베이스 관리 시스템이 그러하듯이, 단어의 모든 의미에서 "일관성"을 보장하는 시스템을 설계하는 것이 가능하다.
CAP 트레이드오프로서
CAP 정리는 세 가지 트레이드오프를 기반으로 하는데, 그 중 하나는 '원자적 일관성'(두문자에 대한 "일관성"으로 약칭)이며, 저자들은 이에 대해 "원자적 정합성을 논하는 것은 데이터베이스 정합성은 거래를 참조하는 반면, 원자적 정합성은 단지 의 속성만을 지칭하는 것처럼, AID 데이터베이스를 논하는 것과는 다소 다르다"고 지적한다. 단일 요청/응답 작업 순서 그리고 그것은 Atomic과 Consistency의 데이터베이스 개념을 모두 잠재우기 때문에 Atomic in AID와는 다른 의미를 갖는다."[2] CAP 정리에서는 일관성, 가용성 또는 파티션 허용오차 중 두 가지 속성만 가질 수 있다. 따라서, 일관성은 일부 데이터베이스 시스템에서 교환되어야 할 수 있다.
참고 항목
참조
- ^ C. J. Date, "SQL 및 관계 이론: 정확한 SQL 코드 2차 작성 방법", O'reilly Media, Inc., 2012, 페이지 180.
- ^ a b "Brewer's Conjecture and the Feasibility of Consistent, Available, Partition-Tolerant Web Services" (PDF). Archived from the original (PDF) on 2019-06-29.
- ^ Ports, D.R.K.; Clements, A.T.; Zhang, I.; Madden, S.; Liskov, B. "Transactional Consistency and Automatic Management in an Application Data Cache" (PDF). Mit Csail.
- ^ Haerder, T; Reuter, A. (December 1983). "Principles of Transaction-Oriented Database Recovery" (PDF). Computing Surveys. 15 (4): 287–317. doi:10.1145/289.291. S2CID 207235758.
- ^ Mike Chapple. "The ACID Model". About.
- ^ "ACID properties".
- ^ Cory Janssen. "What is ACID in Databases? - Definition from Techopedia". Techopedia.com.
- ^ "ISO/IEC 10026-1:1998 - Information technology -- Open Systems Interconnection -- Distributed Transaction Processing -- Part 1: OSI TP Model".