728x90 CS5 [CS] 데이터베이스 트랜잭션 격리 수준과 낙관적 락, 비관적 락의 비교 트랜젝션에 대해서 아직 정확히 모르는 것 같아 정리하고자 한다. 우선 트랜젝션은 무엇일까?? 데이터베이스 트랜잭션(Database Transaction)은 데이터베이스에서 수행되는 작업의 논리적인 단위라고 한다. 이렇게 정의로만 들으면 이해가 잘 안된다. 논리적인 단위? 차라리 사전적 의미인 거래라고 생각하면 편할 것 같다.내가 다른사람한테 송금할때 내 계좌에서 돈이 빠져나가고 다른 사람 계좌에 입금이 되는 작업이 하나로 이루어져야되기에 이런 것을 트랜잭션으로 이해하면 좋은 것 같다. 그래서 이러한 트랜잭션은 4가지 특성이 있는데 아주 유명한 ACID 특성이다. Atomicity (원자성)트랜잭션의 작업들이 모두 수행되거나 전혀 수행되지 않아야 함중간에 오류가 나면 모든 작업이 취소(Rollback).. 2025. 3. 28. [CS] DB - 트랜잭션과 격리성 DB를 공부하던 중 트랜잭션을 정확히 모르겠어서 공부하고 정리하고자 한다. 우선 트랜잭션을 왜 알아야하나? 며칠 전 내가 겪었던 일인데 맥도날드 앱에서 햄버거를 결제하던 중 네트워크 문제가 발생해서 카카오페이에서 돈만 빠져나가고 햄버거가 처리 안된 경우를 겪었었다. 여기서 만약 돈만 빠져나가고 햄버거가 처리가 안된다면 엄청난 문제가 발생할 것이다. 30분정도 지나니 트랜잭션 처리(아마)로 카카오페이에 돈이 다시 입금되는 것을 볼 수 있었다. 이러한 문제를 해결하기 위해 All Or Nothing 전략을 사용한다. 이 전략은 말 그대로 전부하거나 나무것도 하지 않거나 둘 중 하나만 하는 전략이다. 만약 중간에 에러가 발생하면 Rollback으로 Nothing을 취하게 된다. 트랜잭션(Transaction).. 2024. 9. 5. [CS] 웹 페이지를 접속할 때 생기는 일 이 질문은 뭐 사실 엄청 유명한 면접 단골 질문인건 다들 알거다. 나도 대충은 알지만 정확히 모르기에 정리하고자 한다. 1. 브라우저 창에서 URL 입력주소창에 map.google.com을 입력한다.2. DNS 조회브라우저는 도메인 이름 시스템(DNS)을 통해 입력된 URL의 도메인 이름을 IP 주소로 변환합니다. DNS는 전화번호부와 같습니다. 우리가 친구들 이름은 외우기 싶지만 각각에 맞는 전화번호는 외우기 어렵기에 연결해주는 시스템입니다. 명령어 nslookup으로 IP주소를 알아낼 수 있습니다. 일단 첫번째로 변환하기 위해 아래 4가지 캐시를 찾습니다.브라우저 캐시설명: 브라우저 자체가 저장하는 DNS 캐시입니다. 사용자가 방문한 웹사이트의 DNS 정보가 저장되어 있으며, 이 정보를 통해 이전.. 2024. 8. 28. [CS] Redis 사용이유, 자료구조 살펴보기 왜 요즘 사람들이 nosql을 사용할까? 또 그중에서 Redis를 왜 많이 사용하는 걸까?라는 의문이 들었고 그 이유를 찾아보았다. Redis는 "Remote Dictionary Server"의 약자로, 고성능의 오픈 소스 인메모리 데이터 구조 저장소입니다. 주로 캐시, 메시지 브로커, 데이터베이스로 사용되며, 다양한 데이터 구조를 지원합니다. Redis는 데이터를 메모리에 저장하여 매우 빠른 응답 시간을 제공하는 것이 특징 사용이유는 아래와 같다.초고속 성능메모리 기반: Redis는 데이터를 메모리에 저장하기 때문에 매우 빠른 읽기 및 쓰기 성능을 제공합니다. 대부분의 명령은 밀리초 이하의 응답 시간을 가집니다.낮은 지연 시간: 애플리케이션의 성능을 크게 향상시킬 수 있어, 실시간 애플리케이션에서 특.. 2024. 8. 24. 이전 1 2 다음 728x90