8P by neo 3달전 | favorite | 댓글 1개
  • Notion + Jupyter 에 확장 기능을 추가
    • 노트북 스케줄링, 대시보드와 앱으로 변환, 데이터 프레임으로 결과를 리턴하는 SQL 쿼리 등
  • 기존 노트북의 문제점 해결
    • 공유의 어려움 : 데이터 팀 작업을 보기위해 Docker+Python 설치가 필요
    • 노트북이 너무 복잡함 : 코드 블록이 너무 많아져서 가독성 저하 및 비기술자가 이해하기 어려움
    • 데이터베이스 쿼리, API 호출, 그래프 작성 등의 간단한 작업도 복잡함
  • Briefer의 해결 방법
    • 공유 문제 해결
      • 노트북을 클라우드로 이동하여 스케줄링 가능
      • CRDTs와 Yjs를 사용해 상태 관리, 실시간 편집 반영
    • 노트북 정리
      • 깨끗한 디자인과 블록을 그룹화하여 정리 가능
      • 블록을 탭으로 그룹화하고, 공개 버전에 표시할 블록 선택 가능
      • 대시보드 구축 기능 제공
    • 간단한 작업의 간편화
      • 클릭으로 그래프 작성, AI 어시스턴트로 복잡한 차트 코드 생성
      • SQL 쿼리 결과를 자동으로 데이터 프레임으로 변환, DuckDB를 사용해 파일 쿼리 가능

주요 기능들

  • 파일 트리
    • 파일 트리는 노트북을 관리하고 탐색할 수 있는 곳
    • Notion과 마찬가지로 각 노트북에 대한 아이콘을 선택하고, 순서를 변경하거나, 하나를 다른 노트북 안에 넣을 수 있음
    • 노트북을 삭제하면 휴지통에 사본을 보관하여 필요한 경우 복원할 수 있음
  • 블록과 탭 : Briefer 노트북은 다양한 유형의 블록으로 구성됨
    • 텍스트 블록: 노트북에 컨텍스트를 추가하기 위함
    • 쿼리 블록: 파일이나 Postgres, BigQuery, Redshift, Athena 등과 같은 연결된 데이터 소스에서 데이터를 수집하기 위함
    • 파일 업로드 블록: 데이터가 연결된 데이터 소스에 없는 경우 CSV, XLS 또는 기타 파일을 노트북에 추가하기 위함
    • Python 블록: 데이터를 조작하고, 시각화를 생성하거나, 원하는 다른 작업을 수행하기 위해 Python 코드를 작성하기 위함
    • 입력 블록: 텍스트 입력이나 드롭다운과 같은 대화형 요소를 노트북에 추가하기 위함
    • 시각화 블록: 코드를 작성하지 않고 시각화를 생성하기 위함
    • 노트북에 블록을 추가한 후, 이를 탭으로 그룹화하여 노트북을 구성하고 탐색하기 쉽게 만들 수 있음
  • 파일과 데이터베이스
    • 래퍼나 커넥터를 작성하지 않고도 쿼리 블록을 사용하여 파일 및 데이터베이스에서 데이터를 쿼리할 수 있음
    • 데이터가 데이터베이스에 있는 경우 쿼리 블록을 사용하여 SQL 쿼리를 작성하고 필요한 데이터를 가져올 수 있음
    • 데이터가 파일(CSV, XLSX, Parquet 등)에 있는 경우 해당 파일을 업로드하고 일반 SQL을 사용하여 쿼리할 수 있음
    • 쿼리 블록을 사용하여 데이터프레임을 일반 SQL로 쿼리할 수도 있음
  • 자동 데이터프레임
    • 모든 쿼리 블록은 자동으로 쿼리 결과를 포함하는 Pandas 데이터프레임을 생성함
    • 이를 통해 이 데이터를 추가 Python 블록에서 사용할 수 있음
    • 기본적으로 데이터프레임에는 query_1과 같은 이름이 지정되지만 더 의미 있는 이름으로 바꿀 수 있음
  • AI 어시스턴트
    • SQL 및 Python 블록에는 AI 어시스턴트가 포함됨
    • AI 어시스턴트의 도움이 필요할 때마다 "AI로 편집"을 클릭하고 어시스턴트에게 원하는 작업을 알려줄 수 있음
    • 그러면 AI 어시스턴트가 제안을 생성하고 시도, 수락 또는 거부할 수 있는 diff를 보여줌
    • Python 블록에서 AI 어시스턴트는 기존 데이터프레임과 열을 인식함
    • SQL 블록에서 AI 어시스턴트는 이미 데이터베이스의 테이블과 열을 알고 있으므로 더 나은 제안을 제공하고 복잡한 쿼리를 올바르게 작성하는 데 도움을 줄 수 있음
    • 오류가 발생할 때마다 "AI로 수정"을 클릭하여 AI 어시스턴트가 수정을 시도하게 할 수 있음
  • 스케줄
    • 노트북을 매시간, 매일, 매주 또는 매월과 같은 특정 간격으로 실행하도록 예약할 수 있음
    • 예약을 생성할 때 스케줄이 성공적으로 실행되거나 실패할 때 이메일이나 Slack 메시지를 받도록 알림을 설정할 수도 있음. 성공적인 실행의 경우 노트북 출력이 포함된 PDF 파일도 받게 됨
  • 스냅샷과 버전 관리
    • 노트북을 게시할 때마다 노트북의 상태를 자동으로 저장하여 시간 경과에 따른 변경 사항을 확인하고 필요한 경우 이전 버전으로 롤백할 수 있음
    • 이를 통해 노트북에 대한 변경 사항을 추적하고 문제가 발생하면 이전 버전으로 되돌릴 수 있음
    • 또한 모든 성공적인 예약 실행은 해당 시점의 노트북 상태에 대한 스냅샷을 생성함
    • 스냅샷은 결과가 시간에 따라 어떻게 변경되었는지 보거나 서로 다른 실행의 출력을 비교할 때 유용함
  • 대시보드로의 노트북
    • 노트북의 출력을 사용하여 대시보드를 만들 수 있음
    • 차트를 그리기 전에 많은 데이터 랭글링을 수행해야 하는 경우와 같이 불필요한 코드나 설명을 포함하지 않고 결과를 다른 사람과 공유할 수 있음
    • 사용자가 입력 및 드롭다운과 상호 작용할 수 있도록 하지만 내부 코드를 보여주고 싶지 않은 데이터 앱을 구축할 때도 대시보드 보기가 유용함

