03. 데이터 생성
데이터 생성기는 Python으로 작성되어 있습니다. Python을 설치하고, 생성기를 실행하면 학습용 데이터베이스가 만들어집니다.
Python 설치
Python 3.10 이상이 필요하며, 추천 버전은 Python 3.14입니다 (이 튜토리얼의 개발 및 테스트에 사용된 버전).
이미 설치되어 있는지 확인:
Python 3.10.x 이상이 출력되면 의존성 설치로 건너뛰세요.
Python 설치 방법
1. 다운로드
python.org/downloads에서 Download Python 3.x.x 버튼을 클릭합니다. 64비트 Windows용이 자동으로 선택됩니다.
2. 설치
가장 중요한 단계
설치 첫 화면 하단의 "Add python.exe to PATH" 체크박스를 반드시 선택하세요. 이걸 놓치면 터미널에서 python 명령이 작동하지 않습니다.
Install Now를 클릭하면 설치가 진행됩니다. 완료 화면에서 "Disable path length limit"이 나타나면 클릭하세요 (긴 경로 문제 방지).
3. 설치 확인
명령 프롬프트를 엽니다:
명령 프롬프트 여는 법
- 시작 메뉴에서
cmd검색, 또는 - Win+R →
cmd입력 → Enter
Python 3.12.x 등이 출력되면 정상입니다.
python을 찾을 수 없다면
- 설치 시 "Add to PATH"를 놓쳤을 수 있습니다. Python을 제거 후 다시 설치하면서 체크박스를 선택하세요.
- 또는
py --version을 시도하세요. Windows Python Launcher가 설치되어 있으면py명령으로도 실행 가능합니다. 이 경우 이후 명령에서python대신py를 사용하세요.
1. Homebrew 확인
없으면 먼저 설치합니다:
2. Python 설치
3. 설치 확인
python3를 사용하세요
macOS에서는 python이 아니라 python3입니다. 이후 명령에서도 python 대신 python3, pip 대신 pip3을 사용하세요.
커맨드라인 기초
이 단계부터는 터미널(또는 명령 프롬프트)에서 명령어를 입력합니다. 익숙하지 않아도 아래 명령어를 그대로 복사해서 붙여넣으면 됩니다.
| 명령어 | 의미 | 예시 |
|---|---|---|
cd 폴더명 |
해당 폴더로 이동 | cd sql-tutorial |
ls (macOS/Linux) / dir (Windows) |
현재 폴더의 파일 목록 | |
| Enter | 명령어 실행 |
붙여넣기 방법:
- Windows 명령 프롬프트: 마우스 우클릭
- macOS 터미널: Cmd+V
- Linux 터미널: Ctrl+Shift+V
의존성 설치
프로젝트 폴더로 이동한 뒤, 필요한 라이브러리를 설치합니다:
가상환경(venv)이란?
가상환경은 프로젝트별로 독립된 Python 패키지 공간을 만드는 기능입니다. 시스템 Python에 영향을 주지 않으므로 안전합니다. Permission denied 오류가 나거나, 시스템 패키지와 충돌을 피하고 싶을 때 사용합니다.
python -m venv .venv
# Windows
.venv\Scripts\activate
# macOS / Linux
source .venv/bin/activate
# 활성화된 상태에서 설치
pip install -r requirements.txt
가상환경이 활성화되면 프롬프트 앞에 (.venv)가 표시됩니다.
데이터 생성
output/ecommerce-ko.db 파일이 생성됩니다 (약 80MB, 68만 건). 약 20초 소요됩니다.
output/mysql/ 디렉토리에 schema.sql, data.sql, procedures.sql이 생성됩니다.
서버에 바로 적용하려면:
02단계에서 설정한 root 비밀번호를 입력합니다.
output/postgresql/ 디렉토리에 schema.sql, data.sql, procedures.sql이 생성됩니다.
서버에 바로 적용하려면:
02단계에서 설정한 postgres 비밀번호를 입력합니다.
macOS/Linux에서는 python3
python: command not found가 나오면 python -m src.cli.generate --size small로 실행하세요.
생성 확인
정상적으로 완료되면 다음과 같은 출력이 나타납니다:
Data generation complete: 696,771 total records (12.8s)
Exporting to SQLite...
-> ./output/ecommerce-ko.db (80.7 MB)
Export complete (11.2s)
Total elapsed time: 24.0s
output/ 폴더에 파일이 생성되었는지 확인합니다:
더 다양한 옵션이 필요하다면
데이터 규모 변경, 영어 데이터 생성, 노이즈 추가, 설정 파일 커스텀 등 고급 옵션은 생성기 고급 옵션에서 안내합니다.
MySQL / PostgreSQL 수동 적용
--apply 없이 SQL 파일만 생성한 경우, 직접 서버에 적용합니다:
문제 해결
자주 발생하는 문제들
python/pip 명령을 찾을 수 없음
- Windows:
py또는py -3을 시도하세요 - macOS/Linux:
python3,pip3을 사용하세요 - PATH 설정이 안 된 경우: Python을 재설치하면서 "Add to PATH" 체크
ModuleNotFoundError
pip install -r requirements.txt를 실행하지 않았거나, 가상환경이 비활성 상태입니다.
생성 중 메모리 부족
--size medium은 약 4GB 메모리가 필요합니다. --size small로 시작하세요.
MySQL/PG --apply 시 접속 오류
DB 서버가 실행 중인지 확인하세요: