YouTubeJane Street·2026년 6월 24일·0

Building a Data Warehouse From Scratch with Jacob Baskin

Quick Summary

Jacob Baskin의 Data Warehouse From Scratch 이야기는 데이터 웨어하우스를 “더 큰 Postgres”로 만드는 일이 아니라, 조직의 실제 사용 방식에 맞춰 무엇을 포기하고 무엇을 보장할지 선택하는 시스템 설계의 문제임을 보여준다.

영상 보기

클릭 전까지는 가벼운 미리보기만 먼저 불러옵니다.

원본 열기

🖼️ 인포그래픽

Building a Data Warehouse From Scratch with Jacob Baskin 내용을 설명하는 본문 이미지

🖼️ 4컷 인포그래픽

Building a Data Warehouse From Scratch with Jacob Baskin 내용을 설명하는 본문 이미지

💡 한 줄 결론

Jacob Baskin의 Data Warehouse From Scratch 이야기는 데이터 웨어하우스를 “더 큰 Postgres”로 만드는 일이 아니라, 조직의 실제 사용 방식에 맞춰 무엇을 포기하고 무엇을 보장할지 선택하는 시스템 설계의 문제임을 보여준다.

📌 핵심 요점

  1. Jacob Baskin의 경력은 메커니즘 디자인, 광고 거래소, 분산 시스템, 금융 데이터 인프라로 이어지며, 공통적으로 “전략적 사용자 행동”과 “대규모 계산 시스템”이 만나는 지점에 놓여 있다.
  2. Google AdExchange 경험에서는 실시간 입찰, 지연 시간, 보안·프라이버시, 대형 고객 요구, 분산 인프라를 동시에 다뤄야 했고, 이론적으로 깔끔한 시장 설계보다 설명 가능성과 운영 가능성이 더 중요했다.
  3. Jane Street의 데이터 문제는 여러 Postgres 데이터베이스와 자유로운 사용자 쿼리 환경에서 커졌고, 단일 머신 한계를 넘어 대규모 읽기·압축·조인·접근 로그·권한 관리를 지원하는 분석 시스템이 필요해졌다.
  4. Superstore는 full SQL transactional semantics를 그대로 재현하지 않고, 단일 테이블 단위의 일관성, 컬럼형 저장, 비동기 쓰기, 시스템 경계를 통한 Parquet 직접 접근 차단 같은 타협을 선택했다.
  5. 초기 설계에서 CockroachDB 기반 메타데이터 저장은 쓰기 지연 병목으로 드러났고, 이후 Arya 기반 단일 시퀀서 선택처럼 성능과 가용성 사이의 현실적 트레이드오프가 핵심 설계 이슈가 됐다.

🧩 배경과 문제 정의

  • Jacob Baskin의 경력은 대규모 컴퓨팅·데이터 시스템, 알고리즘, 경제적 인센티브가 교차하는 지점에 놓여 있다.
  • 메커니즘 디자인은 자원 배분 문제에서 참여자의 전략적 행동과 계산 복잡도를 함께 다루며, 실제 소프트웨어 시스템 설계에도 영향을 미친다.
  • Google의 DoubleClick 인수 이후 광고 거래 시스템은 검색 광고식 경매 역량, 대형 퍼블리셔·광고주 관계, 대규모 분산 인프라를 함께 결합해야 하는 문제로 확장됐다.
  • Jane Street의 데이터 웨어하우스 구축은 Postgres 중심 환경의 한계, 대규모 분석 쿼리, 내부 사용자의 자유도, 온프레미스 데이터 규모를 동시에 해결해야 하는 과제였다.
  • 후반부의 핵심 문제는 Superstore 이후 Hive 같은 대규모 계산 인프라에서 스케줄링, 인센티브 설계, 데이터 접근 경계, 계산 그래프 최적화를 어떻게 다룰 것인가로 이어진다.

🕒 시간순 섹션별 상세정리

1. 컴퓨터과학 진입과 메커니즘 디자인의 출발점

  • Jacob Baskin은 어린 시절 BASIC으로 코딩을 시작했고, 대학에서는 심리학을 생각했지만 코딩과 흥미로운 문제들에 끌려 컴퓨터과학으로 방향을 바꿨다 [00:24]
  • Brown University 논문 주제는 메커니즘 디자인과 경제학·알고리즘의 접점이었으며, 경제적 조건이 들어오면 효율적인 절차를 찾는 일이 훨씬 어려워진다 [00:45]

