목록전체 글 (128)
도슐랭스타
트랜잭션(transaction)DSMS에서 데이터를 다루는 논리적인 작업의 단위.트랜잭션은 전체가 수행되거나 또는 전혀 수행되지 않아야함.(all or nothing)데이터베이스에서 트랜잭션을 정의하는 이유데이터베이스에서 데이터를 다룰 때 데이터를 복구하는 작업의 단위가 됨.데이터베이스에서 여러 작업이 동시에 같은 데이터를 다룰 때 이 작업을 서로 분리하는 단위가 됨.트랜잭션의 ACID 성질원자성(Atomicity) : 트랜잭션에 포함된 작업은 전부 수행되거나 아니면 전부 수행되지 않아야 (all or nothing) 함일관성(Consistency) : 트랜잭션을 수행하기 전이나 수행한 후나 데이터베이스는 항상 일관된 상태를 유지해야 함고립성(Isolation) : 수행 중인 트랜잭션에 다른 트랜잭션이 ..
저장 프로그램(Stored Program)데이터베이스 응용 프로그램을 작성하는데 사용하는 MySQL의 SQL 전용 언어.SQL 문에 변수, 제어, 입출력 등의 프로그래밍 기능을 추가하여 SQL 만으로 처리 어려운 문제를 해결.저장 프로그램은 Workbench에서 바로 작성-> 컴파일-> 결과를 실행프로그램 로직을 '프로시저(Procedure)'로 구현.Procedure(프로시저)프로시저 정의를 위해서는 CREATE PROCEDURE 문을 사용함.#삽입 또는 수정하는 프로시저create procedure `InsertOrUpdate`( new_product varchar(100), new_brand varchar(100), new_price int)begindeclare mycount in..
병렬처리(Parallel Processing)동시에 여러 개의 명령을 처리하는 것.작업 능률이 올라감.병렬처리의 고려사항상호의존성이 없어야함. - 앞의 결과가 뒤의 명령에 영향을 미치지 않아야함.각 단계별 처리 시간이 동일 해야함.- 오랜 시간이 걸리는 작업은 전체 작업을 밀리게 함. -> 효과 떨어짐.전체 작업 시간을 몇 단계로 나눌지 잘 고민해야함.CPU에서 명령어 실행 과정IF:명령어 패치 - 다음에 실행할 명령어를 명령어 레지스터에 저장.ID:명령어 해석EX:실행 - 명령어 실행.WB:쓰기 - 실행된 결과를 메모리에 저장.
폴링(Polling)CPU가 직접 I/O 장치에서 데이터를 가져오거나 내보내는 방식.CPU가 I/O 장치의 상태를 주기적을 검사함. (방문 서비스 느낌)단점 - 반복적인 모니터링은 작업 효율을 낮아짐.인터럽트(Interupt) 방식I/O 관리자가 대신 입출력을 해줌.CPU의 작업, 저장장치의 데이터 이동을 독립적으로 함.장점 - 시스템 효율이 높아짐, CPU가 다른 일을 할 수 있음.인터럽트(Interupt)I/O 관리자가 CPU에 보내는 이벤트 신호.인터럽트 번호 - CPU가 구분을 위해 사용함.인터럽트 벡터 - 여러 개의 인터럽트를 하나의 배열로 만듦 => 한꺼번에 처리 가능.I/O 관리자의 접근법직접 메모리 접근(DMA : Direct Memory Access) - I/O 관리자가 CPU의 허락 없..
버퍼(Buffer)속도 차이가 있는 두 장치 사이에서 그 차이를 완화함.일정량의 데이터를 모아 잠시 버퍼에 옮겨두어서 속도의 차이를 완화함. (잠시 보관)스풀(Spool)CPU와 입출력장치가 독립적으로 동작하도록 고안도니 소프트웨어적인 버퍼이다.ex. 프린트 스풀러캐시(Code)메모리와 CPU 간의 속도 차이를 완화하기 위해 메모리의 데이터를 미리 가져와버퍼의 일종으로 CPU가 사용예상되는 데이터를 미리 가져다둠. 캐시 히트(Cache Hit) : 캐시에서 원하는 데이터를 찾음.캐시 미스(Cache Miss) : 원하는 데이터가 없음. -> 메모리로 가서 원하는 데이터를 찾아옴.캐시 적중률(Cache Hit Ratio) : 캐시 히트가 되는 비율.즉시쓰기(Write Through)캐시의 데이터 변경 ->..