- SpacetimeDB एक ऐसा सिस्टम है जो database और server functionality को जोड़ता है
- पारंपरिक web या game server को अलग से रखने के बजाय, client सीधे database से connect होकर application logic चला सकता है
- Rust में लिखे गए "module" रूप के stored procedures के जरिए app logic को सीधे database में upload किया जा सकता है
- पूरे application को एक single Rust binary के रूप में deploy किया जा सकता है, और DevOps, containers, servers, microservices आदि की जरूरत नहीं होती
मुख्य विशेषताएँ
- यह smart contract जैसी अवधारणा है, लेकिन blockchain से संबंधित नहीं है
- मौजूदा smart contract systems की तुलना में काफी तेज़ है
- MMORPG गेम BitCraft Online का backend केवल SpacetimeDB से बना है
- गेम के भीतर के सभी elements database में real-time में process होते हैं और client के साथ sync किए जाते हैं
- यह real-time applications के लिए optimized है और latency को न्यूनतम करने के लक्ष्य के साथ डिज़ाइन किया गया है
- application state memory में रखी जाती है, और recovery के लिए WAL(Write-Ahead Log) में record की जाती है
इंस्टॉलेशन का तरीका
macOS / Linux इंस्टॉलेशन
Windows इंस्टॉलेशन
Docker से चलाना
- अगर Docker का उपयोग कर रहे हैं
docker run --rm --pull always -p 3000:3000 clockworklabs/spacetime start
शुरू करने के लिए 4 चरण
spacetime CLI tool install करें
spacetime start command से single node चलाएँ
- supported languages में से किसी एक में module लिखें और upload करें
- client library से database से connect करें
भाषा समर्थन
server-side modules
client libraries
लाइसेंस जानकारी
- यह BSL 1.1 लाइसेंस का पालन करता है
- एक निश्चित अवधि के बाद AGPL v3.0 + linking exception में बदल जाता है
- SpacetimeDB से जुड़े applications के source को सार्वजनिक करने की आवश्यकता नहीं है
- यह free software licensing का ऐसा मॉडल है जिसे इस तरह डिज़ाइन किया गया है कि community में योगदान वापस लौटे
आधिकारिक दस्तावेज़
5 टिप्पणियां
दिलचस्प आइडिया है। जानना चाहूंगा कि इन्होंने DDoS या Auth जैसी चीज़ों को कितनी अच्छी तरह सुलझाया है।
कम से कम नाम तो ज़बरदस्त स्टाइलिश है।
मुझे लगा था यह वाकई काफ़ी नया और अच्छा लगने वाला है, लेकिन मैंने तो इसे बहुत पहले ही Git star दे रखा था। याददाश्त...
SpaceTimeDB - DB और सर्वर को एक में जोड़ना
इसे डेढ़ साल पहले पेश किया गया था, और यह अब भी लगातार अच्छे से अपडेट हो रहा है। a16z और Supercell ने भी इसमें निवेश किया है।
Hacker News राय
SpacetimeDB उस तकनीकी श्रेणी में आता है जिसे "cosmic thought rearrangement" कहा जा सकता है। इसमें संरचनात्मक पुनर्व्यवस्था के ज़रिए प्रदर्शन को काफ़ी बेहतर बनाने की क्षमता होती है
पिछली पोस्ट की सबसे अच्छी टिप्पणी:
SpacetimeDB को BitCraft नाम के बड़े MMORPG को support करने के लिए विकसित किया गया था
इस तकनीक का इस्तेमाल करके game server कैसे लिखा जाए, यह समझना कठिन है
BitCraft देखने में प्यारा लगता है
YouTube SpacetimeDB की सिफारिश करता है, लेकिन उसने कभी video game नहीं बनाया है
यह project BSL के अंतर्गत कवर होता है, और इसमें कुछ हद तक बोझिल time limit है
relational database schema और app में data handle करने के तरीके को गड़बड़ नहीं करना चाहिए
सोचता हूँ कि क्या single-player गेम में local database चलाना समझदारी है
यह in-memory database जैसा दिखता है, जिसमें domain logic host करने के लिए WASM runtime है