2. 자원 배분 문제에서 전략과 계산 복잡도가 겹치는 구조

  • 메커니즘 디자인은 경매처럼 참여자가 자원에 대해 얼마를 지불할 의사가 있는지 드러내게 하고, 전략적 왜곡 없이 사회적으로 가치가 큰 배분을 찾는 문제를 다룬다 [01:28]
  • 네트워크 구축 사례에서는 참호·광섬유 배치 자체도 계산적으로 어렵고, 여기에 계약자·통신사·가격 차이가 더해지며 알고리즘 문제와 경제적 문제가 동시에 얽힌다 [02:18]

3. 광고 거래소에서 드러난 시장 설계와 양면 시장

  • 금융시장과 거래소 설계에서는 메커니즘 디자인, 참여자 행동, 기술 구조가 서로 영향을 주며, Jacob의 관심사는 이후 trading firm 경력과도 계속된다 [03:41]
  • Google에서의 첫 업무는 외부 웹사이트에 더 나은 광고를 노출하는 광고 비즈니스였고, AdExchange는 광고 공간을 가진 쪽과 광고를 싣고 싶은 쪽을 연결하는 양면 시장이었다 [04:02]

4. DoubleClick 인수 이후 Google 광고 사업의 확장 과제

  • 2008년 Google은 배너 광고와 광고 추적에 강한 DoubleClick을 인수했고, DoubleClick은 사용자가 웹사이트를 방문할 때 어떤 이미지를 로드할지 선택하고 결과를 추적하는 영역에서 강점을 갖고 있었다 [04:59]
  • Google은 검색 광고 경매에는 강했지만, 대형·복잡한 외부 웹사이트 광고에서는 DoubleClick이 업계 선두였고, 인수 이후 두 역량을 결합해야 하는 과제가 생겼다 [05:29]

5. 대형 고객 이해와 Google 인프라로의 재구축

  • DoubleClick의 강점은 대형 퍼블리셔와 대형 광고주 관계, 엔터프라이즈 고객 요구를 이해하는 역량이었고, 이는 당시 Google에는 부족한 DNA였다 [07:09]
  • 기업 간 거래에서는 고객이 무엇을 하려는지와 왜 하려는지를 깊게 이해하는 태도, 영업·관리형 관계, 대형 고객을 섬기는 방식이 중요해진다 [07:31]

6. 실시간 입찰과 광고 노출 순간의 지연 시간 문제

  • 기술적으로 어려운 작업은 수평 확장 가능한 Google 인프라와 DoubleClick의 대형 고객용 기능 요구를 결합하는 일이었고, Ad Exchange에서는 실시간 입찰이 별도의 핵심 문제가 됐다 [10:06]
  • 실시간 입찰에서는 광고주가 모든 광고 재고를 미리 넘기지 않고, 광고 노출이 발생하는 매 순간 외부 광고 시스템에 질의해 즉시 입찰가를 받는다 [10:29]

7. 광고 추적 인프라의 성능·보안·프라이버시 부담

  • 광고 로딩은 이미지 자체보다 추적 쿠키, 픽셀, 여러 외부 도메인, 광고 측정·모니터링 코드 때문에 훨씬 무거웠고, 페이지 부하의 병목은 광고 주변 인프라로 이동했다 [12:01]
  • 추적과 쿠키 기반 구조는 보안·프라이버시 측면에서 위험했고, 플랫폼이 사용자를 인터넷 전반에서 추적하지 못하도록 식별자를 익명화하는 장치가 필요했다 [12:36]

8. 메커니즘 디자인 이론과 실제 시장 설계의 간극

  • 학교에서 배운 메커니즘 디자인의 중심 메시지는 인센티브 호환성이었고, 좋은 메커니즘에서는 참여자가 진실을 말하는 편이 이익이 된다 [14:21]
  • 실제 산업에서도 인센티브 호환성은 가치 있는 목표였지만, 전체 문제에서 차지하는 비중은 학교에서 생각했던 것보다 작았다 [15:04]

9. 예산 제약이 경매 이론과 단순성 원칙을 흔든다

  • 광고주는 좋은 가격을 얻을 수 있어도 무한정 지출하지 않으며, 하루 예산과 리스크 한도는 실제 입찰 전략의 기본 제약으로 작동한다 [16:04]
  • 예산을 빠르게 소진해 하루 끝에 소액만 남은 광고주는 입찰가를 낮추는 편이 나을 수 있고, 이는 한계가치 그대로 입찰한다는 단순한 경매 모델을 흔든다 [16:24]

