DB

DB

파티셔닝(Partitioning) 샤딩(Sharding) 레플리케이션(Replication)

0. 시작 파티셔닝, 샤딩, 레플리케이션은 모두 대규모 데이터베이스 관리, 성능 최적화, 그리고 시스템의 안정성 및 가용성을 향상시키기 위한 전략이라고 할 수 있습니다. CS공부도 조금 해야하고, 마침 새로 시작하는 프로젝트를 MSA로 진행할 것 같아서, 한번 이 개념들에 대해서 알아볼게요 1. 파티셔닝(Partitioning) 파티셔닝이란 기본적으로 Database Table을 더 작은 Table로 나누는 것을 의미합니다. 파티셔닝은 크게 두 가지 종류로 나눌 수 있습니다. Vertical Partitioning Column을 기준으로 table을 나누는 방식입니다. Horizontal Partitioning Row를 기준으로 table을 나누는 방식입니다. 먼저, Vertical Partitionin..

DB

트랜잭션(Transaction)

1. 트랜잭션의 예시 본격적으로 트랜잭션에 대해 알아보기 전에, 흔한 예시를 통해 이해를 쉽게 하고자 합니다. 우선, A가 B에게 100만 원을 송금하는 과정에 대해서 생각해 보겠습니다.A->B로 100만 원을 전송했다는 이야기는, 결국 A는 -1000000원, B는 +1000000원이 되었다는 이야기죠?이를 SQL로 작성해 보면 아래와 같이 작성할 수 있겠네요. UPDATE account SET balance = balance - 1000000 WHERE id = 'A'; UPDATE account SET balance = balance + 1000000 WHERE id = 'B'; 여기서 중요한 것은 '송금'이라는 작업이 성공하려면, 이 두 쿼리가 '모두' 실행이 되어야 합니다. 만약, 1번째 줄의 ..

s7won
'DB' 카테고리의 글 목록