
운영하는 프로젝트의 이슈를 대응 하려면 어떻게 해보는 것일까요? 누가 인입 했는지누가 어떤 이력을 남겼는지어디서 성능 저하가 발생하는 건지어떤 이유로 에러가 발생하는 건지어떻게 확인 할 수 있을 까요? 바로 로그를 까보는 것입니다.이슈 대응의 네비게이션이 바로 로그라는 것이죠 그래서 운영하면서 세팅하면 좋은 10가지를 소개해주려고 합니다. log_statement : 어떤 쿼리를 기록할 것인가log_min_duration_statement : 슬로우 쿼리 추척log_lock_waits : 락 대기 탐지log_temp_files : 디스크 임시 파일 기록log_min_messages : 로그 레벨 설정log_autovacuum_min_duration : autovacuum 추적 이것들은 PostgreSQ..

서론 사용자가 많아져 서비스가 커질수록 다수의 트랜잭션이 동시에 실행되는 상황에서 컨트롤하는 건 쉽지 않아 질 것입니다.그럼 저희는 성능과 데이터 일관성 사이에서 끊임 없는 트레이드 오프를 하게 될 것입니다. 예를 들어,커머스 도메인에 상품 재고는 1개인데 2명의 사용자가 같은 상품을 주문하려고 하면 어떻게 될까요?상식적으로 생각하면 1명은 구매 성공, 1명은 구매 실패일 것입니다.하지만 재고는 -1개에다가 2명이 모두 주문이 되는 이상한 현상이 나타날 것입니다. 이 문제를 해결하기 위해 LOCK 에 대해 알아보려고 합니다. LOCK은 무엇인가? DB에서의 락(LOCK)은 여러 사용자가 동시에 같은 데이터에 접근할 때 데이터의 일관성과 무결성을 유지하는 즉, 동시성 제어를 위해 사용하는 필수적인 기술..

트랜잭션이란? 영어로는 Transaction이라고 합니다.사전적 의미로는 거래, 매매, 처리(과정) 이라는 뜻을 가집니다.IT 분야의 개념으로는 "하나의 작업을 수행하기 위해 필요한 DB의 연산들을 모아놓은 것으로 DB에서 논리적인 작업의 단위" 라고 말합니다. RollBack트랜잭션 중 오류가 발생하면, 지금까지 진행 된 작업은 전부 취소하고 DB 데이터를 이전 상태로 되돌립니다.Commit트랜잭션 내 모든 작업이 정상적으로 완료되었음을 DB에 알리고, 변경사항을 DB에 영구 저장합니다. 예시) 쇼핑몰에서 고객이 상품을 주문하면?주문 저장결제재고 차감포인트 적립실패하면 전체 작업이 무효가 되어야 하고 주문이 성공하면 모든 작업이 DB에 저장됩니다. 트랜잭션의 4가지 속성 ACIDAtomicity..
- Total
- Today
- Yesterday
- 프론트
- 디자인패턴
- 개발자
- 트랜잭션
- 비동기
- 프로세스
- 개발환경
- 실시간 채팅
- 카카오 로그인
- 깃허브 액션
- 개발블로그
- Homebrew
- Fetch
- Spring Security
- 계단 오르기
- JavaScript
- Cors
- 코딩테스트
- DART
- jvm
- 데이터 베이스
- 템플릿
- 소셜로그인
- DBeaver
- Flutter
- aws
- spring
- java
- 네트워크
- Front
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 | 31 |