10. Google식 분산 시스템 설계와 상태 관리의 축소

  • Google에서의 시스템 경험은 어려운 분산 시스템 문제를 가능한 한 작은 영역에 가두고, 기존 합의 시스템이나 대규모 상태 저장소 위에 새 시스템을 얹는 사고방식으로 이어졌다 [18:22]
  • Bigtable은 Chubby 같은 분산 합의 메커니즘 위에 구축됐고, 대부분의 엔지니어는 Bigtable이나 Chubby 자체보다 그 위의 애플리케이션 계층을 만들었다 [19:12]

11. 광고 서빙과 트레이딩 시스템의 지연시간·조직 구조 차이

  • Google식 구조는 상태를 가진 코어가 데이터를 효율적인 형태로 메모리에 올리고, 수많은 웹 서버가 그 코어에 질의하며 가능한 많은 작업을 바깥 계층으로 밀어내는 방식에 가깝다 [20:07]
  • 트레이딩 시스템은 Google과 달리 극단적인 지연시간을 우선시하기 때문에 상태를 엣지 가까이에 두는 선택이 필요하고, 아키텍처의 중심 제약도 크게 달라진다 [20:35]

12. 도시 도로변 규칙을 데이터화하는 스타트업 문제

  • Google 이후에는 도시가 도로변을 관리하도록 돕는 스타트업으로 이동했고, 도로변 관리는 표지판·도로 표시·아이콘이 차량의 주차, 정차, 하역 가능 여부를 결정하는 복잡한 규칙 체계와 연결됐다 [21:56]
  • 도시의 도로변 규칙은 시간이 지나며 누적됐지만 무엇이 왜 존재하는지에 대한 좋은 기록은 거의 없었고, 물리적 제어 인프라와 규칙 분석 플랫폼을 함께 관리할 필요가 있었다 [22:27]

13. AR식 장면 매핑에서 주차 표지판 위치 데이터로 확장된다

  • 포켓몬이 화면 속 장면에 고정돼 보이려면 휴대폰 안에 주변 장면의 지도가 필요하고, 같은 원리로 한 블록의 지도를 만들어 표지판 위치를 높은 정확도로 배치할 수 있다 [24:01]
  • 주차 데이터 수집은 표지판 위치를 찾는 데서 끝나지 않고, 표지판 문구를 읽는 전사 문제와 그 문구가 실제로 어떤 주차 규칙을 뜻하는지 해석하는 문제로 계속된다 [24:29]

14. 주차 표지판 파서는 도시별 어휘와 공간 배치를 함께 다뤄야 한다

  • 주차 표지판의 어휘는 비교적 작지만 도시마다 규칙과 표현이 달라지고, 같은 숫자와 단어도 위치 배치에 따라 의미 연결이 달라진다 [24:52]
  • “2”라는 큰 숫자와 “maximum hours parking” 같은 문구가 표지판의 다른 위치에 놓이면, 사람은 공간 맥락으로 의미를 결합하지만 컴퓨터 모델은 그 결합 방식을 따로 표현해야 한다 [25:20]

15. 실패한 도시 데이터 사업 이후 뉴욕과 금융, OCaml이 Jane Street 선택으로 계속된다

  • 다음 커리어를 고민할 때 Google 복귀의 매력은 낮았고, 회사가 훨씬 커진 상황과 뉴욕에 계속 살고 싶은 조건이 선택지를 좁혔다 [26:02]
  • 도시 스타트업에 대한 관심과 초기 경력의 경제적 사고가 맞물리면서, 뉴욕에서 금융 관련 일을 하는 사람들과 연결되는 경로가 자연스러워졌다 [26:21]

16. 데이터베이스 인프라 팀 매칭에서 데이터웨어하우스 구상이 나온다

  • 입사 전 팀 매칭 과정에서 database infrastructure 팀은 여러 Postgres 데이터베이스를 운영하고 있었고, 일부는 매우 컸으며 사람들이 임의의 데이터를 넣으면서 관리 문제가 커졌다 [27:53]
  • 기존 문제를 더 잘 관리하는 대신, 여러 데이터가 단일 Postgres 머신에 묶이지 않아도 전체를 질의할 수 있는 분산 분석 데이터베이스가 필요하다는 방향이 떠올랐다 [28:24]

17. Postgres는 거래 처리와 분석 처리의 저장 요구가 충돌한다

  • Postgres는 웹사이트 결제처럼 주문 기록, 재고 감소, 원자적 성공이 짧은 시간 안에 함께 보장되어야 하는 단일 행·소수 행 트랜잭션에 강하다 [29:14]
  • 분석 처리는 수백만 행을 훑어 집계 질문에 답해야 하며, Postgres에서도 가능하지만 거래 처리에 맞춘 저장 방식 때문에 훨씬 느려질 수 있다 [29:47]

