世界を動かす技術を、日本語で。

スパイラル

概要

  • AI時代 の到来により、 データシステム は第三世代へ突入
  • 従来の レガシープラットフォーム ではAIワークロードに対応不可
  • Spiral は機械消費を前提とした新インフラを構築
  • Vortex フォーマットで圧倒的なスループットとセキュリティを実現
  • 未来は マシンスケール、今こそ進化の時

データシステムの三世代

  • 第一世代 :人間規模の入力・出力、Postgresなどのアプリケーションデータベースが主流

  • 第二世代 :ビッグデータ時代、機械規模の入力、データレイクとデータウェアハウスの分岐とLakehouseへの収束

  • 第三世代 :AI時代、機械規模の出力が求められ、従来システムでは対応困難

    • 第一世代 :人がプロフィールを作成・閲覧・更新するなど、明確なアクションを前提
    • 第二世代 :Webスケールでの自動データ収集やイベント記録、大規模な分析に特化
    • 第三世代 :AIが大量かつ高速に全データを消費、従来のダッシュボードや集計では不十分

機械が求めるもの

  • NVIDIA H100 などのGPUは、1秒間に400万枚の100KiB画像を消費可能な帯域幅
  • AIワークロード ではペタバイト級データの高速スキャン・ランダムアクセス・検索が必須
  • Parquetやオブジェクトストレージは1KB~25MBのデータで非効率、S3遅延でネットワークオーバーヘッドが膨大
  • ベクトル埋め込み・小画像・大規模ドキュメント など、現行システムが苦手なデータ形式

現状インフラの限界とその症状

  • 価格性能問題 :AIエンジニアがParquet→Arrow→テンソル変換→キャッシュ→学習という非効率な手順を強いられる
  • セキュリティ問題 :データベース資格情報やS3バケット権限の乱用、監査ログの形骸化
  • 根本原因 :第二世代ツールの寄せ集めで第三世代の課題に対応しようとする構造的ミスマッチ

既存アプローチの限界

  • Lakehouse :データレイクとウェアハウスの継ぎ接ぎ、統一的なストレージ・権限・APIの不統一
  • WebDataset :AI向けに即応性はあるが、表現力・パフォーマンス・ガバナンス不足
  • OpenAI・Anthropic などは既存データウェアハウスを使わず独自インフラを構築

SpiralとVortexのアプローチ

  • Vortex :最先端のカラムナファイルフォーマット、Linux Foundationに寄贈
    • Parquet比で10~20倍速のスキャン、5~10倍速の書き込み、100~200倍速のランダムリードを実現
    • S3からGPUへの直接デコード対応、CPUボトルネックを排除
  • Spiral :Vortex上に構築されたデータベース、オブジェクトストアネイティブ・統合ガバナンス・マシンスケールスループット・単一API
    • Fearless permissioning :高速性とセキュリティを両立する権限管理を基盤に内蔵
    • 1KB~25MBの「不気味の谷」問題を解消、データサイズごとに最適格納・アクセス
  • 資金調達 :Amplify Partners・General Catalystから2200万ドル

Spiralがもたらす価値

  • GPUの帯域を最大限活用、データロードの手順を1クエリに短縮
  • セキュリティ悪夢の解消 :時限・粒度の細かい権限管理と監査
  • AIエンジニア の生産性向上、インフラ作業からAI開発へ集中可能

マシンスケールの未来

  • 現行システム非対応 の超高速・多様なデータアクセスを実現
  • AIリーダーとラガードの格差拡大、AI対応データインフラの構築が将来の優位性に直結
  • コンピュータビジョン・ロボティクス・マルチモーダルAI 分野の設計パートナーと協業
  • データインフラに10%以上の時間を費やしているなら相談推奨

結論:進化か、取り残されるか

  • 懐疑論 が否定に変わるほど、AI時代の変革は既に進行中
  • インフラの進化は必須、 Spiral はその最前線
  • 未来は待ってくれない、進化を主導するか、取り残されるかの選択

  • 連絡先:hello at spiraldb dot com
  • まだスプレッドシート管理の方は今は対象外
  • Taylor SwiftPostgres、著者は同世代
  • テーブルは流行の波のように再興
  • Rust 由来の「fearless」用語も採用

Hackerたちの意見

このチームの活動をしばらくフォローしてるけど、やってることがめっちゃ面白いよね。彼らが作ったファイルフォーマット、Vortexは、この分野での革新としてすごく歓迎されるものだと思う。実験を始めて、Vortexがどんなふうに私たちの製品を改善できるか楽しみだな。素晴らしい成果だね、ウィルとチームにおめでとう!

