반응형

2023/08 2

[가상 면접 사례로 배우는 대규모 설계 기초] 1. 사용자 수에 따른 규모 확장성

[가상 면접 사례로 배우는 대규모 설계 기초] 1. 사용자 수에 따른 규모 확장성 넌 대용량 데이터를 다루지 않으면서 왜 이책을 보는거야? 🤔 최근 면접을 진행하면서 꼭 빠지지 않은 질문이 있었다. 바로 대용량 데이터 처리 대한 질문이었다. 그럴때마다 나는 우물쭈물 어쩔줄 몰라했다…. 😇 대용량 데이터를 처리할 수 있는 환경이 아니었단 말이야! 라고 핑계를 댈 수 있다. 진짜로, 나는 지금까지 대용량 데이터를 처리할 기회(?)가 없었다. ㅎㅎㅎㅎㅎㅎㅎㅎ 그런데 훌륭한(?) 개발자라면 대용량에 대한 설계를 고려하면서 애플리케이션을 개발해야 한다고 생각한다. 컴퓨터의 존재 목적 자체가 사람이 감당할 수 없는 대량의 데이터(1,000개, 10만개… 1,000만개!!)를 처리하기 위해 등장했다고 생각하기 때문이..

[스프링 DB] MySQL의 트랜잭션 격리 수준(Transaction Isolation Level) 파헤치기

[DB] MySQL의 트랜잭션 격리 수준(Transaction Isolation Level) 파헤치기모든 내용은 InnoDB를 기준으로 설명합니다.^^ 트랜잭션 격리 수준이란? 백엔드 개발자라면 트랜잭션 격리 수준(isolation level)이란 용어를 들어본 적이 있을 것 입니다.그런데 트랜잭션 격리 수준 정확히 뭔가요? 🤔 데이터베이스에는 트랜잭션이 존재합니다.사용자가 많으면 여러 트랜잭션이 존재하게 되는데, 이러한 트랜잭션이 동시에 동일한 데이터를 읽거나 쓰려고할 때 경합하는 동시성이 발생할 수 있습니다.!!여기서, 의문점은 현재 진행 중인 트랜잭션이 진행 중인 또 다른 트랜잭션에서 발생한 변경 사항을 알 수 있을까요?!쉽게 이야기 하면, 1번 트랜잭션이 쿼리를 날려서 읽고, 읽고, 읽고, 읽는..

반응형