18. SQL의 강한 추상화는 열 지향 시스템의 장점을 쉽게 무너뜨린다

  • 열 지향 저장을 쓰는 SQL 데이터베이스는 많고 Jane Street도 당시 Vertica를 사용했지만, 그 위에 완전한 SQL 트랜잭션 의미론을 얹으면 시스템이 쉽게 취약해진다 [31:45]
  • Postgres가 효율적으로 처리하는 SQL 기능을 열 지향 데이터 위에서 그대로 보장하려 하면, 성능 이점이 사라지고 쿼리가 극도로 느려지거나 데이터베이스를 실질적으로 쓰기 어려워질 수 있다 [32:21]

19. 데이터베이스의 가치는 조인 가능한 생태계에서 커진다

  • Jane Street의 일별 전체 거래 목록은 개인 트레이딩 정보와 결합될 때 수수료, 포지션, 시장·통화·심볼 분석에 활용되며, 단일 테이블보다 연결 가능한 데이터 집합으로서 더 큰 가치를 갖는다 [36:28]
  • 새 데이터가 플랫폼에 추가될수록 조인 가능한 대상이 늘어나고, SQL join은 서로 다른 데이터 원천을 묶어 실제 분석 가치를 만드는 핵심 연산이 된다 [37:01]

20. 자유로운 쿼리 환경은 통제 장치 없이는 운영 위험을 키운다

  • 많은 회사는 트랜잭션 데이터베이스의 규모 문제를 피하기 위해 스키마 위원회, 코드 리뷰된 쿼리, GUI 기반 쿼리 생성 같은 제한을 두고, 그만큼 유연성과 사용성을 줄인다 [37:18]
  • Jane Street에서는 트레이더를 포함한 여러 사용자가 데이터베이스에서 거의 원하는 일을 할 수 있어야 큰 가치가 생겼고, 그 자유도를 유지하기 위해 운영팀이 내부 보호 장치를 많이 떠안았다 [38:02]

21. 장기 트랜잭션은 락·복제·vacuum 비용을 누적시킨다

  • Postgres는 트랜잭션이 테이블을 변경할 때 변경 전후 상태를 관리하며, copy-on-write 방식으로 실제로 건드린 조각만 분리해 커밋 시점에 병합에 가까운 처리를 한다 [38:47]
  • SQL 트랜잭션은 단순한 독립 fork가 아니라 변경 중인 row에 사실상 락을 걸어 충돌을 막고, 커밋 시점의 merge hell이 생기지 않도록 제어한다 [39:44]

22. 새 시스템은 Wild West 자유도와 대규모 읽기 중심 구조가 필요하다

  • 기존 환경은 여러 데이터베이스 위에서 자유로운 데이터 추가와 SQL 트랜잭션을 허용했고, 잦은 성능 문제를 사람의 운영 작업으로 버티는 Frankenstein식 구조에 가까웠다 [41:37]
  • Postgres는 본질적으로 데이터를 단일 머신에 두는 구조였고, 당시 Jane Street의 가장 큰 컴퓨터급 장비가 Trino DB를 돌릴 정도로 단일 머신 한계가 요구사항을 압박했다 [42:06]

23. 완전한 트랜잭션 대신 제한된 일관성 범위를 선택한다

  • Postgres에서 데드락은 많은 락을 잡는 과정에서 발생하는 심각한 성능 문제였고, 기존 운영에서는 데드락을 감지한 뒤 관련 쿼리를 종료하는 방식으로 대응했다 [43:22]
  • 새 데이터 웨어하우스는 Postgres를 단순히 더 잘 만든 버전이 아니라, 트랜잭션이 만드는 문제를 피하기 위해 어떤 보장을 포기할 수 있는지부터 정해야 했다 [43:42]

24. 단일 테이블 원자성과 컬럼형 저장의 update 비용 사이에서 타협한다

  • 최종 설계는 중간 지점을 택해 단일 테이블에는 일관된 쓰기를 허용하고, 거래 목록처럼 누락이나 중복이 치명적인 로그성 데이터에는 원자적 append와 order-preserving write를 보장한다 [45:36]
  • 거래 데이터는 source of truth에서 다시 가져와 최신화할 수 있고 대부분의 변경이 append이기 때문에, 여러 테이블을 하나의 트랜잭션으로 묶지 않아도 실무상 필요한 일관성 대부분을 유지할 수 있다 [45:58]

