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

트랜잭션이란? 영어로는 Transaction이라고 합니다.사전적 의미로는 거래, 매매, 처리(과정) 이라는 뜻을 가집니다.IT 분야의 개념으로는 "하나의 작업을 수행하기 위해 필요한 DB의 연산들을 모아놓은 것으로 DB에서 논리적인 작업의 단위" 라고 말합니다. RollBack트랜잭션 중 오류가 발생하면, 지금까지 진행 된 작업은 전부 취소하고 DB 데이터를 이전 상태로 되돌립니다.Commit트랜잭션 내 모든 작업이 정상적으로 완료되었음을 DB에 알리고, 변경사항을 DB에 영구 저장합니다. 예시) 쇼핑몰에서 고객이 상품을 주문하면?주문 저장결제재고 차감포인트 적립실패하면 전체 작업이 무효가 되어야 하고 주문이 성공하면 모든 작업이 DB에 저장됩니다. 트랜잭션의 4가지 속성 ACIDAtomicity..

DML 이란? Data Manipulation Language의 약어이며 데이터 조작어라고 불립니다. 그래서 DML은 데이터를 조작하기 위한 용도입니다. SELECT 표현법 칼럼 값은 소문자로 작성하고 나머지는 대문자로 작성하는 것이 관례입니다. -- [사용법] SELECT 컬럼 명[, 컬럼명...] FROM 테이블 명 WHERE 조건식; -- 작동 순서 : FROM → WHERE → SELECT 칼럼 값만 소문자(Java 연동할 때 데이터 넘겨주기 편하니까), 나머지는 대문자가 관례 DISTINCT 조회하고자 하는 칼럼에 중복된 값을 제외하고 딱 한번만 조회하고자 할 때 사용한다. 해당 칼럼명 앞에 기술하면 된다. 단, SELECT 절에 DISTINCT 구문은 단 한 개만 가능하다. -- [표현법] D..

이미 하기전에 준비물 가입을 위한 이메일 주소 비자(VISA), 마스터(MASTER) 또는 아멕스(AMEX) 신용카드(신용카드 또는 체크카드, 선불카드 불가) 가급적 VISA 카드나 카카오뱅크 실물카드를 추천합니다. 1. 서비스로 이동 먼저 여기에 접속하여 무료로 시작하기를 눌러 회원 가입을 해줍니다. https://www.oracle.com/kr/cloud/free/ 클라우드 서비스 무료 이용 Oracle Cloud Free Tier는 기업에게 무제한으로 사용할 수 있는 상시 무료 클라우드 서비스를 제공합니다. www.oracle.com 2. 회원가입 창 Tip) 가급적 영어로 작성해주세요!! 3. 메일 도착 전자메일에 적은 이메일 주소에서 메일을 확인하면 한통의 메일이 와있을 겁니다 확인해주세요!! ..

DDL 이란? Data Definition Language의 약자이다. 데이터 정의 언어로 객체(OBJECT)를 만들고(CREATE), 수정하고(ALTER), 삭제(DROP)하는 구문을 말한다. CREATE (DDL) -- [표현법] CREATE TABLE 테이블 명 ( 칼럼명 자료형, 칼럼명 자료형, 칼럼명 자료형, ... ); 칼럼에 COMMENT 달기 [표현법] COMMENT ON COLUMN 테이블명.칼럼명 IS '주석내용'; EX) COMMENT ON COLUMN MEMBER.MEMBER_ID IS '회원아이디'; COMMENT ON COLUMN MEMBER.MEMBER_PWD IS '회원비밀번호'; 제약조건 데이터 무결성 보장을 목적으로 유효한 데이터 값을 유지하기 위해 제약조건을 걸어줘야한다..
- Total
- Today
- Yesterday
- 오라클
- Fetch
- Front
- Spring Security
- 디자인패턴
- 개발자
- 자바스크립트
- 트랜잭션
- 비동기
- 코딩테스트
- 프로세스
- Cors
- 인증
- 템플릿
- aws
- 개발
- 계단 오르기
- 개발환경
- 데이터 베이스
- java
- spring
- JavaScript
- 프론트
- 네트워크
- jvm
- AJAX
- DBeaver
- 깃허브 액션
- 실시간 채팅
- 개발블로그
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |