turbopuffer 創辦人的起點
Building Turbopuffer: Gergely Orosz (@pragmaticengineer ) × Simon Eskildsen (CEO)

Gergely Orosz 訪問 turbopuffer 創辦人 Simon Eskildsen:從丹麥自學寫程式、在 Shopify 待八年,到用 S3 做出資料庫、Cursor 成為首位客戶,以及怎麼看募資。
這場講了什麼
- 從自學到 Shopify:Simon Eskildsen 十一二歲開始摸網頁與 PHP,高中靠一篇談舊手機的文章被 Shopify 找上,2013 年搬到加拿大。沒念電腦科學,就把每個聽不懂的詞記下來、晚上回家讀。
- 用估算檢查 benchmark:Simon 在 Shopify 維護一張 Napkin Math 表,記下記憶體、SSD、S3 的頻寬與價格。有人拿 benchmark 說明資料庫選型時,先算「這件事照理要多久」,對不上就追到底。
- 用 S3 做向量資料庫:替 Readwise 做的推薦引擎算下來成本撐不住,Simon 就想把向量放上 S3,2023 年整個夏天都在找繞過 S3 高延遲的做法。第一版很簡單:叢集成檔案、前面擋一層 NGINX 快取,跑在單台機器的 Tmux 裡。
- Cursor 是第一個客戶:Simon 在 Twitter 發布後,Cursor 主動來信。Simon 親自飛到舊金山,對方一兩週內搬完,帳單比前一家供應商低 95%。
- CPU 一樣缺貨:Simon 說,RL 訓練與各種 agent 都在吃 CPU,連大公司之間都在搶 CPU 配額。turbopuffer 只需要 CPU、NVMe SSD 與 S3,而且能跑在很多種機型上。
- 募資的六個理由與遠端文化:Simon 把募資分成研發、成長、創辦人的自尊、獎勵員工、策略合作與併購六種,並說明公司全遠端,靠「campfire」與 turbo credit 讓人自願聚在一起。
影片從哪一段開始看19 段
- 00:24從 PowerPoint 開始學寫程式Simon Eskildsen 從 PowerPoint、FrontPage 一路摸到 PHP,在丹麥文資料用完後靠玩 World of Warcraft 把英文練好。
- 03:02資訊奧林匹亞高中時透過網友得知 International Olympiad in Informatics,開始解演算法類的題目。
- 04:17被 Shopify 找上一篇談換回舊手機的文章上了 Hacker News 並被 New York Times 報導,Simon 因此受邀到 Ottawa 面試,2013 年搬去加拿大,原以為只是先工作一年。第一年把聽不懂的詞都記下來,晚上回家讀,自己補電腦科學。
- 08:55Shopify 的基礎架構公司年成長 120%、140%,Simon 落在 Rails 與資料庫之間,經歷 sharding、多資料中心,也拆過那台 128 GB、沒人知道裝了什麼的 Redis。
- 11:58做出 Toxiproxy為了測試資料庫掛掉時應用程式的行為,做了一個放在資料庫前面的 proxy,可以用 API 叫它中斷、變慢,在 CI 裡找出不少 MySQL driver 與 Rails 的問題。
- 14:26離開 Shopify從 2013 年待到 2021 年,Simon 想換個環境學得更快。在職時與後來的共同創辦人 Justine 寫了整套 storefront,動工 18 個月後就承載了幾乎全部流量。
- 15:53Napkin Math 專案一張公開在 GitHub 的表,列出 DRAM、NVMe SSD、EBS、S3 的頻寬與價格,並附一支 Rust 腳本產出,Simon 還做成閃卡背下來。
- 17:00用估算檢驗 benchmark看到團隊拿不可靠的 benchmark 選資料庫時,Simon 用估算反問;離職後也追查過 MySQL 在一台小機器上為何能一秒寫一萬次,答案是 fsync 會批次處理。
- 21:05為什麼做資料庫三個因素湊在一起:在 Shopify 做搜尋的痛苦經驗、Napkin Math、離職後替朋友公司做 Readwise 推薦引擎時發現向量太貴。
- 24:182023 年的 S3 方案夏天反覆摸索如何在 S3 的高延遲下做搜尋,7 月做出端到端版本,10 月發布。
- 26:51最簡單的第一版向量分群、每群存成一個檔,另有一個存各群中心的檔,搜尋時先下載中心再下載最近的幾群;前面擋一層 NGINX 快取,跑在單台機器的 Tmux 裡。
- 28:31Cursor 成為首位客戶發布後 Cursor 主動來信。Simon 推測對方是因為向量全放在記憶體、單位經濟算不過來;飛到舊金山後,現場先幫忙看 Postgres 的 auto vacuum 問題。
- 33:04遷移與降價Justine 加入後先把 NGINX 快取換成直接的檔案快取;Cursor 一兩週內搬完,帳單比前一家供應商低 95%。
- 35:13見 Jensen Huang在 NVIDIA 的活動上,Simon 以「轉行賣電子菸」開玩笑,團隊事前交代別提 CPU,結果 Simon 一直講 CPU 有多好用。
- 38:30CPU 也缺貨Simon 認為 RL 與 agent 都吃 CPU。turbopuffer 得跟雲端業者談哪些區域有 CPU,關鍵在哪裡有電;turbopuffer 只需要少量 CPU、NVMe SSD 與 S3,也能跑在很多種機型上。
- 43:50對創投的看法一開始 Simon 承諾 Cursor 的帳單降到每月 4k,只想把 GCP 帳單壓到低於 Cursor 的帳單,並不確定這是不是創投等級的生意。
- 47:05開誠布公地募第一輪Simon 想雇用 IOI 認識的 Boyan,卻付不起薪水,於是找矽谷的一位人士,說好年底沒起色就收掉、退還款項。
- 49:02募資的六個理由研發、成長、創辦人自尊、獎勵員工、策略合作、併購;turbopuffer 第一次募資為了研發,第二次是讓員工變現一部分股權。
- 52:31全遠端與 campfire公司一年聚兩次,另有隨機聚集的 campfire;在外演講或寫文章的人可得 turbo credit,用來升等機票。
值得記的話5 句
you can just sit down and read a paper and just figure it out if you spend enough time on it
只要花夠多時間,你就能坐下來讀一篇論文並搞懂它06:23Either there's a gap in my understanding, which is very likely, or you would benchmark the wrong thing.
不是我的理解有缺口,這很有可能,就是你測錯了東西17:54So you see simplicity just almost always wins
所以你會看到,簡單幾乎總是贏44:39The third reason to raise capital is for the founder's ego.
募資的第三個理由是創辦人的自尊49:36you have to be very honest about what reason you are raising
你得很誠實地面對自己為什麼要募資51:10
名詞與人物9 個
- turbopuffer
- Simon Eskildsen 創辦的搜尋資料庫,資料放在 S3,熱的部分才載入快取
- Napkin Math
- Simon 在 GitHub 維護的一張表,列出 DRAM、SSD、S3 等的頻寬與價格,用來估算系統「照理要多久」
- Toxiproxy
- Simon 在 Shopify 寫的 proxy,放在應用程式與資料庫之間,可用 API 讓連線中斷或變慢,測試失敗處理
- IOI
- International Olympiad in Informatics,國際資訊奧林匹亞,Simon 高中時參加
- Readwise
- 存文章再搜尋的加拿大公司,Simon 替它做推薦引擎時發現向量儲存太貴
- Justine
- Simon 在 Shopify 的同事,後來成為 turbopuffer 共同創辦人
- Gergely Orosz
- 本場主持,The Pragmatic Engineer 作者
- campfire
- turbopuffer 的做法:幾個人在某地聚集,其他人自願加入
- turbo credit
- 在外演講、寫文章等額外貢獻可得的點數,用來升等機票
提到但沒有展開
- Simon 提到 Cursor 共同創辦人早期的推文講過用 S3 做 KV caching,並認為這類做法之後會變多。
- 談 CPU 供應時,Simon 說架構上還有不少可以調整的地方來因應,但寧可把工程力氣花在別處。
同一站:Vector Databases / RAG1 場
- turbopuffer 創辦人的起點你在這裡