일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
31 |
- datanode
- BIT연산
- Spring
- ES6
- 구현
- 프로그래머스
- BFS
- Parquet
- bigdata
- wrapper class
- 백준
- hdfs
- namenode
- MySQL
- 시뮬레이션
- spark
- database
- S3
- SQL
- priorityqueue
- boto3
- JPA
- greedy
- Transaction
- Algorithm
- EventScheduler
- ACID
- 우선순위큐
- MVC
- procedure
- Today
- Total
목록ACID (3)
IT 개발일지
Consistency(일관성) Consistency in Data : 데이터베이스의 트랜잭션은 데이터베이스에서 정한 *무결성 조건을 만족해야 한다. (즉, 허용된 방식으로만 데이터만 변경해야 함) 데이터베이스에 기록된 데이터는 constraints , cascades, trigger 등 명시된 규칙에 따라야만 일관성을 유지할 수 있음 Consistency in Reads: 그리고 테이블의 한 객체가 변경된다면, 해당 객체가 등장하는 다른 모든 테이블에 반영되어야 한다. * 데이터 무결성(Integrity) : 데이터의 값이 정확한 상태 1. Consistency in Data Disk와 Data Model간의 관계가 일치하는가 1. 특징 해당 데이터 모델은 DBA에 의해 정의된다. 외래 키(FK)에 의해..
Atomicity(원자성) - 더이상 쪼개질 수 없다는 특성이라는 의미를 함축 => 트랜잭션이 여러가지 쿼리가 하나의 작업으로 묶여있기 때문에 해당 트랜잭션을 더이상 쪼갤 수 없음. - Transaction의 모든 쿼리는 성공해야 함 - 만약, 트랜잭션 도중 한 Query가 실패하면, 이전에 트랜잭션 내에서 성공적으로 실행되었던 모든 쿼리들은 ROLLBACK되어야 한다. - 만약 데이터베이스가 다운되었다면, 이전에 트랜잭션 내에서 성공적으로 실행되었던 모든 쿼리들은 ROLLBACK되어야 한다. 예시 - 해당 SQL구문은 Account A에서 Account B로 100$를 송금할 때의 상황을 가정한 것이다. * 초기 account_id balance 1 $1000 2 $500 -- MySQL 예시 STAR..

Transaction - Database에서 Transaction이란 정보의 교환이나 데이터베이스 갱신 등과 연관되는 작업에 대한 일련의 연산 - 쪼갤 수 없는 업무 처리의 최소 단위 - 하나의 쿼리가 아닌 쿼리들의 모음(Collection of Queries) 또한 Transaction이 될 수 있다. => 하나의 쿼리에서는 모든 로직의 달성이 어렵기 때문이다. 예를 들면, 계좌 송금을 하는 Transaction이 있다. 해당 Transaction은 1. 송신인의 계좌에 돈이 얼마나 있는지 조회(SELECT) 2. 송신인의 계좌에서 돈 차감(UPDATE) 3. 수신인의 계좌에서 돈 추가(UPDATE) 이렇게 3개의 쿼리가 하나의 송금 Transaction이 될 수 있다. Transaction의 Life..