본문 바로가기
C.W.K.
Stream
← C.W.K. Quests
🗄️

SQLite Quest

최근 수정: 2026-08-08

파일 한 개짜리 DB에서 production 데이터 레이어까지

SQLite를 장난감이 아니라 제대로 된 embedded DB로 배우는 quest야. schema와 SQL부터 시작해서 WAL, 인덱스, Python 연동, aiosqlite로 굴리는 async 앱, full-text search, JSON, 백업, 그리고 production에서 감수해야 할 트레이드오프까지 가.

8 tracks · 80 lessons · ~24h · difficulty: beginner-to-advanced

Level 0Scout
0 XP0/80 lessons0/10 achievements
0/120 XP to next level120 XP to go0% complete
SQLite는 지구상에서 가장 많이 깔린 DB 엔진이야. 브라우저마다, 폰마다, 데스크탑 OS마다 들어 있고, 피파 자신의 데이터 레이어도 이걸로 돌아가. 이 quest는 SQLite를 장난감이 아니라 제대로 된 데이터 레이어로 가르쳐. 파일이 곧 DB라는 데서 출발해서 schema 디자인, SQL 기본기, join, transaction, WAL 모드, 인덱싱을 지나, Python sqlite3 모듈과 aiosqlite로 만드는 async 앱, FTS5 full-text search, JSON과 JSONB, window function, CTE를 거쳐, production의 백업과 corruption 방지와 마이그레이션까지 가. 다 끝나면 SQLite가 옳은 선택인 순간을 알아보고, 한계까지 밀어붙일 줄 알고, 놀랄 일 없이 ship할 수 있게 돼.

Tracks

  1. 01📖왜 SQLite인가

    0/10 lessons

    지구상에서 가장 많이 깔린 데이터베이스 — 네가 만지는 거의 모든 기기 안에 숨어 있어

    SQL 한 줄 쓰기 전에 자리부터 잡고 가자. SQLite가 뭐고 뭐가 아닌지, 어디서 이기고 어디서 지는지, 그리고 2024년 이후의 SQLite 르네상스가 진지한 제품들의 데이터 사고방식을 어떻게 바꿨는지.

    Lesson list (10)퀴즈 · 3 문제
  2. 02🧱스키마, 타입, 제약

    0/10 lessons

    압력 받아도 모양 유지하는 테이블 디자인하기

    CREATE TABLE을 제대로 쓰는 법. type affinity, STRICT 테이블, primary key, 제약, ALTER TABLE, 날짜와 boolean, AUTOINCREMENT와 rowid의 차이, 그리고 실제로 굴러가는 마이그레이션 전략까지.

    Lesson list (10)퀴즈 · 3 문제
  3. 03🔍Querying과 SQL 모양

    0/10 lessons

    SELECT, WHERE, GROUP BY, subquery, 그리고 실제로 매일 쓸 함수들

    SQL에서 읽는 쪽 절반. 걸러내고, 정렬하고, 집계하고, 묶고, subquery를 쓰고, 조건을 표현하고, 매일 손이 가는 string·date 함수까지.

    Lesson list (10)퀴즈 · 3 문제
  4. 04✏️Writes, Transactions, WAL

    0/10 lessons

    Join, FK, transaction, WAL, UPSERT — SQL의 write 절반

    INSERT 너머의 세계. Normalization, FK, 네 가지 join, transaction과 ACID, WAL 모드, UPSERT와 RETURNING.

    Lesson list (10)퀴즈 · 3 문제
  5. 05Performance + Search

    0/10 lessons

    인덱스, query plan, ANALYZE, VACUUM — 빠르게 만드는 연장통

    B-tree와 인덱스 다섯 종류(single, composite, unique, partial, expression). EXPLAIN QUERY PLAN 읽는 법. Covering index. ANALYZE와 PRAGMA optimize. VACUUM, page size, cache. 거짓말하지 않는 벤치마크 짜는 법. 그리고 FTS5 full-text search.

    Lesson list (10)퀴즈 · 3 문제
  6. 06🐍Python sqlite3

    0/10 lessons

    아무도 끝까지 안 읽는 stdlib 모듈 — cursor, parameter, transaction, row factory, pragma

    Python에 기본으로 들어 있는 sqlite3 모듈의 속. Connection lifecycle, cursor, parameterized query와 SQL injection 막는 법, executemany, implicit transaction 모델, row factory, custom 함수, pragma, 에러, thread-safety.

    Lesson list (10)퀴즈 · 3 문제
  7. 07🌊Async 앱 + Local Agent

    0/10 lessons

    aiosqlite + FastAPI — 피파가 자기 데이터 레이어와 진짜 대화하는 방식

    async가 왜 aiosqlite를 필요로 하는지, wrapper 자체는 어떻게 생겼는지, async cursor와 transaction, FastAPI lifecycle, single-connection과 pool 중 무엇을 고를지, 진짜 ConversationStore CRUD, 그리고 피파가 production에서 실제로 쓰는 아키텍처.

    Lesson list (10)퀴즈 · 3 문제
  8. 08🚀Production SQLite

    0/10 lessons

    백업, corruption 방지, 모니터링, 마이그레이션, limits — 자신 있게 ship하기

    SQLite가 진짜 유저 데이터를 만지기 전에 실제로 갖춰야 할 것들. 백업(online과 Litestream), corruption을 막고 알아채는 법, 파일 locking 함정, SQLite의 한계 수치, 테스트 전략, production 마이그레이션, 모니터링.

    Lesson list (10)퀴즈 · 3 문제
이 페이지에서 버그를 발견하셨거나 피드백이 있으세요?문제 신고

댓글 0

🔔 답글 알림 (로그인 필요)
로그인댓글을 남기려면 로그인해 주세요.

아직 댓글이 없어요. 첫 댓글을 남겨보세요.