SqlGo🌱 - Save CO2 by optimizing queries and removing redundant storage

개요

SqlGo는 Snowflake 계정에 연결하여 쿼리 실행 기록을 분석하고, Gemini API를 활용하여 쿼리 최적화 제안을 제공함으로써 CO2 배출량과 데이터센터 유지보수에 필요한 물 사용량을 줄이는 SQL 감사 도구입니다. 또한, 사용되지 않는 "좀비" 테이블을 탐지하여 불필요한 저장 공간을 제거합니다.

주요 내용

  • 지속 가능한 데이터 관리: Snowflake의 쿼리 실행 기록과 스키마 데이터를 분석하여 CO2 배출량 감소 및 저장 공간 최적화를 목표로 합니다.
  • AI 기반 쿼리 최적화: Google Gemini API를 통합하여 비효율적인 SQL 쿼리를 분석하고, 더 효율적이고 "친환경적인" 쿼리로 재작성할 수 있도록 전문가 수준의 제안을 제공합니다.
  • "좀비" 테이블 탐지: 30일 이상 변경되지 않아 사용되지 않는 것으로 판단되는 테이블을 식별하여 불필요한 저장 공간 낭비를 방지합니다.
  • 보안 인증: JSON 파일에서 로드된 Snowflake 계정 자격 증명을 사용자 세션에만 저장하여 보안을 강화합니다.
  • 지속 가능성 대시보드: 연간 CO2 절감량, 탐지된 좀비 테이블 수, 컴퓨팅 효율성 등 주요 지표를 보여주는 중앙 집중식의 인터랙티브 대시보드를 제공합니다.
  • 고성능 쿼리 감사: 지난 한 주 동안 가장 많은 리소스를 소비한 쿼리를 자동으로 식별하고 목록화하여 분석 및 개선을 지원합니다.
  • 게임화된 절감 기능: 사용자가 쿼리 최적화를 수락할 때 보상 애니메이션과 대시보드 메트릭 업데이트를 통해 친환경적인 실천을 장려합니다.
  • 최신 UI/UX: 애니메이션 로더, 정렬 가능한 테이블, 깔끔한 디자인을 갖춘 반응형 다크 테마 인터페이스를 제공하여 직관적인 사용자 경험을 제공합니다.
  • 기술 스택: Django (Python) 프레임워크, Snowflake Connector for Python, Google Gemini API (gemini-2.5-flash)를 사용했습니다.
  • 핵심 설계 결정: 사용자에게 데이터 및 스토리지 사용량에 대한 개요를 제공하기 위해 테이블 통계를 스키마에 포함시키고, 쿼리 ID를 제공하여 사용자가 외부 도구를 활용하여 분석할 수 있도록 했습니다. 또한, 모든 쿼리를 Gemini에 전달하는 대신 사용자가 직접 선택하도록 하여 토큰 사용을 효율화했습니다.

시사점

SqlGo는 AI와 데이터베이스 분석을 결합하여 IT 인프라의 탄소 발자국을 줄이고 운영 비용을 절감할 수 있는 실질적인 솔루션을 제공하며, 이는 기업의 ESG 경영 강화에 기여할 수 있습니다.

원문 읽기 →
원문을 불러오는 중...

댓글

GitHub Discussions