GN⁺의 의견

  • 이 플랫폼은 노트북 스타일의 데이터 분석 및 시각화 작업에 유용할 것으로 보임
  • 클라우드 기반으로 실시간 협업 가능하며, 사용자 친화적인 인터페이스와 정리 기능으로 가독성 향상 및 비기술적인 사용자도 쉽게 데이터 분석 결과를 볼 수 있어 협업 효율성 증가
  • AI 어시스턴트가 SQL 쿼리 및 Python 코드 작성을 지원한다는 점도 데이터 분석 작업의 생산성을 높일 수 있을 것임. 다만 AI 제안의 정확성과 효용성은 실제로 사용해 봐야 알 수 있음
  • 노트북의 스케줄링 및 버전 관리 기능은 반복적인 데이터 분석 작업이나 협업 시 유용할 것으로 보임. 다만 이를 위해서는 안정적인 인프라 운영이 전제되어야 함
  • 대시보드 생성 기능을 통해 분석 결과를 비개발자와 쉽게 공유할 수 있다는 점도 장점. 그러나 대시보드의 레이아웃 및 디자인 자유도가 어느 정도일지는 미지수
  • 유사한 플랫폼으로는 Jupyter Notebook, Google Colab, Deepnote 등이 있음. 이들과 차별화되는 Briefer만의 장점이 무엇일지 고민해 볼 필요가 있음. 예를 들어 보다 간편한 사용성, 강력한 협업 기능 등이 있을 수 있음
Hacker News 의견
  • 제품 관리자들은 간단한 Excel 공식과 차트를 설정하여 작업을 쉽게 만들려고 노력함

    • 스크린샷을 찍는 등의 작업 포함
  • 데이터 엔지니어들은 Superset과 dbt 같은 오픈소스 솔루션을 사용하여 더 기술적인 작업을 수행함

  • 기업들은 종종 최종 UI를 직접 구축하려고 함

    • Pinterest가 오픈소스한 것을 기억함
  • 노트북 같은 도구를 만드는 것이 얼마나 어려운지 깊이 이해함

    • 협업과 UX에 문제가 있음
  • 데이터 자체와 경쟁이 치열한 시장 때문에 기능 제안이 어려움

    • Popsql이 번창하지 못한 것을 기억함
  • Lucas의 작업을 칭찬하며, CLI, 커넥터, 심볼릭 계산, 오프라인 지원, 암호화된 네임스페이스 추가를 제안함

    • 이는 다른 경쟁자들보다 앞서게 할 것임
    • 바쁘겠지만 논의하고 싶으면 연락하라고 함
  • Python과 데이터 과학(Jupyter에서 pandas, Polars, scikit learn, XGBoost 등)을 많이 가르침

    • 소프트웨어 엔지니어링의 모범 사례도 가르침
  • 교육을 통해 많은 문제가 해결된다는 경험을 공유함

    • 최근 클라이언트에서 이를 다시 확인함
  • 초보자 친화적인 코드 작성에 집중하는 대신, 전문가 수준의 코드를 작성해야 한다고 생각함

    • 초보자들은 이 코드를 좋아하지 않을 것임
  • 소셜 미디어에서 비판을 받지만, 학생들과 독자들의 긍정적인 반응이 있음

  • 노트북과 크론 작업, 상태 저장을 사용하는 워크플로우를 구축한 경험이 있음

    • 문제를 전체적으로 해결하려는 시도를 기쁘게 생각함
  • 출시를 축하하며, 예제 GIF의 90년대 Mac Finder 크롬이 시선을 분산시킨다고 언급함

    • 시각적, 의미적으로 정리할 것을 제안함
  • Python/코드 블록 지원이 흥미로움

    • Jupyter 노트북은 어디서나 실행 가능함
    • 로컬 설치나 로컬 Python 설치에 연결을 중계하여 지원하는지 묻는 질문
    • 모든 Python 코드가 클라우드 서버에서 실행되어야 하는지, 고성능 GPU 접근이 불가능한지 묻는 질문
  • 출시를 축하하며, Hex 같은 기존 도구와 비교하여 어떻게 발전할지 궁금해함

  • 비기술적 조직을 위한 온라인 협업 도구로도 판매할 수 있다고 언급함

    • 많은 사람들이 Microsoft Access보다 더 편리한 도구를 원한다고 말함
  • 내부 쿼리 카탈로그와 대시보드를 구축하는 데 유용한 도구가 될 수 있다고 언급함

    • Grafana의 "변수"와 유사한 동적 필드 선택기를 지원하는지 묻는 질문
  • 노트북의 첫 번째 문제는 공유가 어렵다는 점을 언급함

    • PM들과 GitHub 링크를 통해 노트북을 공유함