본문 바로가기

분산시스템2

[Infra] 분산 시스템에서의 일관성(Consistency) 이야기 안녕하세요!! 최근 AWS Lambda와 DynamoDB에 대한 세션에 참여했는데, DynamoDB에 일관성 개념이 잘 이해되지 않아서 정리해 봤습니다. 뿐만 아니라 컴퓨터 시스템에서 일관성(Consistency)이 굉장히 중요한 개념이기 때문에 요리조리 알아보도록 하겠습니다. 이 글에서 얻을 수 있는 것 분산 시스템 환경, 데이터 관점에서 일관성을 지키는 방법에 대해 이해할 수 있다. CAP 이론에 대해 이해할 수 있다. ACID, BASE 트랜잭션 모델에 대해 이해할 수 있다. 3가지 일관성 모델에 대해 이해할 수 있다. 트랜잭션과 일관성 DB 트랜잭션을 공부해보신 분이라면 ACID라는 단어를 들어보신 적이 있을 것입니다. ACID의 C가 Consistency, 일관성을 의미합니다. 트랜잭션이 데이터.. 2024. 2. 18.
[Infra] UUID vs Snowflake ID : 분산 시스템에서 유일한 ID를 만들어보자 안녕하세요. 황진성입니다. 오늘은 분산 시스템에서 유일한 ID를 만드는 방법에 대해 알아보겠습니다. 다양한 방법이 있지만, Twitter(X)에서 만든 Snowflake 방식과 UUID 방식을 주로 비교해 보겠습니다. 그리고 ID 생성기를 직접 Kotlin으로 구현하고, Spring Boot, JPA와 통합해서 간단한 블로그 애플리케이션을 만들어보겠습니다. 개요 개발을 하다 보면 유일한 ID를 만들어서 데이터를 관리해야 할 일이 생기기 마련입니다. 대표적으로 관계형 데이터베이스의 테이블 내 레코드 별로 고유 식별자를 가지는 경우가 있습니다. PK로써 테이블 내 고유함을 결정하는 지표가 되며, 인덱스 생성 시에도 활용합니다. 하지만 데이터와 트래픽이 많아진다면 ID 부여 방식에 대해 한 번쯤 고민해봐야 합.. 2023. 9. 10.