https://vortex.dev がFirefoxで動かないんだけど:アプリケーションエラーが発生しました。vortex.devを読み込む際にクライアント側の例外が発生しました(詳細はブラウザのコンソールを確認してね)。コンソール:webglコンテキストを作成できませんでした。

パーケット地獄を改善してくれる人、大歓迎だよ…

「なんでパーケットが嫌いなの?」

「3.0」って本来は暗号通貨のことじゃなかったっけ?今はAIになってるの?追いかけるのが大変だな。

AIは4.0だと思う。EDIT> もしかしたら、4次元を時間と呼ぶ人がいるけど、実際には4次元の空間があるってことかな。だから、これが3次元データなら、4次元は何になるんだろう?

いくつかの暗号会社がちょっとおしゃれにして、3.0を飛ばして4.0に行こうとしたから、そうなると私たちは5.0、4.0、3.1、2.2、または2.1のどれかになるよね。暗号の世界についてどう感じるか、どのグループを検証してたかによって。

「いや、Web 3.0はセマンティックウェブだったよ。幸いなことに、インターネット全体にメジャーバージョンを持たせるっていう馬鹿げたアイデアは、その時に消えた。今はそれをやろうとする人を無視しても大丈夫だね。」

ちょっと混同してるよ。参考までに言うと、Web3はせいぜい蛇油か願望的な考えに過ぎない。みんなが古いWeb 2.0を批判したがるけど、概念的にはまだまだ通用するよ。もしそれをただのバズワードとしてしか知らないなら、少し戻って勉強した方がいいよ。段階的な変化を求めてるならね。もしかしたら、Web 3.1がエンシティフィケーションから救ってくれるかも。

新しい時代に入ったと思うから、このウェブのバージョンを「AAI 1」と考えてる。来年は「AAI 2」になるし、そんな感じで続いていくと思う。この時代は「AI支配者の年」とか「Anno Domini Artificialis Intellegentiae Artificialis」と呼ばれることになるだろうね(グーグル翻訳によると)。

このVortexエンジンって、OLTPとOLAPの強化版みたいな感じ?

「どこかでトランザクションについて触れてる?もしかしてOLAPになるのかな?」

記事からすると、OLAPだけの話に聞こえた。

これが何についてのことか全然わからない。

「“mongodbはウェブスケール”って言ってた頃、覚えてる?それが今は“spiralはAIスケール”って感じだね。」

「“革命的”な主張には懐疑的になるくらいデータシステムを作ってきたから、”AI時代のために作られた”みたいな大げさな表現にはちょっと抵抗がある。でも、…革命的な主張や”AI時代のために作られた”みたいな大きなことを言っちゃうけど。」

「多分、友情の力と巨大なドリルで巨大ロボットを倒すか、呪われた村で中毒性のある渦にハマるかのどっちかだね。」

「最近のハードウェアの進化を活かした低レベルの最適化やフォーマット/パイプラインの統一と簡素化のおかげで、すごくパフォーマンスの高いDBになるって読んだ。」

私の理解では、データベースは基本的にGPUに直接供給できるバイナリ形式でデータを保存し、大きなデータのストリーミングやバッチ処理に最適化されるってこと。つまり「機械が消費するために最適化されている」ってことはGPU向けってことだね。彼らのユースケースは、MLモデルのトレーニングで、GPUに大量のデータセットを供給する必要があるってこと。彼らは、トレーニングがGPUにデータを供給する速さによってボトルネックになっていると主張していて、そうでなければGPUはほとんど「IOを待っている」状態で、実際には計算していない。次のデータを取得して、GPU用に変換して、GPUに供給するのに時間がかかるから。でも、私は専門家じゃないから、これは記事からの私の見解に過ぎないよ。

「ちょっと気になるんだけど…俺はデータベースやAIエンジニアじゃないし、最後にGPUの作業をしたのは10年以上前だ。『H100を飽和させる』って指標の意味は何なの?GPUはただプロセスが終わるのを待ってるだけじゃなくて、並行していくつかのクエリやスキャンが動いてると思うんだけど。多くのDBやオブジェクトストアサーバーからデータを供給して、GPUをできるだけ使える状態にしてるんじゃないかな。GPUが高価だから、サーバーをもっと買って供給を続ける方が良い気がするけど、サーバーやDB/オブジェクトストアの読み込みを速くしたいとしても。」

