TECH 으로 돌아가기
TECH HACKER NEWS 오늘 8분 읽기 25 READS

dbt Charts, 대시보드를 코드로 되돌리다: AI가 만든 차트도 거버넌스 아래에

dbt Charts, 대시보드를 코드로 되돌리다: AI가 만든 차트도 거버넌스 아래에
SOURCE IMAGE · HACKER NEWS

데이터 분석에 AI가 본격적으로 들어오면서 오랫동안 약속만 무성했던 셀프서비스 분석이 현실이 되고 있다. 데이터 연결만 있으면 누구나 에이전트와 대화하는 것만으로 하루 만에 리포트를 만들어낼 수 있고, 초기 결과물은 꽤 인상적이다. 하지만 마찰은 금방 드러난다. 기본값으로 두면 에이전트는 리포트 하나를 HTML, CSS, JavaScript 파일 더미와 몇 개의 차트 라이브러리로 흩어놓고, 실제로 서비스에 올려야 하는 순간에는 React나 Streamlit 앱까지 끌어들인다. 결과를 원본 데이터까지 되짚으려면 여러 언어와 파일을 거쳐야 하고, 이는 사람이 감사하기에 느릴 뿐 아니라 에이전트가 변경할 때마다 시간과 토큰을 잡아먹는다.

dbt Labs가 이 문제에 내놓은 답이 이번에 Apache 2.0 라이선스로 오픈소스화한 dbt Charts다. 대시보드 전체를 감사 가능한 하나의 구조화된 YAML 파일로 선언하는 언어로, 에이전트와 자유롭게 대화해 만들더라도 결과물이 코드의 자유로움을 유지하면서 읽기 쉽게 남도록 설계됐다. 핵심 구도는 명료하다. 무엇을(WHAT) 볼지는 여전히 SQL이 선언하고, 어떻게(HOW) 볼지를 YAML이 감싼다. 여기에 산문은 마크다운이, 변수와 매크로는 dbt에서와 마찬가지로 Jinja가 담당한다.

BI 언번들링의 다음 단계

dbt Labs 창업자 트리스탄 핸디는 최근 글 'BI의 두 번째 언번들링'에서, 과거 BI 도구가 데이터 수집·변환·컴퓨팅·캐싱·시맨틱·시각화·인증을 하나에 담은 풀스택이었다고 정리했다. 2015년부터 2022년 사이 이른바 모던 데이터 스택이 등장하면서 그 인프라 계층이 하나씩 떨어져 나갔다. 컴퓨팅은 대형 클라우드 사업자들에게, 데이터 수집은 Fivetran에, 변환은 dbt에 넘어갔다. 그렇게 남은 것이 오늘날 우리가 아는 BI 도구이고, 그 가장 큰 조각이 차트다.

차트가 UI에 남아 있던 데는 이유가 있었다. 대부분의 사람에게는 클릭이 YAML을 쓰는 것보다 빠르기 때문이다. 그러나 프런트엔드와 사용 주체가 점점 챗 에이전트로 바뀌면 이 선호는 뒤집힌다. 에이전트는 코드와 SQL, Git에는 능숙하지만 남이 만든 UI 안에서는 서툴다. 지금까지는 코드의 지저분한 자유와 BI 도구의 좁은 통제 사이에서 하나를 골라야 했다. dbt Charts는 차트를 UI에서 꺼내 코드로 옮기는 세 번째 선택지를 제시한다.

언어의 실제 모습과 dbt 연동

언어 자체는 소수의 확장 가능한 핵심 요소로 압축돼 있지만 표현력은 깊다. 현재 16종의 차트 타입과 이를 조합한 차트에 걸쳐 1,100개가 넘는 설정 옵션을 제공한다. 다만 이 값들을 손으로 일일이 지정할 일은 드물다. 스타일은 계단식으로 상속되기 때문이다. 차트는 보드에서, 보드는 테마에서 스타일을 물려받고 테마는 한 줄로 교체된다. 보드가 다른 보드를 extends 할 수도 있어, 사내 표준 양식이나 정형 리포트를 한 번만 작성해 어디서든 상속시킬 수 있다. CLI는 보드 파일을 정적 SVG는 물론 HTML, PNG, PDF, 심지어 터미널로도 렌더링하며, 폴더 하나를 사이트로 서빙한다. 노트북에서든 CI에서든 동일하게 동작한다.

