가상머신(Virtual Machine) 하나의 하드웨어(CPU, Memory등)에 다수의 운영체제를 설치하고, 개별 컴퓨터 처럼 동작하도록 하는 프로그램 하드웨어를 소프트웨어로 에뮬레이터하여(모사) 마치 여러개 처럼 보이도록 하는 기술 가상머신을 사용하는 이유 다른 운영체제를 사용해야 하는 경우 (맥OS에서 윈도우, 윈도우에서 리눅스) 독립된 작업공간이 필요한 경우 (바이러스 회피, 백업) 가상머신 Type1 (하이퍼바이저 가상화) 하드웨어 위에 VMM을 설치 하이퍼바이저(VMM) : 가상머신을 생성하고 구동하는 소프트웨어이다. 하이퍼바이저 또는 버추얼 머신 모니터(VMM)라고 하는 소프트웨어가 Hardware에서 직접 구동 장점 : 별도의 Host OS가 없기 때문에 오버헤드가 적고, 하드웨어를 직접 ..
정규화 정규화란 이상 문제를 해결하기 위해 속성들 끼리의 종속 관계를 분석하여 여러개의 릴레이션으로 분해하는 과정이다. 일반적으로 테이블을 여러개로 분해하면 속도는 상대적으로 느려질 수 있지만, 분해하지 않으면 이상 문제들이 발생하게 된다. 이상(Anomaly)의 종류 정규화를 거치지 않아 데이터베이스내에 데이터들이 불필요하게 중복되어 릴레이션 조작 시 예기치 못하게 발생하는 곤란한 현상 예시) 학번 과목코드 이름 연락처 2101 ST01 홍길동 010-1234-1234 2101 ST02 홍길동 010-1234-1234 2001 ST01 배석재 010-2424-2424 1901 ST03 홍길동 010-3543-4234 삽입 이상(Insertion Anomaly) 릴레이션에 데이터를 삽입할 때 의도와 상관..
Elasticsearch란? 아파치 루씬 기반의 java 오픈소스 분산 검색엔진이다. 방대한 양의 데이터를 신속하고 거의 실시간으로 저장, 검색, 분석할 수 있다. 검색엔진의 시초, Lucene 더그커팅이 고안한 역색인 구조인 아파치 루씬을 기반으로 분산처리를 가능하게한 아파치 솔라가 등장해서 검색엔진 시장을 장악했고, 몇년 후에 역시 루씬을 기반으로 한 엘라스틱서치가 등장해 지금은 검색엔진 분야에서 지배적인 위치에 있다. 검색엔진? 검색시스템? 검색서비스? 검색엔진 광할한 웹에서 정보를 수집해 검색 결과를 제공하는 프로그램이다. 검색시스템 대용량 데이터를 기반으로 신뢰성있는 검색 결과를 제공하기 위해 검색엔진을 기반으로 구축된 시스템을 통칭하는 용어이다. 검색서비스 검색엔진을 기반으로 구축한 검색 시스..
페이지 교체 알고리즘 페이징 기법으로 메모리를 관리하는 운영체제에서 필요한 페이지가 메모리에 적재되지 않았을 시(page fault) 어떤 페이지 프레임을 선택하여 교체 할 것인지 결정하는 방법을 페이지 교체 알고리즘 이라고 한다. page fault : CPU가 엑세스한 페이지가 메모리에 없는 경우를 말한다. 페이지 부재 발생 시 해당 페이지를 backing store(디스크)에서 메모리로 가져와야 함 페이지 교체 알고리즘의 종류 OPT : 앞으로 가장 오랫동안 사용되지 않을 페이지 교체 FIFO : 가장 먼저 들어와서 가장 오래 있었던 페이지 교체 LRU : 가장 오랫동안 사용되지 않은 페이지 교체 LFU : 참조 횟수가 가장 작은 페이지 교체 MFU : 참조 횟수가 가장 많은 페이지 교체 NUR :..