CS/DB
-
DB는 관련 직무가 아니라면 CS 중에서도 우선순위가 낮은 것 같다. 진행한 프로젝트에서 DB 사용 경험이 있다면, 그 위주로 준비하기. 톺아보기 데이터 베이스는 왜 사용할까요? ⭐️ 사용해보신 DB 종류가 어떤 게 있나요? ⭐️ 왜 해당 DB를 선택하셨나요? 다른 DB를 사용한다면? (RDB라면 NoSQL로, NoSQL 이라면 RDB로 바꾼다면?) 가장 큰 데이터를 다룬 프로젝트는 무엇인가요? 데이터 양이 많아질 때 어떻게 하면 효율적으로 관리가 가능할까요? (AI) 데이터 베이스를 모델과 어떻게 연결했고, 데이터를 이용한 재학습은 어떻게 했나요? DB 구조 & 설계 🔺 key와 관련된 기본적인 용어 🔺 실제 프로젝트에서 마주할 수 있는 상황을 예시로 주면서 N:M 관계로 데이터베이스를 설계해 보라는 ..
DB 면접 대비 질문 리스트업DB는 관련 직무가 아니라면 CS 중에서도 우선순위가 낮은 것 같다. 진행한 프로젝트에서 DB 사용 경험이 있다면, 그 위주로 준비하기. 톺아보기 데이터 베이스는 왜 사용할까요? ⭐️ 사용해보신 DB 종류가 어떤 게 있나요? ⭐️ 왜 해당 DB를 선택하셨나요? 다른 DB를 사용한다면? (RDB라면 NoSQL로, NoSQL 이라면 RDB로 바꾼다면?) 가장 큰 데이터를 다룬 프로젝트는 무엇인가요? 데이터 양이 많아질 때 어떻게 하면 효율적으로 관리가 가능할까요? (AI) 데이터 베이스를 모델과 어떻게 연결했고, 데이터를 이용한 재학습은 어떻게 했나요? DB 구조 & 설계 🔺 key와 관련된 기본적인 용어 🔺 실제 프로젝트에서 마주할 수 있는 상황을 예시로 주면서 N:M 관계로 데이터베이스를 설계해 보라는 ..
2023.05.04 -
TL;DR 인덱스란? 테이블에 대한 동작의 속도를 높여주는 자료 구조 B-Tree란? 이진 트리를 확장시켜 2개 이상의 자식을 가질 수 있게 일반화 한 자료구조 B+Tree란? B-Tree의 확장 개념으로 오직 리프 노드에만 key와 data를 저장한다. Join 인덱스 Index 인덱스는 추가적인 저장 공간을 사용해 DB의 검색 속도 향상을 위한 자료구조 인덱스는 MYI(MySQL Index)파일에 저장되며, 인덱스가 설정되지 않았다면 Table Full Scan이 일어나 대용량 데이터엔 비효율적 DBMS는 INDEX를 다양한 알고리즘으로 관리하고 있는데, 일반적으로 사용하는 알고리즘은 B+Tree 알고리즘 ✅ 인덱스는 어떻게 동작하는가? Index Table에서 where에 포함된 값을 찾음 해당 컬..
(6) 인덱스 / B-TreeTL;DR 인덱스란? 테이블에 대한 동작의 속도를 높여주는 자료 구조 B-Tree란? 이진 트리를 확장시켜 2개 이상의 자식을 가질 수 있게 일반화 한 자료구조 B+Tree란? B-Tree의 확장 개념으로 오직 리프 노드에만 key와 data를 저장한다. Join 인덱스 Index 인덱스는 추가적인 저장 공간을 사용해 DB의 검색 속도 향상을 위한 자료구조 인덱스는 MYI(MySQL Index)파일에 저장되며, 인덱스가 설정되지 않았다면 Table Full Scan이 일어나 대용량 데이터엔 비효율적 DBMS는 INDEX를 다양한 알고리즘으로 관리하고 있는데, 일반적으로 사용하는 알고리즘은 B+Tree 알고리즘 ✅ 인덱스는 어떻게 동작하는가? Index Table에서 where에 포함된 값을 찾음 해당 컬..
2023.05.03 -
TL;DR SQL vs NoSQL 비교 1. 최적의 워크로드 2. 데이터 모델 (스키마, 관계) 3. 확장성 (scale-up vs scale-out) 4. 특성 ( ACID vs CAP) 클러스터링 vs 리플리케이션 이란? DB를 수평적, 수직적으로 확장하는 두 가지 방법 DB샤딩이란? DB 트래픽을 분산할 목적으로 데이터를 분산해서 저장하는 기법 ✅ 최적의 워크로드 관계형 데이터베이스는 일관성이 뛰어난 온라인 트랜잭션 프로세싱 어플리케이션을 위해 설계되어 온라인 분석 프로세싱에 적합 데이터 중복 감소가 개발 목적 성능은 일반적으로 디스크 하위 시스템에 따라 다르다. 최고 성능을 위해서는 쿼리, 인덱스 및 테이블 구조를 자주 최적화 해야 한다. 데이터 저장 및 검색하기 위한 요청은 SQL을 준수하는 쿼..
(5) SQL vs NoSQL 비교 / 리플리케이션 & 클러스터링 & 샤딩TL;DR SQL vs NoSQL 비교 1. 최적의 워크로드 2. 데이터 모델 (스키마, 관계) 3. 확장성 (scale-up vs scale-out) 4. 특성 ( ACID vs CAP) 클러스터링 vs 리플리케이션 이란? DB를 수평적, 수직적으로 확장하는 두 가지 방법 DB샤딩이란? DB 트래픽을 분산할 목적으로 데이터를 분산해서 저장하는 기법 ✅ 최적의 워크로드 관계형 데이터베이스는 일관성이 뛰어난 온라인 트랜잭션 프로세싱 어플리케이션을 위해 설계되어 온라인 분석 프로세싱에 적합 데이터 중복 감소가 개발 목적 성능은 일반적으로 디스크 하위 시스템에 따라 다르다. 최고 성능을 위해서는 쿼리, 인덱스 및 테이블 구조를 자주 최적화 해야 한다. 데이터 저장 및 검색하기 위한 요청은 SQL을 준수하는 쿼..
2023.05.02 -
TL;DR NoSQL이란? 관계형 데이터 베이스 이외의 형식으로 데이터를 저장하는 데이터 베이스를 총칭 NoSQL의 종류 NoSQL Not Only SQL 비관계형 데이터 베이스 관계형 데이터 베이스 이외의 형식으로 데이터를 저장하는 데이터 베이스를 총칭 RDBMS의 한계를 극복하기 위해 Join이 없고, 고정된 스키마를 갖지 않는 새로운 형태의 데이터 저장소 Document, Graph, Key-Value, Column Store 등의 방식이 있다. ✅ NoSQL 특징 RDBMS와 달리 데이터 간의 관계를 정의하지 않는다. 관계형 데이터 베이스가 데이터의 관계를 Foreign Key 등으로 정의하고 이를 이용해 Join 등의 관계형 연산을 한다고 한다면, NoSQL은 데이터 간의 관계를 정의하지 않는다..
(4) NoSQL : 특징/ 종류TL;DR NoSQL이란? 관계형 데이터 베이스 이외의 형식으로 데이터를 저장하는 데이터 베이스를 총칭 NoSQL의 종류 NoSQL Not Only SQL 비관계형 데이터 베이스 관계형 데이터 베이스 이외의 형식으로 데이터를 저장하는 데이터 베이스를 총칭 RDBMS의 한계를 극복하기 위해 Join이 없고, 고정된 스키마를 갖지 않는 새로운 형태의 데이터 저장소 Document, Graph, Key-Value, Column Store 등의 방식이 있다. ✅ NoSQL 특징 RDBMS와 달리 데이터 간의 관계를 정의하지 않는다. 관계형 데이터 베이스가 데이터의 관계를 Foreign Key 등으로 정의하고 이를 이용해 Join 등의 관계형 연산을 한다고 한다면, NoSQL은 데이터 간의 관계를 정의하지 않는다..
2023.05.02 -
TL;DR 여러 사용자가 규칙없이 데이터를 입력하면 데이터 베이스는 엉망이 될 수 있다. 이를 방지하기 위한 대표적인 기법이 데이터 무결성과 제약 조건, 트랜잭션과 동시성 제어다. 무결성 제약 조건이란? 데이터가 정확하고 유효하게 유지되도록 지키는 방법 트랜잭션이란? 데이터 베이스의 상태를 변화시키기 위해 수행하는 논리적 수행 단위 Locking 이란? 동시성을 제어하기 위한 기능 교착상태란? 두 개 이상의 트랜잭션이 특정 자원의 lock을 획득한 채 다른 트랜잭션이 소유하고 있는 lock을 요구하여 실행하지 못하고 서로 무한정 기다리는 상태 무결성 제약 조건 데이터의 무결성 : 데이터에 결함이 없는 상태, 즉 데이터가 정확하고 유효하게 유지되는 상태 제약 조건 : 정해놓은 규칙에 맞는 데이터만 입력받고..
(3) 무결성 제약/ 트랜잭션/ 교착상태TL;DR 여러 사용자가 규칙없이 데이터를 입력하면 데이터 베이스는 엉망이 될 수 있다. 이를 방지하기 위한 대표적인 기법이 데이터 무결성과 제약 조건, 트랜잭션과 동시성 제어다. 무결성 제약 조건이란? 데이터가 정확하고 유효하게 유지되도록 지키는 방법 트랜잭션이란? 데이터 베이스의 상태를 변화시키기 위해 수행하는 논리적 수행 단위 Locking 이란? 동시성을 제어하기 위한 기능 교착상태란? 두 개 이상의 트랜잭션이 특정 자원의 lock을 획득한 채 다른 트랜잭션이 소유하고 있는 lock을 요구하여 실행하지 못하고 서로 무한정 기다리는 상태 무결성 제약 조건 데이터의 무결성 : 데이터에 결함이 없는 상태, 즉 데이터가 정확하고 유효하게 유지되는 상태 제약 조건 : 정해놓은 규칙에 맞는 데이터만 입력받고..
2023.05.02 -
TL;DR 테이블이란? 행(인스턴스)과 열(릴레이션 스키마)로 이루어진 데이터 집합 뷰란? 데이터 베이스에 존재하는 일종의 가상 테이블 키 Key란? 검색, 정렬 시 튜블을 구별하는 기준이 되는 속성 정규화란? 데이터 중복 저장과 이상현상 문제를 해결하기 위해 데이터를 구조화하는 작업 Join이란? 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것 ✅ 테이블 구조 스키마 : 데이터 구조와 구성을 설명 테이블 : 행(인스턴스)과 열(릴레이션 스키마)로 이루어진 데이터 집합 행 : 한 객체에 대한 정보, 튜플 이나 레코드라고 불림 열 : 개체의 특성, 속성이라고 불림. 도메인 : 속성 하나가 취할 수 있는 같은 타입의 원자값들의 집합 ✅ 뷰 View 데이터 베이스에 존재하는 일종의 가상 테이블 실제 테..
(2) RDBMS - 테이블 구조/ 키/ 정규형/ JoinTL;DR 테이블이란? 행(인스턴스)과 열(릴레이션 스키마)로 이루어진 데이터 집합 뷰란? 데이터 베이스에 존재하는 일종의 가상 테이블 키 Key란? 검색, 정렬 시 튜블을 구별하는 기준이 되는 속성 정규화란? 데이터 중복 저장과 이상현상 문제를 해결하기 위해 데이터를 구조화하는 작업 Join이란? 여러 테이블의 레코드를 조합하여 하나의 열로 표현한 것 ✅ 테이블 구조 스키마 : 데이터 구조와 구성을 설명 테이블 : 행(인스턴스)과 열(릴레이션 스키마)로 이루어진 데이터 집합 행 : 한 객체에 대한 정보, 튜플 이나 레코드라고 불림 열 : 개체의 특성, 속성이라고 불림. 도메인 : 속성 하나가 취할 수 있는 같은 타입의 원자값들의 집합 ✅ 뷰 View 데이터 베이스에 존재하는 일종의 가상 테이블 실제 테..
2023.05.02