필수 개발지식/CS10 [CS] Database에서 정규화(Normalization)란? ✅정규화(Normalization)란? 관계형 데이터베이스의 설계에서 중복을 최소화하여 데이터를 구조화 하는 프로세스 정규화의 목표 : 테이블 간에 중복된 데이터를 허용하지 않는 것, 즉 무결성을 유지하며 DB의 저장 용량을줄인다 ✅정규화(Normalization)의 절차! 정규화의 절차는 아래와 같이 순차적으로 진행되는데, 밑에 쉽게 설명을 해놓았으니 참고바람! ✅제 1 정규화(First Normal Form, 1NF) 정의: 테이블의 컬럼이 원자값(Atomic Value, 하나의 값)을 갖도록 테이블을 분해하는 것 위의 테이블에서 추신수와 박세리는 여러개의 취미를 가지고 있기 때문에 제 1 정규형을 만족하지 못한다. 그렇기 때문에 이를 아래와 같이 제 1 정규화 하여 분해할 수 있다. ✅제 2 정규화.. 2023. 7. 5. [CS] 쓰레드와 쓰레드 풀 ✅Summary 쓰레드 : 프로세스 내에서 실행되는 실행 단위 쓰레드 풀 : 쓰레드를 미리 생성해두어 작업처리에 사용되는 쓰레드를 제한된 개수만큼 정해놓고 작업 큐에 들어오는 작업들을 하나씩 쓰레드가 맡아 처리하는 기법 ex) 치킨집에서 직원이 필요할때마다 구인하는 것이 아니라 뽑아놓고 일을 분담 쓰레드 풀의 장/단점 장점: 쓰레드를 생성/수거하는데 비용이 들지 않으므로 시스템 자원을 줄일 수 있다. 단점: 쓰레드를 너무 많이 생성해 두었다가 사용하지 않으면 메모리 낭비가 발생 ex) 직원이 많으면 월급만 나가니까 ✅프로세스와 쓰레드의 차이 👉프로세스 : 상가 건물을 컴퓨터라고 한다면 치킨집은 프로세스 : ex) 상가안의 식당들은 배정된 자신의 공간과 돈이 있다. 즉 컴퓨터 안에 각 프로세스가 존재 : .. 2023. 7. 5. [CS] DB INDEXING ✅DB INDEX란? 테이블에 대한 검색의 속도를 높여주는 자료 구조 색인이고 메모리 영역의 일종의 목차를 생성하는 개념 따라서 이런 목차를 이용하여 검색 범위를 줄여 속도를 높일 수 있다 인덱스란 백과사전과 유사하며, 우리가 흔히 겪어본 Array와도 유사하다 ✅INDEX의 종류? B(Balanced)-tree Index Bitmap Index IOT Index Clustered Index 위와 같이 존재하며 주로 B-tree 구조로 사용된다고 한다. ✅INDEX를 사용하는 이유? 만약 수십만개의 데이터가 들어있는 테이블의 데이터를 조회하는데 조회 기능이 자주 사용되는 서비스라면 성능이 굉장히 떨어지게 될것이다. 왼쪽과 같이 인덱스를 따로 생성하여 해당 데이터만 빠르게 찾을 수 있게 함! ✅INDEX .. 2023. 6. 21. [CS] 프로세스 생명주기와 프로세스 메모리 ✅프로세스 생명주기 프로세스 생명주기 = 프로세스 상태변화 Process란? 프로그램이 실행되어 메인메모리로 올라오게 되면, 그 프로그램을 프로세스 라고 부른다. 프로그램이 실행되어 프로세스가 되면 컴퓨터 안에 있는 PC, SP, 레지스터 값들, Text와 Data 영역, Stack, Heap 영역 등이 할당되고 사용된다. 프로그램 상태(HDD에서)는 이러한 작업이 일어나지 않지만 프로그램이 메모리에 올라와서 프로세스가 되면 많은 작업이 일어난다. 신규 : 프로세스가 이제 막 메인 메모리에 올라온 상태, 실행 불가, admit 동작을 거친 후 준비 단계로 감 준비: 변수 초기화 등 기초준비 작업이 끝나고 실행할 수 있는 상태, dispatch되면 수행 상태가 된다. 수행: cpu가 실제로 프로세스를 수행.. 2023. 6. 17. 이전 1 2 3 다음