목록데이터베이스 (11)
개발스토리
데이터베이스 보안의 목표 조직에서 허가한 사용자만 데이터베이스에 접근할 수 있도록 통제하여 보안을 유지하는 것 데이터베이스 보안 ■ 물리적 환경에 대한 보안 - 자연 재해처럼 데이터베이스에 물리적 손실을 발생시키는 위험으로부터 데이터베이스를 보호 ■ 권한 관리를 통한 보안 - 접근이 허락된 사용자만 권한 내에서 데이터베이스를 사용하도록 보호 - 계정이 발급된 사용자만 데이터베이스에 접근할 수 있도록 통제하고, 사용자 별로 사용 범위와 수행 가능한 작업 내용을 제한 ■ 운영 관리를 통한 보안 - 접근이 허락된 사용자가 권한 내에서 데이터베이스를 사용하는 동안 데이터 무결성을 유지하도록 제약 조건을 정의하고 위반하지 않도록 통제 권한 관리의 개념 ■ 접근 제어(Access Control) - 계정이 발급된 ..
트랜잭션 읽기 쓰기 시나리오 트랜잭션 동시 실행 문제 ■ 오손읽기(uncommitted dependency) - 읽기 작업을 하는 트랜잭션1이 쓰기 작업을 하는 트랜잭션2가 작업한 중간 데이터를 읽기 때문에 생기는 문제 - 작업 중인 트랜잭션2가 어떤 이유에서 작업을 철회(ROLLBACK)할 경우 트랜잭션1은 무효가 된 데이터를 읽게 되고 잘못된 결과를 도출하는 현상 ■ 반복 불가능 읽기(inconsistent analysis) - 트랜잭션1이 데이터를 읽고 트랜잭션2가 데이터를 쓰고, 트랜잭션1이 다시 한 번 데이터를 읽을 때 생기는 문제 - 트랜잭션1이 읽기 작업을 다시 한 번 반복할 경우 이전의 결과와 다른 결과가 나오는 현상 ■ 유령 데이터 읽기(phantom read) - 트랜잭션1이 데이터를 ..
병행 수행(concurrency) - 여러 사용자가 데이터베이스를 동시 공유할 수 있도록 여러 개의 트랜잭션을 동시에 수행하는 것을 의미 - 여러 트랜잭션이 차례로 번갈아 수행되는 인터리빙(interleaving) 방식으로 진행된다. 인터리빙 방식 주기억장치에 접근하는 속도를 빠르게 하는데 사용된다. 메모리 인터리빙 기법은 인접한 메모리 위치를 서로 다른 메모리 뱅크(bank)에 둠으로써 동시에 여러 곳을 접근할 수 있게 하는 것이다. ■ 병행 제어(concurrency control)또는 동시성 제어 - 병행 수행 시 같은 데이터에 접근하여 연산을 실행해도 문제가 발생하지 않고 정확한 수행 결과를 얻을 수 있도록 트랜잭션의 수행을 제어하는 것을 의미한다. 병행 수행 시 발생할 수 있는 문제점 ■ 갱신 ..
전 포스팅(회복과 병행제어1)에서 트랜잭션의 개념을 읽히고 오시면 도움이 됩니당~ 트랜잭션의 개념을 이제 알았다면 아래 그림까지 확인하시면 더 도움이 될 겁니다! ● 위 트랜잭션 수행 과정 - 박지성 계좌와 김연아 계좌의 값을 하드디스크(데이터베이스)에서 주기억장치 버퍼로 읽어온다. - 박지성 계좌에서 10,000원을 인출한 값을 저장한다. - 김연아 계좌에서 10,000원을 입금한 값을 저장한다. - 박지성 계좌와 김연아 계좌의 값을 주기억장치 버퍼에서 하드디스크(데이터베이스)에 기록한다. ● 트랜잭션의 종료(COMMIT)을 알리는 방법 방법1) 1-2-3-4-COMMIT-5-6 방법2) 1-2-3-4-5-6-COMMIT DBMS는 사용자에게 빠른 응답성을 보장하기 위해 방법1을 채택한다. 방법2의 트..