※ 원티드 프리온보딩 2월 "MySQL 잘 사용하기" 학습내용 1일차 - 1 ◎ 데이터베이스란 ◎ 데이터베이스의 원칙 ◎ RDBMS(관계형 데이터베이스) ◎ NoSQL(비관계형 데이터베이스)
◎ 데이터베이스를 상황에 맞게 선택해야 하는 이유 ◎ CAP Theorem ◎ DB 선택 예시 ◎ DB 선택 방법 (내 생각)
◎ Transaction ◎ Transaction의 특징 (ACID) ◎ Transaction States ◎ ROLLBACK의 구현 방법 - Undo Log
동시성 제어 - Database Lock ◎ 동시성 제어 ◎ 동시성 제어 관련 버그 여러가지 유형 ◎ MySQL에서 지원하는 Lock의 종류
◎ Isolation Level ◎ Isolation Level 종류 ◎ Isolation Level에 따라 발생할 수 있는 문제들
◎ Query 실행 절차 ◎ Query 문 실행 순서
◎ Subquery ◎ Subquery 예시
◎ Indexing ◎ Indexing 장단점 ◎ index 자료구조 ◎ index를 효율적으로 사용하는 방법 ◎ Index 사용 Query ◎ 관련 명령어
◎ Partitioning ◎ DB Partition의 종류 ◎ DB Partitioning의 분할 기준 ◎ Partitioning vs Sharding
◎ Cache ◎ MySQL Cache의 장점 ◎ MySQL Cache의 문제점
SQL이란? ◎ DB의 필요성 ◎ SQL(Structured Query Language) ◎ 트랜젝션(transaction) ◎ 트랜젝션의 특징 ◎ SQL vs. NoSQL
SQL 기본 Query 정리 ◎ DB, Table 생성 명령어 ◎ Table 설정 & 변경 명령어 ◎ 참고 자료
SQL Query 정리 (CRUD) ◎ 데이터 추가 / 수정 / 삭제 ◎ 데이터 조회 ◎ 데이터 집계 ◎ 두 테이블 이상 연관 조회 ◎ 참고 자료
DB 정규화, 비정규화 ◎ 데이터베이스 정규화 (Database Normalization) ◎ DB 정규화의 중요 부분 ◎ 데이터 정규화 단계 ◎ 비정규화(Denormalization, 반정규화)
◎ DB에서 PK 생성 방법 ◎ Auto Increment ◎ UUID (Universally Unique IDentifier) ◎ MySQL의 관련 특징 ◎ 장단점 비교
◎ 클러스터형 인덱스 ◎ 보조 인덱스 ◎ MySQL에서 클러스터형 인덱스, 보조 인덱스 ◎ 보조 인덱스를 이용한 탐색 과정