SpacetimeDBは本当にスケールするのか?—水平スケーリングの神話を検証
Ok, but Does It Scale?

SpacetimeDBのブログが、データベースのスケーラビリティを「計算」「ストレージ」「ネットワーキング」の3次元に分解し、Postgres、Neon、CockroachDBと比較しながら、水平スケーリングの限界を解説。特に、CockroachDBのような分散OLTPデータベースは、競合するトランザクションに対して莫大なオーバーヘッドを支払い、単一ノードのPostgresよりも性能が劣ることを具体例で示す。SpacetimeDBはこの問題を回避し、競合下でも高い性能を発揮すると主張する。
水平スケーラビリティは、しばしば「より多くのコンピュータでより少ないことを行う」ことを意味する。概念的には、1台のコンピュータが1ミリ秒でできることを、10台のコンピュータが100ミリ秒で行うこともあり得る。
HNでの議論
61- timssopomo
Spacetimeは本当に面白い技術だと思うが、CRDBとの比較は適切ではないかもしれない。
私は以前Cockroach Labsで働いていた。CRDBが解決しようとしている問題は根本的に異なる。CRDBは、トランザクションが直列化可能で永続的であること、そしてアプリケーションがノードやリージョンの障害を生き延びつつ一貫性を維持できることを保証する必要がある場合に意味を持つソリューションだ。素朴なデプロイではシングルコアでの操作よりも大幅に遅くなるが、それはデータ損失なしにノード喪失を乗り切る能力のために支払う代償だ。
SpacetimeがCRDBの核となる問題、つまり単一ノード障害をゼロデータ損失または可用性の喪失なしに許容できることを保証する問題をどう解決するのかを示すものは何も見当たらない。デフォルトではトランザクションは完了前にディスクに書き込まれることが要求されるようで、単一ノードでは永続性を確保できるが、ネットワークオーバーヘッドを受け入れ、トランザクションスループット(少なくとも書き込みにおいて)を犠牲にしなければ、ノード間での一貫性を保証することはできない。
また、余談だが、私がほぼすべてのインシデントを担当して働いた数年間で、ネットワークがボトルネックになっているクラスタを見た記憶はない。他の何と同様、トレードオフは存在する。スループットを犠牲にして、一貫性と可用性を得る。そして、ノード障害によるデータ損失や可用性喪失を回避するための設計をする必要がなくなる。私の理解が間違っていなければ、Spacetimeはまったく異なる問題を解決している。
- chermi
本題から外れるが...私の友人が、SEASプログラム在籍中にハーバードのミニMBAで得た主な学び(冗談めかして言うが)は、VCやテック系のビジネス関係者の前で賢く見えるためには、この質問をすればいいということだった。
その後、実際にスタートアップを創業し、これは馬鹿げた質問ではないと気づいた。しかし、デフォルトの道がVC資金調達であるなら、それは循環論法なのかもしれない。うーむ。
- philippta
私は少し前にPostgresをシングルノードとマルチノード構成でCockroachDBとベンチマークしたが、その結果はこの投稿が言っていることと一致している。
https://github.com/philippta/postgresql-cockroachdb-benchmar...
- echohack5
Spacetimeをサイドプロジェクト(https://heat.echohack.app など)でたくさん使っている者として、その動作速度には常に感銘を受けている。
データベース分野では面白いことがたくさん起きていると思う。Vitess/Neki、ベクターストア、Spacetimeはすべて本当に良いことだ。データベース開発者の間にはドラマに満ちたタイムラインがあるように見えるのは残念だ。それは...すべて一緒になって、とてもエキサイティングだ。
とにかく、改善が必要ないくつかの点(その一部はこのブログ投稿で言及されている):
1. バックアップ(高速リカバリ)とディザスタリカバリ(低速で永続的なリカバリ)
これは大きなものだが、速度だけが満たさなければならない目的ではない場合もある。すべてがダウンした場合に、(最終的に)オンラインに復旧できるという確信が必要だ。現時点ではそれを実現する方法はあまりない。
2. 読み取りレプリカは分析ワークロードにとって確かに有用だろう
3. S3への永続的な書き込みは、断続的なバーストワークロード(CIシステムなど)にとって有用だろう
Spacetimeの皆さんはやるべきことがたくさんあると思う。それは必ずしも技術のせいではなく(技術も難しいが)、AIモデルがNeonとPostgresだけが存在するかのように決定したように見えるからだ。
Spacetimeには明るい未来があると思うし、チームが宇宙に何か新しいものを刻み込もうと懸命に働いていることを願っている。
- themgt
> サーバーロジックをデータベースに直接デプロイできる
> ライセンス対象ソフトウェアは、アプリケーションまたはサービスが本番環境でSpacetimeDBインスタンスを1つだけ使用し、かつデータベースサービスとしてライセンス対象ソフトウェアを使用しない場合に限り使用できる。
したがって、OSS製品として、SpacetimeDBはスケールしない。