25. 비동기 쓰기와 읽기 가능 시점 분리

  • 모든 쓰기를 비동기로 처리하면 커밋은 즉시 승인되지만, 독자가 그 결과를 바로 볼 수는 없고 원자성·순서 보장은 별도 의미론으로 유지된다 [48:11]
  • 쓰기와 읽기 사이의 지연 구간에서 데이터가 컬럼형 저장소의 적절한 위치로 들어가고, 필요하면 압축도 다시 수행되며, 읽기 대기자나 쓰기 커밋 대기자에게 비용이 직접 전가되지 않는다 [48:30]

26. 내부 사용자 환경에서 가능한 쓰기 인터페이스 절충

  • 상용·오픈소스 시스템은 사용자를 매번 교육해야 하기 때문에 이런 비동기 쓰기 의미론을 잘 택하지 않지만, 사내 사용자만 상대하는 환경에서는 작동 방식과 이유를 직접 공유할 수 있다 [49:23]
  • SQL은 1급 읽기 인터페이스로 남아도 쓰기 인터페이스까지 SQL일 필요는 없고, Trader DB의 쓰기는 대체로 사람의 즉흥 쿼리보다 잘 정의된 소프트웨어 시스템을 통해 발생했다 [49:49]

27. Parquet 직접 접근 차단과 시스템 경계 유지

  • Superstore의 기반 데이터는 Parquet 파일로 저장되지만, 사용자가 분산 파일을 직접 읽어 임의 작업을 수행하는 요청은 계속 거부된다 [51:26]
  • 데이터베이스가 디스크 파일을 직접 읽는 도구가 아니라 시스템 인터페이스를 통해 접근되는 것처럼, Parquet 파일도 내부 구현 세부사항으로 남아야 한다 [51:56]

28. 사용 로그, 스키마 진화, 수평 확장의 필요성

  • 직접 파일 접근을 막아야 전체 읽기·쓰기 로그를 확보할 수 있고, 이는 TraderDB 같은 기존 시스템에서 어려웠던 폐기와 스키마 진화를 가능하게 하는 기반이 된다 [53:05]
  • 500명이 매일 조회하는 테이블을 삭제하려면 실제 사용자가 누구인지, 뷰와 중첩 뷰를 통해 간접 참조되는지, 어떤 데이터 범위가 필요한지까지 파악해야 한다 [53:18]

29. 데이터 폭증과 전사적 활용 확대

  • 데이터 양과 사용 강도가 폭발적으로 늘고, 머신러닝 기반 접근까지 합류하면서 데이터 시스템에 걸리는 압력이 커졌다 [54:47]
  • 여러 테라바이트를 효율적으로 조회할 수 있는 시스템이 생기면 트레이더와 리서처를 넘어 사이버보안의 네트워크 접근 로그, 도구·컴파일러의 코드 리뷰 이력, 빌드 기록까지 새 활용처가 생긴다 [55:09]

30. 외부 데이터 웨어하우스 대신 자체 구축을 택한 이유

  • Snowflake와 Databricks 같은 클라우드 SaaS 데이터 웨어하우스는 성숙한 제품이지만, 쿼리 비용이 높아 실행할 쿼리 자체를 달러 비용 기준으로 고민하게 만든다 [56:44]
  • Jane Street의 많은 데이터는 온프레미스 시스템에서 생성·관리되므로, 쿼리를 위해 대량의 데이터를 클라우드로 복사하는 방식은 적합하지 않다 [57:24]

31. 사용자 요구를 거부하지 않는 내부 플랫폼의 장점

  • Superset 같은 도구 사용을 보면 더 나은 방식이 있는지 따져볼 필요는 있지만, 사용 사례 자체를 부정하면 안 되는 상황이 있었다 [1:00:01]
  • 트레이더들은 자신들이 무엇을 이해하려는지 깊이 고민한 사용자들이고, 내부 플랫폼은 벤더보다 훨씬 더 많은 경우에 “가능하다”고 답할 수 있었다 [1:00:27]

32. 협업자와 사용자 신뢰가 초기 도입을 가능하게 한 구조

  • 프로젝트는 한 사람의 성과가 아니라, 오래 일한 협업자들과 Sam 같은 리더가 Jane Street에서 가치 있는 소프트웨어의 조건을 전달하면서 형태를 갖췄다 [1:01:10]
  • 잠재 사용자들에게 무엇을 만들고 왜 필요한지 미리 공유했고, 실제 시스템이 생겼을 때 바로 사용할 준비가 되도록 조직적 조율이 병행됐다 [1:01:38]

33. 위험을 감수하는 문화와 10페타바이트 스토리지 결정

  • 조직 문화에는 다른 팀이 합리적인 시도를 하고 있다는 신뢰와, 소프트웨어 프로젝트도 일정한 실패 가능성을 가진 베팅이라는 인식이 함께 있었다 [1:03:20]
  • Superstore를 뒷받침할 스토리지 장비를 언제 사고 얼마나 크게 잡을지가 초기 의사결정의 큰 쟁점이었고, 2022년에는 코로나 이후 공급망 지연으로 리드타임도 길었다 [1:03:55]

