CS

    RDB와 NoSQL에 대하여

    RDB(Relational Database) 란? 관계형 데이터베이스(RDB)는 테이블, 행, 열의 정보를 구조화하는 방식의 데이터베이스를 말한다. RDB에는 테이블을 조인하여 정보 간 관계 또는 링크를 설정할 수 있는 기능이 있기 때문에 여러 데이터 포인트 간의 관계를 쉽게 이해하고 정보를 얻을 수 있다. RDB의 장점 데이터 구조(스키마)가 명확하게 정의되어 있음 데이터 분류, 정렬, 탐색 속도가 빠르다 데이터의 무결성을 보장한다 정형화되어 있는 데이터에 접근할 때 효율적이다. RDB의 단점 데이터 구조(스키마)를 변경 및 수정하기 어렵다 시스템이 커질수록 JOIN이 많은 복잡한 쿼리를 사용할 가능성이 높다 수평적 확장(Scale-out)이 용이하지 않음 NoSQL 이란? NoSQL은 not only..

    데이터베이스 키(Key)의 종류

    데이터베이스에서 키(Key)란 검색이나 정렬시 각 Tuple을 구분할 수 있는 기준이 되는 속성을 말합니다. 키(Key)의 종류에는 5가지가 존재합니다. 1. 후보키 (Candidate Key) 후보키는 Tuple을 유일하게 식별하기 위해 사용하는 속성들의 부분집합을 말합니다 후보키가 되기 위해서는 다음의 두 가지 조건을 만족해야 합니다. 유일성 : 키 값이 각 Tuple을 유일하게 구분할 수 있어야 합니다. 최소성 : 유일성을 만족하는 키 속성의 조합이 최소한으로만 구성되어야 합니다 2. 기본키 (Primary Key) 기본키는 후보키 중에 선택된 주요 식별자를 말합니다. 이 값은 중복이 될 수 없고, Null 값을 가질 수 없습니다. 3. 대체키 (Alternate Key) 대체키는 후보키 중 기본키..

    컨텍스트 스위칭(Context Switching) 이란?

    컨텍스트 스위칭이란? 멀티 프로세스 환경에서 CPU가 어떤 하나의 프로세스를 실행하고 있는 상태에서 인터럽트 요청에 의해 다음 우선 순위의 프로세스가 실행되어야 할 때, 기존의 프로세스의 상태 또는 레지스터 값을 저장하고 CPU가 다음 프로세스를 수행하도록 새로운 프로세스의 상태 또는 레지스터 값을 교체하는 작업을 말한다. 예를 들어 프로세스 A가 있고, 프로세스 B가 있을 때, CPU가 실행하는 프로세스를 A에서 B로, B에서 A로 바꾸는 기술이라고 할 수 있다. 그렇다면 프로세스 A, B의 정보를 기억해야할 필요가 있는데, 이 정보를 기록하는 곳이 바로 PCB(Process Control Block) 이다. PCB (Process Control Block) 프로세스 식별자(PID) 프로세스 상태정보 ..

    프로세스 메모리 구조

    스택 영역 (Stack) 함수 실행을 위한 지역변수 등이 저장되는 영역 프로그램이 자동으로 사용하는 임시 메모리 공간이다. 지역변수 (local variable), 매개변수 (parameter), 리턴값 등 잠시 사용되었다가 사라지는 데이터를 저장하는 영역 스택 사이즈는 각 프로세스마다 할당되지만 메모리에 로드 될 때 스택 사이즈가 고정되어 있어, 런타임 시에 스택 사이즈를 바꿀 수는 없다. 메모리의 가장 높은 주소에서 낮아지는 방향으로 데이터가 저장된다. 힙 영역 (Heap) 힙 영역은 동적으로 할당된 메모리를 위한 공간 메모리 주소 값에 의해서만 참조되고 사용되는 영역이다. C의 경우 malloc(), C++, java의 경우 new() 함수를 이용할 때 힙영역에 데이터가 저장된다. 데이터 영역 (D..

    논리 회로 - 기본 논리 게이트 정리 (AND, OR, NOT, NAND, NOR, XOR, XNOR)

    AND 게이트 모든 입력이 '1' 상태일 경우에만 출력이 '1' 상태가 된다. A B Out 0 0 0 1 0 0 0 1 0 1 1 1 OR 게이트 입력 중 하나만 '1' 상태이면 출력이 '1' 상태가 된다. A B Out 0 0 0 1 0 1 0 1 1 1 1 1 NOT 게이트 입력이 '1' 상태이면 출력을 '0' 상태, 입력이 '0' 상태이면 출력을 '1' 상태가 된다. A Out 0 1 1 0 NAND 게이트 NAND는 negative-AND 의 뜻으로 입력을 AND로 출력한 결과에 NOT을 통과시킨 값이다. 따라서, 모든 입력값이 '1' 상태일 때에만 출력이 '0' 상태가 된다. A B Out 0 0 1 1 0 1 0 1 1 1 1 0 NOR 게이트 NOR는 negative-OR 의 뜻으로 입력을..

    컴퓨터의 구성요소

    컴퓨터의 주요 구성요소 컴퓨터는 CPU, Memory, IO Device의 3가지 핵심 요소들과 3가지 요소 사이를 연결해주는 System Bus로 구성된다. CPU - Central Control Unit CPU는 컴퓨터에서 기억, 해석, 연산, 제어라는 4대 주요 기능을 관할하는 장치 ALU (Arithmetic Logic Unit) Arithmetic - 산술연산 Logic - 논리연산 ALU는 이름 그대로 산술, 논리 연산을 담당하여 데이터를 처리한다. Register CPU내에서 자료를 보관하는 아주 빠른 기억장소 명령어, 데이터, 주소, 상태 등의 정보를 저장한다. Control Device IO Device, Memory, ALU 의 동작을 제어한다. Cache Memory CPU가 데이터를..

    폰 노이만 구조

    폰 노이만 구조 현대에서 사용하는 대부분의 컴퓨터는 폰 노이만 구조로 이루어져 있습니다. 그렇기 때문에 내부적으로 프로그램이 어떻게 실행되고, 컴퓨터가 동작하는지 알기 위해서는 폰노이만 구조에 대해 알고있어야 하죠. 폰 노이만 구조는 프로그램 내장 방식입니다. 이 구조가 나오기 전까지는 계산을 할 때마다 사람이 손으로 직접 진공관의 회로 스위치를 조정하여 새 입력을 처리하는 외부 프로그램방식이 주를 이루었죠. 따라서 폰 노이만 구조가 현대 컴퓨터에 얼마나 큰 기여를 했는지 짐작할 수 있을 겁니다. 폰 노이만 구조의 특징 폰 노이만 구조는 세 가지 요소로 구성되어 있습니다 중앙 처리 장치 (CPU) 메모리 프로그램 CPU와 메모리는 서로 분리되어 있고, 이 둘을 연결하는 버스를 통해 명령어 읽기, 데이터 ..