1. 요즘 세상의 배움이란?
- 배움에는 시간과 노력이 필요하다.
- 남들과 비교하지 말고, 내가 아는 것과 모르는 것을 분명하게 하자.
- 발전이 더디더라도 꾸준히 하면 한 단계 도약해 있을 것.
2. 데이터베이스가 왜 필요한가?
- 서비스에 필요 : 사용자용 / 회사 내부용
- RDBMS : 관계형, 즉 데이터를 테이블의 집합으로 구성.
- Production : 빠른 처리 속도(MySQL, PostgreSQL)
- Data Warehouse : 대용량 데이터 처리(BigQuery, Snowflake, Redshift, MySQL) -> 서비스에서 발생하는 데이터를 가공하여 개인 추천 서비스/인사이트 도출.
3. 백엔드 시스템 구성도 예제 보기
- 2 tier : 주로 Desktop app
- 3 tier : 주로 Web service
- Web Framework(Backend) : Spring, Django ..
- DataBase(Backend) : MySQL, PostgreSQL
- Frontend : React
4. 관계형 데이터베이스 소개
- 구조화된(table) 데이터를 저장하고 질의할 수 있도록 해주는 storage
- DBMS : MySQL, PostgreSQL(RDBMS) / MongoDB
5. SQL 소개
- RDB 조작 언어
- DDL : Definition - 스키마 관리(Table 생성/변경/삭제)
- DML : Manipulation - 데이터 CRUD
- DCL : Control - 데이터 접근 권한 관리
- 빅데이터에도 중요
- 구조화된 데이터를 다루는 곳에는 모두 필요
- Data warehouse도 SQL 기반
- 단점
- 비 구조화된 데이터를 다루는데는 제약(Spark, Hadoop이 필요)
- RDB마다 SQL 문법이 다름(Oracle, MySQL, PostgreSQL..)
- Star / Denormalized schema
- Star : production 용 DB, 데이터를 논리적 단위로 구분, 필요시 Join / Storage 낭비가 덜하고 업데이트 용이

- Denormalized : NoSQL이나 Data warehouse에서 사용 / 데이터를 나눠 저장하지 않으므로 Join이 필요 없어 연산 빠름(장점) Storage 사용량 증가(단점)
느낀점
이번주는 MySQL을 복습하며 확실히 알지 못했던 부분을 챙기려한다.
배움에 대해 다시 한번 생각하게 됐고 나를 믿고 할 수 있다는 마음을 가지려 한다.