34. 메타데이터 저장소 선택이라는 초기 설계 후회

  • Superstore의 여러 설계 베팅은 전반적으로 잘 맞았지만, 가장 후회되는 결정은 메타데이터 처리 방식이었다 [1:05:23]
  • 컬럼형 데이터베이스에서 메타데이터는 테이블 구조와 현재 데이터 위치를 가리키는 포인터를 담는 핵심 구성요소이고, 많은 시스템에서는 권한 정보까지 포함한다 [1:05:42]

35. 스트리밍 쓰기와 분산 합의가 만든 지연 병목

  • CockroachDB는 여러 면에서 적합했지만, Superstore가 커질수록 특히 쓰기 지연에서 문제가 커졌다 [1:07:11]
  • Superstore 데이터의 상당 부분은 스트리밍으로 들어오며, 이 스트림을 테이블로 물질화하는 목표 지연은 1초 미만에 가까웠다 [1:07:26]

36. CockroachDB 제거와 Arya 기반 단일 시퀀서 선택의 트레이드오프

  • 분산 합의는 여러 서버가 데이터 위치에 대해 다수결로 합의하게 만들어 장애 허용성을 주지만, 네트워크 통신과 동기화가 시스템 속도를 제한한다 [1:08:54]
  • 단일 CPU 자체는 많은 결정을 빠르게 처리할 수 있으므로, 병목의 핵심은 한 장소로 가는 행위가 아니라 분산 동기화 비용에 있었다 [1:09:38]

37. Superstore의 고가용성 설계가 단일 테이블 커밋 병목으로 남는다

  • 대형 기술 시스템에서도 다운타임 원인은 단일 장애점보다 소프트웨어 버그인 경우가 많고, 처음 방어하려던 하드웨어·인프라 실패와 실제 장애 원인이 어긋난다 [1:12:00]
  • Superstore의 핵심 메타데이터 시스템은 높은 가용성 요구를 기준으로 설계됐고, 그 선택이 전체 확장성에서 필요한 처리량을 막는 트레이드오프로 이어졌다 [1:12:17]

38. Hive는 연구·학습·시뮬레이션을 위한 대규모 계산 클러스터로 확장된다

  • Hive는 Jane Street의 모든 컴퓨터가 아니라, 많은 컴퓨터가 동시에 필요한 계산을 실행하는 장소이며 신경망 학습과 여러 날의 거래 데이터 분석이 대표적인 사용처다 [1:13:06]
  • 실제 거래 시스템 코드를 시뮬레이션 모드로 실행해 광범위한 과거 데이터 위에서 대규모 실험을 수행하는 작업도 Hive의 중요한 용도다 [1:13:34]

39. 신경망 학습 수요가 폭증하면서 Hive 자체가 인프라 리스크가 된다

  • Hive 컴퓨트 수요 증가의 대부분은 신경망 학습과 그 학습에 투입할 피처 데이터 처리에서 발생한다 [1:14:44]
  • 신경망 학습은 거의 전적으로 GPU에서 실행되지만, 학습 전후의 데이터 생산과 분석은 상당 부분 CPU에서 일어난다 [1:15:04]

40. 격리와 인터페이스 설계가 저장소 장애를 줄이는 핵심 수단이 된다

  • Hive 작업은 거래 시스템과 우발적으로 상호작용하지 못하도록 격리되어야 하며, 동시에 Hive가 접근해야 하는 시스템도 과도한 요청으로 쓰러지지 않게 다뤄져야 한다 [1:16:32]
  • 많은 데이터 접근은 여전히 NFS를 통해 이뤄지고, NFS는 디렉터리 나열과 파일 생성 같은 동작에서 특이한 잠금 의미론을 가진다 [1:17:04]

41. 이미 쓰이는 Hive를 개선하려면 전체 스택과 실제 사용자 흐름을 이해해야 한다

  • Superstore는 처음부터 API와 트레이드오프를 설계할 여지가 있었지만, Hive는 이미 많은 사람이 연구 작업의 중심에서 쓰는 오래된 시스템이라 API를 자유롭게 다시 정하기 어렵다 [1:18:30]
  • 기능을 만들어 배포해도 사용자가 쓰지 않는 문제가 있었고, 실제 사용자는 Hive API를 직접 호출하기보다 그 API를 감싼 다른 시스템을 통해 작업하고 있었다 [1:19:29]

