컴퓨터공학 11

[RDB] 관계형 데이터 베이스 스케일 아웃 (Scale-Out) Feat 샤딩(Sharding)

현재 대부분의 서비스들은 데이터 집약적인 환경을 가지고 있고 이에 따라 데이터베이스의 성능이 서비스의 중요한 요소가 됩니다. 관계형 데이터베이스는 트랜잭션의 ACID를 보장하면서 데이터의 일관성과 신뢰성을 보장하고 있지만, 이로 인한 트레이드 오프로 성능상 의 이슈가 발생합니다. 또한 조인이 포함된 복잡한 쿼리 처리로 단일 서버의 처리로는 데이터베이스 성능의 한계에 다다르는 경우가 많습니다. 해결책첫 번째 해결책으로 스케일 업을 생각할 수 있습니다. 스케일 업(수직확장)은 서버의 CPU, 메모리, 스토리지 등 하드웨어 성능을 높여 처리 성능을 강화하는 방법입니다. 단순하지만 비용이 많이 들고 무한정 스케일 업할 수 없다는 단점이 존재합니다.  두 번째 해결책은 스케일 아웃을 통한 수평 확장입니다. 관계형..

ORACLE을 기반으로하는 데이터베이스 배움터 (스스로 해보는 실습문제 1번 ~ 23번) [523P]

-- 1. 가장 오래 근무한 사원에 관한 모든 데이터를 검색하라 select * from employee where title = '사원' and hiredate = 2; -- 13. 직급이 대리인 사원이 적어도 2명 이상 속한 부서의 이름을 검색하라. select deptname from department, employee where title = '대리' and dno = deptno group by deptname having count(*) >= 2; -- 14. 모든 부서에 대해서 이름, 층, 각 부서에 근무하는 사원 수를 검색하라 사원이 없는 부서도 포함시켜라. select deptname, floor, count(dno) from department left join employee on ..

COMPANY SQL EXAMPLE (BY oracle)

-- John Smith가 일하는 project number를 검색하라 select w.pno from employee e, works_on w where e.fname='John' and e.lname='Smith' and e.ssn = w.essn; -- John Smith가 일하는 project 를 수행하는 사람들의fname, lname 를 검색하라. Hint: 중첩, IN select distinct e.fname, e.lname from employee e, works_on w where w.pno IN ( select w.pno from employee e, works_on w where e.fname='John' and e.lname='Smith' and e.ssn = w.essn) and ..

[쉽게 배우는 운영체제] 제 10장 입출력 시스템과 저장장치 연습문제 풀이 정답 (심화문제)

[연습문제] 1. 전원 이상이나 기계적인 오류 때문에 발생하는 인터럽트는 무엇인가? - 외부 인터럽트 2. 숫자를 0으로 나누거나 자신의 주소 공간을 벗어나서 작업을 하는 것과 같이 프로세스의 오류와 관련된 인터럽트는 무엇인가? - 내부 인터럽트 3. 자발적인 인터럽트로서 사용자의 의지로 발생시키는 인터럽트는 무엇인가? - 시그널 4. 인터럽트 처리 방법을 함수로 만들어 놓은 것을 무엇이라 하는가? - 인터럽트 핸들러 5. 하드디스크에서 사용하는 방식으로, 디스크가 일정 속도로 회전하며 모든 트랙의 섹터 개수가 같고 섹터의 크기가 각각 다른 방식은 무엇인가? - 각속도 일정 방식 6. CD에서 사용하는 방식으로, 어느 트랙이나 시간당 디스크 이동 거리가 같고 섹터의 크기가 일정한 방식은 무엇인가? - 선..

[쉽게 배우는 운영체제] 제 9장 가상 메모리의 연습문제 풀이 정답 (심화문제)

[연습 문제] 1. 메모리 가져오기 정책 중, 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 방식은 무엇인가? - 요구 페이징 2. 요구 페이징과 반대로 앞으로 필요할 것이라고 예상되는 페이지를 미리 가져오는 방식은 무엇인가? - 미리 가져오기 3. 페이지 테이블 엔트리의 구조 중, 페이지가 실제 메모리에 있는지 나타내는 비트는 무엇인가? - 유효 비트 4. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 사용한 적이 있는지 알려주는 비트는 무엇인가? - 접근 비트 5. 페이지 테이블의 엔트리 구조 중, 페이지가 메모리에 올라온후 데이터의 변경이 있었는지 알려주는 비트는 무엇인가? - 변경 비트 6. 프로세스가 페이지를 요청했을 때 해당 페이지가 메모리에 없는 상황을 무엇이라 하는가?..

[쉽게 배우는 운영체제] 제 8장 가상 메모리의 기초 연습문제 풀이 정답 (심화문제)

