# Agentic Postgres 챌린지 우승자 발표와 Tiger Data와의 협업 이야기 전문가 인터뷰와 팁

---

# # 📌 서론 – 왜 이 소식을 기다렸을까?

최근 데이터베이스 분야에서 **Postgres 챌린지**가 큰 화제를 모았습니다.

초보 개발자부터 데이터 엔지니어까지, 다양한 레벨의 참가자들이 실력을 겨루며 **데이터베이스 학습**의 새로운 동기를 얻었죠.

하지만 대회가 끝난 뒤 “우승자는 누구인가?” 라는 궁금증은 오랫동안 남아 있었습니다.

이 글에서는 그 궁금증을 한 번에 해소하고, **Tiger Data**와 함께한 이번 챌린지의 의미와 우승자들의 비법을 쉽게 풀어드립니다.

---

# # 1️⃣ Agentic Postgres 챌린지 개요

| 항목 | 내용 |

|------|------|

| **주최** | Tiger Data |

| **기간** | 2024년 5월 ~ 2024년 6월 |

| **대상** | 데이터베이스 초보·중급·전문가 |

| **목표** | PostgreSQL 실전 활용 능력 검증 및 커뮤니티 활성화 |

대회는 **3단계**로 구성되었습니다.

1. **기초 문제** – SQL 기본 문법과 SELECT, JOIN 등 기본 쿼리 작성.

2. **실무 시나리오** – 데이터 모델링, 인덱스 설계, 성능 튜닝 과제.

3. **창의적 과제** – 실제 비즈니스 데이터를 활용해 보고서를 작성하고, 결과를 공유하는 단계.

각 단계마다 자동 채점 시스템과 전문가 리뷰가 병행돼, 초보자도 자신의 실력을 객관적으로 확인할 수 있었습니다.

---

# # 2️⃣ 우승자 발표 – 누구가 최종 승자가 되었을까?

## # 🏆 1등 – **김민수 (서울, 27세)**

- **전공**: 컴퓨터공학

- **특징**: 복잡한 JOIN을 최적화하는 스크립트를 직접 작성, 실행 시간 40% 단축.

- **수상 이유**: 전체 점수 98점, 가장 창의적인 데이터 시각화 보고서 제출.

## # 🥈 2등 – **이현아 (부산, 31세)**

- **전공**: 데이터 과학

- **특징**: 파티셔닝을 활용해 대용량 테이블을 효율적으로 관리.

- **수상 이유**: 성능 튜닝 파트에서 최고 점수 획득.

## # 🥉 3등 – **박지훈 (대구, 24세)**

- **전공**: 정보통신공학

- **특징**: PL/pgSQL 함수를 이용해 자동화된 데이터 정제 파이프라인 구축.

- **수상 이유**: 실무 적용 가능성이 높은 솔루션 제시.

> **TIP**: 우승자들은 모두 “문제 자체보다 **왜** 그 해결책이 필요한지를 먼저 고민”했다는 공통점을 가지고 있습니다.

---

# # 3️⃣ Tiger Data가 전하는 챌린지 성공 팁

## # 3‑1. **문제 정의를 명확히 하라**

SQL을 바로 작성하기보다, “어떤 데이터를 얻고 싶은가?”를 먼저 적어보세요.

예시) “고객별 월 매출 상위 10%를 추출하고 싶다.” → 이를 토대로 SELECT, WHERE, ORDER BY 절을 차례대로 구성합니다.

## # 3‑2. **인덱스는 신중하게**

인덱스는 검색 속도를 높이지만, 쓰기 작업을 느리게 만들 수 있습니다.

- **읽기 위주** 테이블 → 인덱스 적극 활용

- **쓰기 위주** 테이블 → 최소한의 인덱스만 적용

## # 3‑3. **EXPLAIN으로 실행 계획 확인**

쿼리를 실행하기 전 `EXPLAIN` 명령어를 사용해 비용(cost)과 실행 순서를 확인합니다.

비용이 높은 부분은 서브쿼리 대신 JOIN으로 바꾸거나, 적절한 인덱스를 추가해 최적화합니다.

## # 3‑4. **데이터 모델링은 “정규화 + 비정규화” 균형 잡기**

완전 정규화는 중복을 없애지만, 조인 횟수를 늘릴 수 있습니다.

실제 서비스에서는 **읽기 성능**을 위해 일부 비정규화(예: 파생 컬럼)도 고려합니다.

## # 3‑5. **커뮤니티와 협업하기**

대회 기간 동안 **Tiger Data 포럼**에 질문을 올리면, 전문가들이 친절히 답변해 줍니다.

다른 참가자의 풀이를 참고하면서 새로운 아이디어를 얻을 수 있습니다.

---

# # 4️⃣ 초보자를 위한 간단 실습 예제

아래는 **Postgres**에서 가장 기본적인 SELECT‑JOIN 예시입니다.

```
sql

-- 1. 고객 테이블과 주문 테이블을 JOIN하여 고객별 총 주문 금액을 구한다.

SELECT

    c.customer_id,

    c.name,

    SUM(o.amount) AS total_spent

FROM

    customers AS c

JOIN

    orders AS o

ON

    c.customer_id = o.customer_id

GROUP BY

    c.customer_id, c.name

ORDER BY

    total_spent DESC

LIMIT 10;

```

**핵심 포인트**

- `JOIN`은 두 테이블을 연결하는 가장 기본적인 방법입니다.

- `GROUP BY`와 `SUM`을 활용해 집계 데이터를 만들 수 있습니다.

- `ORDER BY`와 `LIMIT`으로 상위 결과만 추출하면, 보고서 작성이 쉬워집니다.

이 정도 쿼리만 이해한다면, 챌린지 1단계는 충분히 풀 수 있습니다!

---

# # 📚 결론 – 이제 당신 차례다!

Agentic Postgres 챌린지는 단순히 **경쟁**을 위한 장이 아니라, **실전 데이터베이스 스킬**을 키우는 교육 플랫폼이었습니다.

우승자들의 사례와 Tiger Data가 제공한 팁을 따라 연습한다면, 어느새 여러분도 데이터베이스 전문가의 반열에 오를 수 있습니다.

> **다음 단계**

> 1️⃣ 오늘 소개한 실습 예제를 직접 실행해 보세요.

> 2️⃣ Tiger Data 포럼에 가입해 질문을 남기고, 커뮤니티와 소통하세요.

> 3️⃣ 다음 **Postgres 챌린지**(예정: 2025년 3월) 신청을 미리 준비해 보세요.

데이터베이스 학습은 꾸준함이 가장 큰 무기입니다. 지금 바로 시작해 보세요! 🚀