42. 향후 Hive의 핵심 과제는 스케줄링 인센티브와 긴급도 모델링이다

  • Hive는 한정된 컴퓨터 자원을 여러 작업에 배정해야 하며, 수요가 공급을 넘을 때 어떤 작업을 먼저 실행할지 정하는 메커니즘 설계 문제를 안고 있다 [1:21:17]
  • Jane Street에서는 CPU 시간·GPU 시간당 달러 입찰과 2가격 경매를 쓰지만, 현재 구조만으로는 사용자가 작업 실행 선호를 충분히 표현하기 어렵다 [1:21:41]

43. 시간 선호까지 포함한 스케줄링 문제

  • 주기적으로 도는 작업은 마지막 실행과 다음 실행 사이의 간격이 중요하며, 하루 단위 모니터링에서는 20시간·28시간 간격은 괜찮아도 4시간·44시간 간격은 품질을 크게 떨어뜨린다 [1:24:00]
  • 시간에 따른 효용까지 모델링하면 스케줄링은 더 복잡해지고, 이미 GPU 작업의 gang scheduling 때문에 특정 수의 GPU를 한꺼번에 확보해야 하는 조합 문제가 존재한다 [1:24:38]

44. 즉시 입찰 모델이 사용자에게 떠넘기는 복잡성

  • 기존 방식은 모든 작업이 지금 실행될 수 있는지를 놓고 입찰하고, 가장 높은 입찰이 이기는 구조라 작업의 실제 시간 선호를 충분히 반영하지 못한다 [1:26:12]
  • 큰 작업을 당장 돌리려는 사용자는 과도한 비용을 낸 뒤, 밤까지 기다렸다면 더 저렴했을 것이라고 후회할 수 있다 [1:26:28]

45. 대규모 작업 시작 비용과 BitTorrent식 배포

  • 또 다른 문제는 worker 단위의 실행 효율이며, 동일한 프로세스 1,000개를 데이터 shard 1,000개에 돌리려면 코드가 먼저 1,000개 코어에 배포돼야 한다 [1:27:31]
  • 코드 크기가 크면 바이트를 복사하는 일 자체가 비싸지고, 한 장소에 있는 코드를 1,000대의 컴퓨터가 동시에 가져오면 원본 위치가 병목이 된다 [1:27:52]

46. 유기적으로 자란 API와 계산 그래프 최적화

  • Hive의 주요 접근 방식 중 하나는 computation graph API이며, 태스크와 태스크가 만드는 데이터 의존성을 그래프로 표현하고 Hive가 이를 위상 순서대로 실행한다 [1:30:23]
  • 이 그래프를 더 빠르게 실행하려는 순간 query planner와 같은 문제가 생기며, 작업 그래프 자체와 각 머신 안에서 수행되는 계산을 함께 최적화해야 한다 [1:30:50]

47. 선언적 계산 그래프와 도메인 특화 인터페이스

  • Pandas는 eager mode에 가까워 요청한 연산을 즉시 실행하지만, Polars는 lazy execution으로 연산을 조각별로 쌓아 전체 쿼리를 만든 뒤 시스템이 이를 보고 최적화할 수 있다 [1:32:01]
  • Spark 같은 다른 분산 시스템도 비슷하게 분산 쿼리 엔진의 성격을 가지며, Hive에도 이런 선언적이고 최적화 가능한 스타일의 인터페이스가 필요하다는 결론으로 계속된다 [1:32:40]

🧾 결론

  • 이 대화의 중심 메시지는 데이터 웨어하우스 구축이 단순한 저장소 선택이 아니라, 사용자의 자유도·운영 안정성·일관성 보장·비용 구조를 함께 조율하는 아키텍처 문제라는 점이다.
  • Jane Street는 외부 SaaS 데이터 웨어하우스 대신 자체 구축을 택했는데, transcript 기준으로는 온프레미스 데이터, 금융 특화 요구, 쿼리 비용, 경쟁우위 노출 리스크가 중요한 이유로 제시된다.
  • Superstore의 설계는 “모든 SQL 기능을 다 지원하는 범용 데이터베이스”보다 “내부 사용자가 실제로 많이 하는 대규모 읽기·조인·분석을 안정적으로 빠르게 처리하는 시스템”에 초점을 맞춘다.
  • 메커니즘 디자인에서 출발한 관점은 Hive 스케줄링 문제에서도 이어진다. 사용자가 단일 달러 입찰로 모든 선호를 표현하기 어렵기 때문에, 시간에 따른 효용과 긴급도를 더 잘 모델링하는 문제가 남아 있다.
  • transcript에서 확인되는 범위 안에서, Jacob Baskin의 핵심 관심사는 이론적으로 완벽한 시스템보다 사용자가 이해하고 신뢰하며 실제 업무에 채택할 수 있는 시스템을 만드는 데 있다.

