SQL의 개념SQL(Structured Query Language)의 개요데이터베이스의 표준 질의어로 데이터 구조 정의, 데이터 조작, 데이터 제어 기능을 수행(DBMS의 기능)SQL의 분류사용 용도에 따라다 DDL, DML, DCL로 구분DDL(Data Define Language, 데이터 정의어)SCHEMA, DOMAIN, TABLE, VIEW, INDEX를 정의하거나 변경, 삭제할 때 사용하는 언어데이터베이스 관리자나 데이터베이스 설계자가 사용명령어기능표기 형식CREATESCHEMA, DOMAIN, TABLE, VIEW, INDEX 정의CREATE TABLE {테이블명};ALTERTABLE에 대한 정의 변경ALERT TABLE {테이블명} ADD {속성명} {data-type};DROPSCHEMA,..
데이터베이스의 개념데이터베이스의 정의특정 조직의 기능을 수행하는 데 필요한 상호 관련 데이터들의 모임공동으로 사용될 데이터를 중복을 최소화하여 통합하고, 항상 쉽게 접근하여 처리할 수 있도록 저장장치에 저장하여 운영하는 데이터데이터베이스의 특징특징설명실시간 접근성- 데이터 조작 및 검색 실시간 응답 가능계속적인 변화- 데이터의 삽입, 삭제, 갱신으로 항상 최신의 데이터 유지 동시 공유- 여러 사용자가 동시에 데이터에 접근하여 이용내용에 의한 참조- 데이터의 주소나 위치가 아니라 데이터 내용에 의해 접근데이터베이스의 장단점장점단점- 데이터 중복 최소화- 데이터 공유- 데이터 일관성, 무결성 유지- 데이터 논리적, 물리적 독립성 유지- 데이터 저장공간 절약- 전산화 비용 증가- 데이터 유실 시 파일 회복이 ..
채널/DMA채널(Channel)CPU의 제어장치로부터 명령어를 받아 CPU 대신 독립적으로 입출력을 관리하는 것주기억장치와 입출력장치 중간에 위치, 입출력장치와 CPU의 속도차로 인한 단점을 해결채널의 종류채널설명Selector Channel(선택 채널)특정한 한개의 고속 입출력장치 제어하는 채널Multiplexer ChannelByte Multiplexer Channel(다중 채널)동시에 여러개의 저속 입출력장치를 제어하는 채널Block Multiplexer Channel동시에 여러개의 고속 입출력장치를 제어하는 채널DMA(Direct Memory Access, 직접 메모리 접근)CPU의 참여 없이 입출력장치와 메모리가 직접 데이터를 주고받는 것, 시스템의 전방적인 속도가 향상주요 구성 요소인터페이스 ..
명령어명령어의 구성명령어 = 연산자부(OP-Code: Operation Code) + 자료부(Operand)연산자부(명령코드 부, OP-Code: Operation Code) 수행해야 할 동작에 맞는 연산자를 표시(명령어 형식, 동작코드, 데이터의 종류 등)nBit일 때 최대 2n개의 명령어 사용 가능기능에는 함수 연산, 자료 전달, 제어, 입출력 기능이 존재함수 연산 기능산술 연산과 비수치적인 논리 연산 존재산술 연산: ADD, SUB, MUL, DIV, 산술 Shift 등논리 연산: NOT, AND, OR, XOR, 논리적 Shift, Rotate, Complement, Clear 등※ 피연산자 수에 따른 연산자의 분류단항 연산자: 피연산자가 1개만 필요한 연산자(NOT, Shift, Rotate, ..
자료 구성의 단위단위설명비트(Bit, Binary Digit)- 0과 1을 표시하는 2진수 1자리니블(Nibble)- 4Bit로 구성되며, 16진수 1자리 표현하기에 적합바이트(Byte)- 8Bit로 구성되며, 영문자나 숫자 한글자는 1Byte, 한글, 한자 한글자는 2Byte- 8Bit = 28 = 256가지의 정보 표현 가능- 주기억장치 자료표현의 최소 단위워드(Word)- CPU가 한 번에 처리할 수 있는 명령 단위- 반워드(Half Word): 2Byte = 16Bit- 전워드(Full Word): 4Byte = 32Bit- 더블워드(Double Word): 8Byte = 62Bit필드(Field)- 파일 구성의 최소 단위레코드(Record)- 하나 이상의 필드가 모여서 구성- 논리 레코드(Log..
불대수하나의 명제가 참 또는 거짓인지 판단하는 데 이용되는 수학적인 방법1과 0의 두 가지 상태로만 표현하여 처리하는 2진 논리회로로 구성기본적인 논리함수AND: 입력 자료가 모두 1일 때 결과는 1 (A AND B 또는 A · B 또는 AB로 표현)OR: 입력 자료 중 1개라도 1이면 결과는 1 (A OR B 또는 A+B로 표현)NOT: 입력되는 정보의 반대값 출력 (NOT A 또는 A' 또는 A로 표현)불 대수의 기본 공식기본 공식표현식멱등법칙A+A = AA⋅A = A보수법칙A+A' = 1A⋅A' = 0항등법칙A+0 = A, A+1 = 1A⋅0 = 0, A⋅1 = A교환법칙A+B = B+AA⋅B = B⋅A결합법칙A+(B+C) = (A+B)+CA⋅(B⋅C) = (A⋅B)⋅C분배법칙A⋅(B+C) = A⋅..
컴퓨처(EDPS, ADPS)의 개념입력된 자료(Data)를 처리하여 출력하는 전자 자료처리 시스템컴퓨터의 특징대용량성: 많은 양의 데이터를 처리 및 보관범용성: 컴퓨터를 여러가지 용도로 사용호환성: 컴퓨터의 기종과 상관없이 여러 컴퓨터에서 사용 가능정확성: 사용자의 요구사항 충족신뢰성: 고장없이 기능을 원활하게 수행💡외우기컴퓨터의 특징은 대·범·호·정·신컴퓨터의 구성컴퓨터 = 하드웨어 + 소프트웨어하드웨어 = 중앙처리장치(제어장치 + 연산장치 + 레지스터) + 주변장치(입출력장치 + 보조기억장치)소프트웨어 = 시스템 소프트웨어 + 응용 소프트웨어중앙처리장치(CPU)컴퓨터 시스템에 부착된 모든 장비를 제어하는 장치, 제어장치 + 연산장치 + 레지스터로 구성 제어장치(Control Unit)명령 레지스터에..
※ 예제 코드의 스펙은 아래와 같습니다.- JDK 21- Spring Boot 3.4.2- Kafka Streams 3.5.1- confluentinc/cp-kafka:latest(Docker Image, 2025-02-24 기준,sha256:e6b87a4a8ca07aadba9c04d86515a340f67cd11ca6160c9b07205f3d88dfb5f1)구현 예제프로세서(Processor) API에서 로직을 구현하기 위해서는 스트림 프로세서 역할을 하는 Processor 인터페이스를 구현해야 합니다.스트림즈(Streams)DSL의 filter() 메서드와 동일한 기능을 하는 FilterProcessor를 구현해 보겠습니다.Processor스트림 프로세서 클래스를 생성하기 위해서는 카프카 스트림즈(k..
프로세서(Processor) API란?프로세서(Processor) API는 카프카 스트림즈(Kafka Streams) 라이브러리에서 제공하는 강력한 API 중 하나로, 데이터를 스트림 처리할 때 저수준(하위 계층)에서 직접 처리할 수 있도록 해주는 API입니다. 프로세서 API는 스트림즈DSL(Streams DSL)보다 투박한 코드를 가지지만 토폴로지를 기준으로 데이터를 처리한다는 관점에서는 동일한 역할을 하지만 프로세서 API는 KStream, KTable, GlobalKTable의 개념을 사용하지 않으며, 추가적인 상세 로직의 구현이 필요하다면 프로세서 API를 활용할 수 있습니다. 프로세서 API에서는 스트림 데이터를 직접 다루기 때문에 개발자가 데이터의 흐름을 완전히 사용자 정의(커스텀) 할 수 ..
※ 예제 코드의 스펙은 아래와 같습니다.- JDK 21- Spring Boot 3.4.2- Kafka Streams 3.5.1- confluentinc/cp-kafka:latest(Docker Image, 2025-02-24 기준,sha256:e6b87a4a8ca07aadba9c04d86515a340f67cd11ca6160c9b07205f3d88dfb5f1)Stream(), to()스트림즈DSL로 구현할 수 있는 가장 간단한 프로세싱은 특정 토픽(Topic)의 데이터(Record)를 다른 토픽으로 전달하는 것입니다.특정 토픽을 KStream 형태로 가져오려면 스트림즈DSL의 stream() 메서드를 사용하고(소스 프로세서) 이렇게 가져온 데이터를 다른 토픽으로 전달하려면 to() 메서드를 사용합니다.(싱..