728x90
728x90
ACID특성
트랜잭션 처리에 요구되는 4가지 성질
원시성(Automicity)
일관성(Consistency)
독립성(Isolation)
내구성(Durability)
일반적인 RDB는 ACID특성을 충족하고 있어 신뢰성 있는 트랜잭션 처리를 실현한다.
하지만 ACID특성을 만족하면서 분산시스템을 구축하는 것은 어렵다.
그래서 이러한 한계를 고려해서 다시 만들어진 것이 CAP정리.
CAP정리
일관성(Consistency)
가용성(Availabilty)
분단내성(Partition-tolerance)
일반적인 분산시스템에서는 CAP정리를 동시에 충족시킬 수 없어 어느하나가 희생될 수 있다.
NoSQL에서는 RDB처럼 반드시 신뢰성 있는 트랜잭션 처리를 수행할 수 있다고는 할 수 없다.
NoSQL데이터베이스의 일부는 CAP정리의 일관성이나 가용성 중 하나를 선택한다.
즉, 일관성을 우선하고 가용성을 포기하거나, 가용성을 우선하고 일관성을 포기하는 선택이다.
그중에서 써넣은 데이터를 바로 읽을 수 있다고는 말할 수 없다는 것이 결과일관성이다.
결과일관성
DynamoDB는 결과일관성을 보장한다.
시간이 지나면 언젠가 최신데이터를 읽을 순 있지만, 그게 언제가 될지는 알 수 없다.
S3에서도 결과일관성을 보장한다.
기존객체를 덮어쓰거나 삭제하는 경우 그 변경이 언제 반영되는지 보장되지 않아 지연이 발생할 수 있다.
728x90
반응형
'🌿 Data Engineering > Data Processing' 카테고리의 다른 글
대용량데이터 빠르게 DB에 넣기(bulk insert) (0) | 2021.08.29 |
---|---|
애자일(Agile) 방법론- 스크럼(Scrum) VS 칸반(Kanban) 데이터팀은? (0) | 2021.08.16 |
ETL ELT 차이 | 요즘엔 ETL에서 ELT로 흐름이 바뀌고 있다?@! (0) | 2021.08.16 |
🌲Parquet(파케이)란? 컬럼기반 포맷 장점/구조/파일생성 및 열기 (1) | 2021.06.26 |
JSONPath 라이브러리와JSON파싱(load/dump/loads/dumps) (0) | 2021.06.26 |
데이터웨어하우스(Data Warehouse)란? (0) | 2021.03.16 |