[연습문제] 1. 가상 메모리에서 메모리 관리자가 사용할 수 있는 전체 크기는 어떻게 결정되는가? - 물리메모리 + 스왑 영역 2. 가상 주소에서 하나의 프로세스가 사용할 수 있는 최대 주소는 무엇과 연관이 있는가? - CPU의 비트 3. 가상 메모리에서 가상 주소를 물리 주소로 변환하기 위해 사용하는 자료구조를 무엇이라 하는가? - 매핑 테이블 4. 페이징 기법의 주소 변환 과정 식을 쓰시오 - VA = -> PA = 5. 페이지 테이블에서 각각의 한 줄을 무엇이라 하는가? - 페이지 테이블 엔트리 6. 가상 주소를 로 변환하는 공식을 쓰시오 - P: (가상주소 / 한 페이지의 길이 )의 몫 - D: (가상주소 / 한 페이지의 길이) 의 나머지 7. 각 페이지 테이블의 시작 주소를 가지고 있는 레지스터..

[쉽게 배우는 운영체제] 제 6장 교착 상태 연습문제 풀이 정답 (심화문제)

연습 문제 1. 2개 이상의 프로세스가 서로의 작업이 끝나기만 기다리며 작업을 더 이상 진행하지 못하는 상태를 무엇이라 하는가? - 교착 상태 2. 프로세스가 어떤 자원을 사용 중이고 어떤 자원을 기다리고 있는지를 나타내는 방향성이 있는 그래프를 무엇이라 하는가? - 자원 할당 그래프 3. 네 가지 교착 상태 필요조건에 대해 설명하시오. - 상호 배제 : 한 프로세스가 사용하는 자원은 다른 프로세스와 공유할 수 없는 배타적인 자원이여야 함 - 비선점 : 한 프로세스가 사용 중인 자원은 중간에 다른 프로세스가 빼앗을 수 없는 비선점 자원이어야 함 - 점유와 대기 : 프로세스가 어떤 자원을 할당받은 상태에서 다른 자원을 기다리는 상태여야 함 - 원형 대기 : 점유와 대기를 하는 프로세스 간의 관계가 원을 이..

[쉽게 배우는 운영체제] 제 5장 프로세스 동기화 연습문제 풀이 정답 (심화문제)

연습 문제 1. 프로세스 간 통신에서 데이터를 양방향으로 전송 가능하지만 동시 전송은 불가능 하고 특정 시점에 한쪽 방향으로만 전송할 수 있는 통신 방식은 무엇인가? - 단방향 통신 2. 상태 변화를 살펴보기 위해 반복문을 무한 실행하며 기다리는 것을 무엇이라 하는가? - 바쁜 대기 3. 프로세스간 통신에서 대기가 없는 통신과 대기가 있는 통신의 예를 각각 제시하시오. - 대기가 없는 통신 : 파일, 전역변수 - 대기가 있는 통신 : 파이프, 소켓 4. 파이프를 이용하여 통신할 때 파이프를 2개 사용하는 이유는 무엇인가? - 파이프가 단방향 통신이라 한쪽 방향으로만 데이터를 전송할 수 있어 두개 필요 5. 공유 자원을 병행적으로 읽거나 쓰는 상황을 무엇이라 하는가? - 경쟁 조건 6. 공유 자원의 접근 ..

[쉽게 배우는 운영체제] 제 4장 CPU 스케줄링 연습문제 풀이 정답 (심화문제)

연습 문제 1. 시스템 내 전체 프로세스의 수를 조절하는 것으로, 장기 스케줄링 또는 작업 스케줄링이라 불리는 스케줄링 수준은 무엇인가? - 고수준 스케줄링 2. 어떤 프로세스에 CPU를 할당하고 어떤 프로세스를 대기상태로 보낼지 등을 결정하는 스케줄링 수준은 무엇인가? - 저수준 스케줄링 3. 어떤 프로세스가 CPU를 할당받아 실행 중이더라도 운영체제가 CPU를 강제로 빼앗을 수 있는 스케줄링은 무엇인가? - 선점형 스케줄링 4. 현재 입출력을 진행하는 프로세스로, 사용자와 상호작용이 가능하며 상호작용 프로세스라고도 불리는 것은 무엇인가? - 전면 프로세스 5. 준비 큐에 도착한 순서대로 CPU를 할당하는 비선점형 스케줄링 알고리즘은 무엇인가? - FCFS 스케줄링 6. 준비 큐에 있는 프로세스 중 실..

[쉽게 배우는 운영체제] 제 2장 컴퓨터의 구조와 성능 향상 연습문제 풀이 정답 (심화문제)

제 2장 컴퓨터의 구조와 성능 향상 연습문제 1. CPU의 구성에 대해 설명하시오. - Data를 연산하는 산술논리 연산장치(ALU), 작업을 지시하는 제어 장치, Data를 임시로 보관하는 레지스터로 구성 2. 폰노이만 구조의 가장 중요한 특징을 설명하시오. - 모든 프로그램은 메모리에 올라와야지 실행 가능하다. 3. 버스의 종류를 나열하시오. - 제어버스, 주소버스, DATA버스 4. 단방향 버스에 대해 설명하시오. - 자료가 한방향으로만 전달되는 버스 5. 다음에 실행할 명령어의 주소를 가지고 있는 레지스터는 무엇인가? - 프로그램 카운터 (PC) 6. (문제수정) 현재 실행중인 명령어를 보관하는 레지스터는 무엇인가? - 명령어 레지스터(IR) 7. 메모리의 주소를 보관하는 레지스터는 무엇인가? -..