22 ポイント 投稿者 xguru 2023-08-21 | 6件のコメント | WhatsAppで共有
  • リレーショナルデータベースでありながら、アプリケーションロジックを直接保存可能
    • 「Modules」と呼ばれるストアドプロシージャ形式
  • 別個のサーバーなしで、クライアントが直接DBに接続し、アプリケーションロジックをDB内部で実行
  • バッチやOLAP処理の代わりに、「最高の速度」と「最小のレイテンシ」を保証するために最適化
    • すべてのアプリケーション状態をメモリに保存する方式で高速化を実現
    • データはWAL(Write-Ahead-Log)で保持
  • MMORPGのBitCraft Onlineの実際のバックエンドが、1つの SpacetimeDB モジュールとして稼働中。別個のサーバーは不要
  • 組み込みデータベースライブラリとして動作し、自身のアプリケーションに埋め込み可能
    • または個別のスタンドアロンとして直接実行することも可能(spacetime CLIを使用)
  • Rust製のシングルバイナリで、Mac/Linux/Windowsへのインストールをサポート
  • "Multiplayer at the speed of light"

6件のコメント

 
regentag 2023-08-22

OracleのPL/SQLみたいなものでしょうか?

 
xguru 2023-08-23

コンセプト的には似ていますが、対応言語の幅が広いので、より汎用的だと思います。

 
cosine20 2023-08-22

おお、興味深いですね

 
kuroneko 2023-08-21

将来的にはほかの言語にも対応を増やすつもりらしいですが、かなり良いアイデアだと思います。
パフォーマンスの悩みもだいぶ減りそうですね。

 
yoehwan 2023-08-21

GitHubのリポジトリを見るとRustで書かれているようですが、「GoバイナリでMac/Linux/Windowsへのインストールをサポート」とあります。この内容がどこに書かれているのか分かる方はいらっしゃいますか?

 
xguru 2023-08-21

あっ、私が書いている途中で何かと混同してしまったようです。修正しておきました。