- 주제
- 다중 패러다임 기반의 데이터 설계 및 수집 시스템 구축
- 내용 구성
- 정형(RDBMS)과 비정형(NoSQL) 데이터를 아우르는 통합적 사고를 배양
- 실제 데이터를 수집·설계·적재하는 전 과정을 실습
- 데이터 핸들링의 전반적인 숙련도를 높이는 데 주력함
- 내용
- MySQL 8.0 설치 및 환경 설정, 유저 권한 관리 및 DDL/DML/DCL 등 표준 SQL 문법 학습
- MongoDB의 Schema-less 구조 이해와 NoSQL 적재 실습
- JSON/BSON 형태의 비정형 로그 데이터 저장 및 관리
- 데이터 모델링을 통한 엔티티 관계 설계, 정규화(1·2·3NF)를 통한 무결성 확보 및 성능을 위한 반정규화 전략 학습
- 데이터 수집을 위해 Python 크롤러를 기반으로 Requests, BeautifulSoup 등을 활용한 데이터 파싱 및 DB 연동 파이프라인 구축
1. 커리큘럼의 핵심 목적
1.1 데이터 모델링 및 최적화 역량 확보 (ERD 및 정규화)
- 목적:
- 복잡한 비즈니스 요구사항을 논리적/물리적 데이터 구조로 설계
- 무결성을 보장하는 정규화와 성능을 고려한 반정규화 전략 습득
- 의의:
- 효율적인 DB 설계는 시스템의 확장성과 유지보수 비용을 결정짓는 핵심 설계 자산
- 데이터 중복 및 이상 현상을 방지하는 기초 확립
1.2 다중 패러다임 데이터 핸들링 (MySQL & MongoDB)
- 목적:
- 엄격한 스키마 기반의 RDBMS(MySQL)와 유연한 스키마 기반의 NoSQL(MongoDB)을 동시에 학습
- 데이터의 성격에 맞는 최적의 저장소를 선택할 수 있는 능력 배양
- 의의:
- 현대 서비스는 정형 데이터(회원, 결제)와 비정형 데이터(로그, 소셜 데이터)를 혼용하고 있음
- 두 기술의 차이점을 명확히 이해하고 실무에 적용하는 것이 필수
1.3 데이터 파이프라인의 실무적 구현 (Python & 적재)
- 목적:
- Python 크롤러를 통해 외부 데이터를 능동적으로 수집
- 이를 실제 데이터베이스에 프로그래밍 방식으로 적재하는 전체 프로세스를 경험
- 의의:
- 단순 이론에 그치지 않고 ‘수집-가공-저장’으로 이어지는 데이터 엔지니어링의 기초 흐름을 직접 구현
- 실무 감각 극대화 추구
2. 학습 단계별 연결 고리
- 본 과정은 ‘데이터의 생애 주기’를 따라 유기적으로 연결됨
- 데이터의 획득 (Python 크롤러): 외부 세계의 데이터를 수집하며 분석의 원천 소스 마련
- 데이터의 설계 (ERD & 정규화): 수집된 데이터를 어떤 구조로 저장할지 논리적으로 설계하며 데이터 간의 관계 정의
- 정형 데이터 관리 (MySQL): 설계된 모델을 바탕으로 안정적인 RDBMS 환경을 구축하고 SQL을 통해 데이터 조작
- 비정형 데이터 관리 (MongoDB): 로그와 같이 형태가 불규칙한 데이터를 NoSQL에 적재하며 데이터 저장의 유연성 확보
3. 기대 효과
- 개발자:
- 애플리케이션 요구사항에 맞는 데이터 모델을 설계하고,
- 효율적인 쿼리 작성을 통해 시스템 성능을 최적화할 수 있는
백엔드 엔지니어로 성장
- 데이터 엔지니어:
- 정형/비정형 데이터를 아우르는 인프라를 구축하고,
- 자동화된 데이터 수집 및 적재 시스템을 설계할 수 있는
실무 파이프라인 구축 능력 확보