おそらく、単純に生データのサイズとRUの物理的制限が組み合わさって、GPUをフル活用するのが難しいんだと思う。結局、CPU(パーケットの解凍・解釈・アップロード)や帯域幅(S3からの転送)がボトルネックになってしまう。彼らは、S3バケットからGPUへの低オーバーヘッドな経路を目指しているみたいで、同じ圧縮・高速ランダムアクセス、飛行中のS3からのストリーミングエンコーディング、GPUへのゼロコピーを狙っている。詳細は100%クリアじゃないけど、CPU/GPUバスを実際に飽和させることは難しいと思う。ただGPUの利用率を飽和させることはできるけど、それ自体がいくつかのボトルネックに依存していて、一般的にはバス帯域幅には依存しない。これは批判じゃなくて、AIモデルのGPU利用率を改善しない限り、これ以上は無理ってことだよ。

アイデアとしては、作業のパイプラインではスループットが最も遅いコンポーネントによって制限されるってこと。H100 GPUはたくさんのメモリ帯域幅を持ってる。だから、データストアとGPUのメモリの間のボトルネックをどうやって排除するかが問題になる。まずはストレージのボトルネック。ネットワーク接続ストレージは、キャッシュされていないデータにとっては通常ボトルネックになる。次に、データをデコードするためのCPU作業がある。スパイラルは、彼らのテーブルフォーマットがGPUによってロード可能で、さまざまなCPU依存のデコードステージをバイパスできると主張している。ストレージとCPUのボトルネックを排除したら、残るボトルネックはホストメモリとGPUの間にあるPCIバスで、彼ら自身ではそれを解決できない。(バスが飽和しているときに並列化しても助けにはならない。)彼らができるのは、ネットワーク、ホストバス、GPUをより効率的に使うこと。データを圧縮してパッキングすることで、機械的な共感を高めている。商業化の方法については答えがないけど、私の予想では、追加のパフォーマンスや機能を提供するVortexの独自フォークを使うか、商業サービスや統合を提供して使いやすくするんじゃないかな。オープンソースのリリースは、顧客に「信じる理由」を与える、マーケティング用語で言うところの。

パーケットの後継は歓迎だけど、もっと複雑なフォーマットにはあまり興味がないな。ランダムアクセス時間の改善はいいけど、正直言うと、単一のパーケットファイルに複数のテーブルを保存するだけでいいんだよね。「埋め込みWASMエンコーダーによる可能な拡張」って読んだとき、これをプロジェクトに組み込むために必要なC++リンカーヘルがすでに想像できた。多くの人が「AIスケール」を必要としているとは思わないし。

そもそも「AIスケール」って何なんだ?

複数のテーブルを1つのファイルに保存するのは、基本的な圧縮されていないtarボールに複数のParquetファイルを保存することで簡単に解決できるよね。これで、全体をダウンロードしなくてもファイルのどの部分にもアクセスできるし。もしくはarやcpioでもいいかも。tarはリンクのサポートとか余計な機能が多すぎるから。基本的には、非常にシンプルなディレクトリ構造を実装していて、予測可能なオフセットにシンプルなインデックスがある、よく標準化された何かがあればいいんだけどね。もしそんなツールがあれば。

LanceはParquetの問題を解決するために既に存在してるけど、ランダムアクセスの速度がめちゃくちゃ速いんだよね。

「1つのファイルに複数のテーブルとデータベースのような意味合いが欲しい」なら、DuckDBがぴったりだよ。モダンなParquetが欲しいなら、Lanceフォーマット(またはDBのようなCRUDセマンティクスのためのLanceDB)がいいね。

これはきれいなウェブサイトだけど、実際には何も見せてくれない、ただの宣伝文句だね。混乱している人のために言うと、「Vortex」の部分は使われている基本的なデータフォーマットだけど、このウェブサイト(Vortexのクリエイターによる)はデータベースじゃない。

スパイラルはVortex上に構築された私たちのデータベースです [...] 何も見るものがないのは当然だよ、基本的には彼らのブログに載せられたプレスリリースだから。

TigerbeetleのJoranがこれを投稿したのは面白いね。だから、信頼できる情報なんだろう。

「私たちはロンドンとニューヨークのオフィスで対面で仕事をしています。顔を合わせる方がいいからね。もし不安なら、答えは「はい、飛行機に乗って」ってこと。水曜日はピンクを着るよ。」 コメントなし。