본문 바로가기

Java10

DB 엔진 - 병행성과 일관성, Lock 병행성과 일관성이란? 뜻 문제점 병행성 컴퓨터 과학에서 여러 계산을 동시에 수행하는 시스템의 특성으로, 잠재적으로는 서로 상호 작용이 가능하다. 병행성을 높이고 일관성을 낮추면 트랜잭션을 실행했을 때, 실행하고 있던 다른 트랙잭션(선행 트랜잭션)과 상호 작용이 가능하기 때문에 부정확한 결과를 낳을 수 있다. (Dead lock) 일관성 일관성이란 트랜잭션이 실행을 성공적으로 완료하면 언제나 일관성 있는 데이터베이스 상태로 유지하는 것을 의미한다. (Lock) 병행성을 낮추고 일관성을 높이면 트랜잭션이 실행중일 때 다른 트랜잭션은 선행중인 트랜잭션과 전혀 연관이 없는 작업을 수행하지만 table에 접근조차 할 수 없어 트랜잭션 처리에 시간이 오래걸릴 수 있다. 트랜잭션이란? - A unit of the l.. 2022. 12. 26.
DB 엔진 - 기동 순서, 복구, 백업 Oracle 기동 순서 1. shutdown - DB, Instance 모두 종료된 상태 2. nomount - system parameter file에 의해 메모리에 SGA, Background process 등 세팅한다. - DB 생성할 수 있는 단계 - Control file을 재생성할 수 있는 단계 3. mount - control file 정보에 의해 media recovery, DB 구조변경 DB 모드 변경할 수 있는 단계이다. - DB 모드는 Archive mode와 no Archive mode가 존재하는데 default로 no Archive mode로 되어있기 때문에 Archive file을 사용하려면 나중에 따로 모드를 변경해주어야 한다. ※Archive file은 복구에 필요한 중요한 .. 2022. 12. 23.
DB 엔진 - Execution server process가 파싱(Parshing)작업이 끝나면 본격적으로 쿼리문을 실행(execution)한다. 다음과 같은 Transaction 1 (Tr1)을 수행한다고 가정하고, row가 들어가있는 block id는 xxa로 가정 update y_emp set salary = salary * 1.1 where id = 10; 1. DML쿼리문(Tr1) 실행시 Table 단위로 RX Lock이 자동으로 걸림 Lock이란? 1) 트랜잭션의 순차적인 처리를 위해 사용되는 수단 (일관성을 위해 사용) 2) Lock에는 Table단위 lock과 Row 단위 lock이 존재 3) Table Lock은 아래로 내려갈수록 병행성은 낮아지고 일관성은 높아진다. ( Lock 강도가 표에서 내려갈수록 올라감) Tab.. 2022. 12. 22.
oracle SQL - 조건 표현식 (DECODE, CASE) 오라클은 조건 처리를 구현하기 위해 DECODE 함수와 CASE 표현식을 제공한다. DECOD는 오라클 전공 함수이며, CASE 표현식은 ANSI SQL이다. DECODE 함수 프로그래밍 언어에서 사용되는 if-then-else 구문과 비슷한 기능을 한다. 구문은 다음과 같다. DECODE(col|표현식, search1, result1, search2, result2,..., default); 첫 번째 인수에 해당되는 표현식을 serach 값과 비교한 후 동일하다면 result 값을 반환한다. 마지막 default는 모든 조건에 맞지 않는 데이터에 적용할 기본값을 주기 위해 사용한다. 다음 보기를 보면 이해하기 쉬울 것이다. select emp_name, position, salary, DECODE(po.. 2022. 12. 7.