왜 Lakebase인가?
| 비교 항목 | Unity Catalog 테이블 | Lakebase |
|---|---|---|
| 접근 방식 | SQL Warehouse를 통한 분석 쿼리 | 직접 PostgreSQL 연결 |
| 지연 시간 | 수백 ms~수 초 (Warehouse 오버헤드) | 수 ms~수십 ms |
| 용도 | 분석, 대시보드, 배치 처리 | CRUD, 세션 관리, 실시간 데이터 |
| 트랜잭션 | 제한적 | 완전한 ACID 트랜잭션 |
| 스키마 | Delta Lake (읽기 최적화) | PostgreSQL (쓰기/읽기 균형) |
Lakebase 리소스 설정
app.yaml:필수 패키지
Python 연결 예시
Streamlit + Lakebase 예시
주의 OAuth 토큰 로테이션: Lakebase 연결은 OAuth 역할 인증을 사용하며, 토큰은 1시간 후 만료 됩니다. 장기 실행 앱에서는 자동 토큰 갱신을 구현하거나, 연결 풀에서 주기적으로 연결을 재생성해야 합니다. 토큰이 만료되면 연결이 끊어집니다.
Lakebase 사용 시나리오
| 시나리오 | 왜 Lakebase가 적합한가 |
|---|---|
| 사용자 설정 저장 | 빠른 읽기/쓰기, 세션 간 영속성 |
| 피드백/설문 수집 | ACID 트랜잭션으로 데이터 무결성 보장 |
| 채팅 이력 저장 | 실시간 쓰기, 사용자별 격리 |
| 앱 메타데이터 | 설정, 상태, 캐시 등 앱 내부 데이터 |
| 큐/태스크 관리 | 작업 큐, 상태 추적, 워크플로우 |
참고 Lakebase vs UC 테이블 선택 기준: “앱 내부에서만 사용하는 운영 데이터”는 Lakebase, “분석이나 ML에 활용할 데이터”는 UC 테이블에 저장하세요. 물론 Lakebase의 데이터를 Delta Live Tables(DLT)로 UC 테이블에 동기화하는 것도 가능합니다.