dbt 프로젝트 없이도 쓸 수 있지만, 함께 쓸 때 얻는 것이 많다. charts/ 디렉터리가 models/ 옆에 같은 Git 저장소에 놓이므로 모델과 차트 변경이 한 브랜치, 한 번의 CI 실행으로 배포되고 프로덕션에 닿기 전에 깨진다. 쿼리는 ref()로 매니페스트를 통해 모델에 접근하므로, 모델 이름을 바꾸거나 컬럼이 사라지면 dbt run이 웨어하우스를 다시 만들기도 전에 해당 변경을 담은 PR이 실패한다. dbt 시맨틱 레이어 지원도 계획돼 있어, 보드가 SQL을 다시 서술하는 대신 프로젝트가 정의한 지표를 그대로 쓸 수 있게 될 예정이다.

실무적으로 눈여겨볼 지점은 에이전트를 위한 피드백 루프다. 에이전트는 앞이 잘 안 보이는 상태로 일하기 쉬운데, dbt Charts는 YAML과 SQL 양쪽에 대한 엄격한 검증과 폭넓은 시각화 점검을 제공해 문제를 보드가 공개되기 전에 걸러낸다. 차트 디자인은 데이터 그래픽 디자이너이자 저자·역사가인 RJ 앤드루스가 맡았는데, dbt Labs는 카드와 박스로 정렬을 흉내 내며 시각적 잡음과 공간 손실을 감수하는 기존 방식 대신 각 차트의 간격과 크기, 배치를 개별적으로도 이웃과 함께 있을 때도 계산해 다듬었다고 설명한다.

호스팅 플랫폼과 남은 과제

오픈소스 언어와 함께 호스팅 플랫폼 dbtCharts.com도 퍼블릭 베타로 공개됐다. 차트를 빼내고 남은 것은 주로 호스팅, 접근 제어, UI인데, 이들은 성격상 언번들링하기 어렵거나 하지 말아야 하는 영역이라 플랫폼이 오픈소스 언어 위에서 담당한다. 플랫폼은 웨어하우스에 연결해 대화형 분석과 마무리 작업용 비주얼 에디터, 버전 기록, 사용자·그룹 단위 권한 공유를 더한다. 보드를 읽는 사람은 웨어하우스 로그인이 필요 없다. 대화형 분석은 읽기 전용 권한으로 웨어하우스에 접근하며, 챗·비주얼 에디터·코드 어디서 바꾸든 변경은 결국 Git 저장소의 같은 YAML에 안착한다. 덕분에 동일한 보드가 노트북, CI, 플랫폼에서 그대로 돌고 별도의 숨은 데이터 스택이 생기지 않는다.

현실적인 한계도 분명하다. dbt Charts는 아직 1.0 이전 버전이며 언어 문법이 계속 바뀌고 있다. 문법이 바뀌면 보드는 파싱될 때 자동 마이그레이션되어 오늘 작성한 보드가 계속 렌더링되도록 한다고는 하지만, 프로덕션 표준으로 삼기에는 성숙도를 지켜봐야 한다. 시맨틱 레이어 연동은 아직 예정 단계이고, 클릭이 익숙한 비개발 실무자에게 YAML 우선 워크플로가 실제로 더 편한가는 조직마다 다를 수 있다. 계정 없이 로컬에서 설치·렌더링·서빙이 가능하다는 점은 부담 없이 검증해 보기에 좋은 조건이다. dbt가 변환 계층의 사실상 표준 언어가 됐듯 차트 계층에서도 같은 자리를 노리는 시도인 만큼, 데이터 파이프라인을 dbt와 Git 중심으로 운영하는 팀이라면 파일럿으로 감사 가능성과 CI 통합 효과를 먼저 재보는 접근이 합리적이다.

SOURCE · HACKER NEWS
원문 전체 보기 → https://dbtcharts.com/blog/charts-built-for-chat/
SHARE
NEXT · CHOOSE

변화를 읽었다면,
내가 만들 수익 구조를 고릅니다.

정보를 더 모으는 데서 멈추지 않고, 광고·외주·판매·중개·구독 중 내 상황에 맞는 출발점을 정해보세요.

21가지 수익 구조 살펴보기
처리 중...