Evidence (YC S21) 출시: 데이터 분석가를 위한 웹 프레임워크
요약
Evidence는 데이터 분석가를 위한 정적 사이트 생성기(SSG)로, 마크다운과 SQL을 결합하여 보고서를 작성할 수 있게 합니다. 사용자의 DB에 직접 연결해 쿼리를 실행하고 그 결과를 텍스트나 차트로 인라인 삽입하는 것이 핵심입니다. 이는 기존 BI 도구의 드래그 앤 드롭 방식보다 소프트웨어 엔지니어링 관행(버전 관리, 컴포넌트화)을 적용할 수 있게 하여 분석가 경험을 혁신합니다.
핵심 포인트
- 데이터 분석가를 위한 SSG로, 마크다운 내에서 SQL 실행 및 결과 참조 가능
- BigQuery, Snowflake 등 주요 DB를 지원하며 쿼리 결과를 보고서에 인라인 삽입
- 기존 BI 도구의 드래그 앤 드롭 방식 대신 코딩 기반 접근 방식을 제공
- 버전 관리와 재사용 가능한 컴포넌트화를 통해 보고서 신뢰성 및 효율성 향상
안녕하세요 HN! 저희는 Evidence(https://evidence.dev)의 Adam과 Sean입니다. 저희는 데이터 분석가를 위한 정적 사이트 생성기(static site generator)를 만들고 있습니다. 이는 SQL 분석가를 위한 Jekyll이나 Hugo와 같습니다.
Evidence에서는 페이지가 마크다운 문서로 구성됩니다. 이 마크다운 안에 SQL을 작성하면, 해당 SQL이 사용자의 데이터베이스(BigQuery, Snowflake, Postgres 지원하며 더 많은 DB도 추가될 예정)를 대상으로 실행됩니다. 간단한 템플릿 구문(templating syntax)을 사용하여 이러한 쿼리 결과를 참조할 수 있으며, 이를 통해 쿼리 결과를 텍스트에 인라인으로 삽입하거나 쿼리로부터 보고서 섹션을 생성할 수 있습니다. Evidence에는 또한 차트나 그래프를 추가하는 등의 작업을 할 수 있는 컴포넌트 라이브러리가 포함되어 있습니다. 이는 <LineChart />와 같은 선언적 태그(declarative tags)를 작성하여 구동됩니다.
어떻게 다를까요? 대부분의 BI 도구는 노코드 드래그 앤 드롭 인터페이스(no-code drag-and-drop interface)를 사용합니다. 분석가들은 쿼리를 만들고, 차트를 설정하는 등의 작업을 위해 여기저기 클릭하며, 그런 다음 이를 대시보드에 배치합니다. 비유를 유지하자면, Evidence가 Hugo라면 대부분의 BI 도구는 Squarespace와 같습니다. BI 도구들이 이런 방식으로 만들어진 이유는 데이터 분석가들이 기술적 지식이 부족하다고 가정하기 때문입니다. 하지만 저희 경험상, 그 가정이 더 이상 맞지 않습니다. 데이터 분석가들은 버전 관리(version control), 테스트(testing), 추상화(abstraction)와 같은 소프트웨어 엔지니어링 관행을 적용할 수 있는 도구를 점점 더 원하고 있습니다.
모든 것이 버전 관리 하에 있게 되면, 잘못된 보고서를 배포할 가능성이 줄어듭니다. 반복문(for loop)을 작성할 수 있게 되면, 사용자에게 필터 인터페이스를 사용하도록 요청하는 대신 각 지역이나 제품 라인별 섹션을 보여줄 수 있습니다. 분석의 일부를 재사용 가능한 컴포넌트(reusable component)로 추상화할 수 있게 되면, 여러 곳에 동일한 콘텐츠를 유지 관리할 필요가 없습니다. 기본적으로 저희는 분석가들이 쉽게 활용할 수 있는 방식으로 프로그래밍의 기초를 제공하고 있습니다.
리포팅 도구(Reporting tools)는 COBOL 시절부터 존재해 왔으며, 기술과 시장이 진화함에 따라 수많은 반복을 거쳐왔습니다. 저희의 관점은 이제 다음 주요 반복 주기가 올 때라는 것입니다. 저희는 캐나다의 사모펀드 회사에서 데이터 사이언스 그룹을 구축하는 데 5년 동안 함께했습니다. 이 회사의 여러 포트폴리오 회사들에 ‘현대 데이터 스택(modern data stack)’ (Fivetran, dbt, BigQuery 등)을 구축했으며, 많은 핵심 기업 결정 과정에 참여했습니다.
저희 경험상, BI 레이어는 현대 데이터 스택에서 가장 취약한 부분입니다. BI 레이어는 개발자 경험(developer experience)이 좋지 않고, 의사결정권자들이 얻는 결과물 자체도 만족하지 못합니다. 알고 보니 이 두 가지 문제는 밀접하게 관련되어 있습니다. 드래그 앤 드롭(drag and drop) 방식의 경험은 너무 느리고 활용도가 낮아서, 페이지에 모든 콘텐츠를 담으려면 최종 사용자에게 엄청난 인지 부하(cognitive load)를 전가해야 합니다: 전역 필터(global filters), 드릴 다운 모달(drill down modals), 맥락이 없는 차트 그리드 등. 대부분의 사용자들처럼, 비즈니스 사람들은 이런 점을 싫어합니다. 게다가 생산 과정 자체가 코드로 이루어져 있지 않기 때문에, 결과물을 버전 관리(version control)하거나 테스트하기 어렵습니다—그렇게 대시보드가 깨지고, 결과물이 내부적으로 일관되지 않은 문제가 발생하며, 이는 마치 버전 관리와 테스트를 하지 않은 소프트웨어가 겪는 문제와 같습니다.
현대 데이터 스택의 초기 도입자로서, 저희는 분석 작업을 소프트웨어 개발처럼 다루는 가치를 보았지만, BI 도구와 노트북 제품을 사용하여 팀이 제공할 수 있는 워크플로우와 결과물의 품질에 대해서는 지속적으로 실망했습니다. 뉴욕타임즈(New York Times) 같은 신문사에서 감탄하는 그래픽팀들은 자신들의 작업을 발표하기 위해 BI 도구나 Jupyter Notebooks를 사용하지 않습니다. 그들은 데이터 제품을 직접 코딩하며, 그 결과물은 일반적인 BI 배포에서 볼 수 있는 것보다 극적으로 뛰어납니다. 이는 대부분의 데이터 팀에게는 너무 큰 엔지니어링 작업(engineering lift)이지만, 그들의 필요와 전문성 범위에 맞춰 설계된 프레임워크를 사용한다면, 데이터 팀이 이러한 높은 기준에 훨씬 근접한 제품을 구축할 수 있다고 생각합니다.
Evidence는 Svelte와 Svelte Kit을 기반으로 구축되었습니다. 이는 NYT가 Covid 위험 지도 같은 최근 데이터 제품 일부를 만드는 데 사용한 JS 프레임워크입니다. Sean과 저는 Svelte에 푹 빠졌고, 저희는 그 프로젝트 덕분에 큰 도움을 받았습니다. 현재 초기 단계에서 Evidence는 데이터 분석가들에게 접근성을 높이기 위해 SvelteKit 주변에 포장된 일련의 편의 기능들(마크다운 프리프로세서, DB 연결, 차트 라이브러리 등)입니다. 핵심 프레임워크는 항상 오픈 소스로 유지될 것이며, 궁극적으로는 엔터프라이즈가 비용을 지불할 수 있는 호스팅, 세분화된 접근 제어 및 기타 기능을 포함하는 유료 클라우드 버전의 제품을 출시할 계획입니다.
저희가 만들고 있는 것, 또는 비즈니스 인텔리전스(BI) 전반에 대한 경험과 관련하여 여러분의 생각, 질문, 우려 사항 또는 아이디어를 듣고 싶습니다. 모든 피드백과 제안에 감사드립니다!
AI 자동 생성 콘텐츠
본 콘텐츠는 HN OpenAI Codex의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기