📈 투자·시사 포인트

  • 데이터 인프라 투자는 “제품을 사느냐 직접 만드느냐”의 문제가 아니라, 데이터 위치, 보안 요구, 쿼리 비용, 내부 사용 패턴, 경쟁우위 노출 가능성을 함께 따지는 전략적 선택으로 봐야 한다.
  • 컬럼형 저장, 비동기 쓰기, 접근 로그, 권한 제어, 스키마 진화 같은 기능은 대규모 조직에서 데이터 활용이 늘어날수록 단순한 성능 개선이 아니라 운영 리스크 관리 수단이 된다.
  • 클라우드 데이터 웨어하우스가 성숙해도, transcript에서 제시된 Jane Street 사례처럼 특수한 온프레미스·금융·고빈도 분석 요구가 강한 조직은 자체 시스템의 경제성이 커질 수 있다.
  • 대규모 GPU·CPU 클러스터인 Hive 사례는 AI·신경망 학습 수요가 커질수록 컴퓨트뿐 아니라 저장소, 코드 배포, 스케줄링, 사용자 인센티브 설계가 병목이 될 수 있음을 시사한다.
  • 검증 필요: Superstore, Hive, Arya의 현재 구현 세부사항이나 Jane Street 내부 운영 수치는 transcript 밖의 정보이므로, 실제 기술 평가나 벤치마크 판단에는 공개 자료와 추가 확인이 필요하다.

⚠️ 불확실하거나 확인이 필요한 부분

  • Superstore, TraderDB, Hive, Arya의 내부 구조와 현재 운영 상태는 발표자의 설명에 기반한 것이므로, Jane Street의 공식 자료나 후속 문서로 최신 상태를 확인필요가 있다.
  • 10페타바이트 규모 스토리지 구매와 “여덟 자리 달러에 가까운 비용” 언급은 내부 의사결정 사례로 제시됐지만, 실제 계약 규모·최종 비용·현재 증설 규모는 외부 검증이 필요하다.
  • CockroachDB가 Superstore 메타데이터 병목이 됐다는 설명은 특정 워크로드와 설계 선택에 대한 사례로 봐야 하며, CockroachDB 일반 성능 평가로 확대 해석해서는 안 된다.
  • 자막 기반 정리: 타임스탬프가 있는 자막을 기준으로 정리했으며, 고유명사·수치·인용은 원문 확인 필요 시 별도 검증한다.
  • 영상 속 주장: 발표자의 해석·전망·비교는 확인된 외부 사실이 아니라 영상 속 주장으로 분리해 읽는다.
  • 검증 필요: 수치, 기업 실적, 정책·시장 전망은 발행 전 최신 자료로 별도 검증이 필요하다.

✅ 액션 아이템

  • 노트의 핵심 태그를 데이터웨어하우스, 분산시스템, 메커니즘디자인, Jane Street, Superstore, Hive, 시스템설계 중심으로 정리한다.
  • Superstore 설계 원칙을 “포기한 것과 얻은 것” 관점으로 따로 요약한다: full SQL write semantics, cross-table transaction, 직접 Parquet 접근 제한, 비동기 write, 단일 테이블 원자성.
  • Hive 스케줄링 파트를 별도 아이디어 노트로 분리해 GPU gang scheduling, 시간 선호, 효용 곡선, 입찰 기반 자원 배분의 한계를 정리한다.
  • CockroachDB에서 Arya 기반 시퀀서로 전환한 대목을 “분산 합의 vs 단일 시퀀서” 트레이드오프 사례로 표시하고, 장애 허용성·처리량·운영 복잡도 기준으로 비교한다.

❓ 열린 질문

  • Superstore가 단일 테이블 원자성만 보장하면서도 사용자들이 데이터 일관성을 충분히 이해하고 안전하게 사용할 수 있도록 만든 구체적 UX·문서화·교육 방식은 무엇이었을까?
  • Arya 기반 단일 시퀀서 구조에서 쓰기 중단이 발생했을 때, 읽기 전용 전환과 복구 절차는 실제 운영에서 어느 정도 자동화되어 있을까?
  • Hive 스케줄링에서 사용자가 복잡한 효용 곡선을 직접 쓰지 않게 하면서도 시간 선호를 잘 표현하게 만드는 API는 어떤 형태가 가장 현실적일까?

관련 문서

공통 태그와 주제 흐름을 기준으로 같이 보면 좋은 문서를 이어서 제안합니다.