22 คะแนน โดย xguru 2023-08-21 | 6 ความคิดเห็น | แชร์ทาง WhatsApp
  • เป็นทั้งฐานข้อมูลเชิงสัมพันธ์ และสามารถจัดเก็บตรรกะแอปพลิเคชันได้โดยตรง
    • อยู่ในรูปแบบสโตร์ดโปรซีเยอร์ที่เรียกว่า 'Modules'
  • ไคลเอนต์สามารถเชื่อมต่อกับ DB ได้โดยตรงโดยไม่ต้องมีเซิร์ฟเวอร์แยก และรันตรรกะแอปพลิเคชันภายใน DB ได้เลย
  • ปรับแต่งมาเพื่อรับประกัน 'ความเร็วสูงสุด' และ 'ค่าหน่วงต่ำสุด' แทนงานแบบแบตช์หรือ OLAP
    • ทำความเร็วได้ด้วยการเก็บสถานะแอปพลิเคชันทั้งหมดไว้ในหน่วยความจำ
    • ข้อมูลจัดเก็บด้วย WAL (Write-Ahead-Log)
  • แบ็กเอนด์จริงของ MMORPG อย่าง BitCraft Online กำลังรันเป็นโมดูล SpacetimeDB เดียว โดยไม่มีเซิร์ฟเวอร์แยก
  • ทำงานเป็นไลบรารีฐานข้อมูลแบบ embedded จึงสามารถฝังเข้าไปในแอปพลิเคชันของตนเองได้
    • หรือจะรันแบบสแตนด์อโลนแยกต่างหากโดยตรงก็ได้ (ใช้ spacetime CLI)
  • เป็น single binary ที่เขียนด้วย Rust รองรับการติดตั้งบน macOS/Linux/Windows
  • "Multiplayer at the speed of light"

6 ความคิดเห็น

 
regentag 2023-08-22

คล้ายกับ PL/SQL ของ Oracle ไหมครับ?

 
xguru 2023-08-23

ในเชิงแนวคิดก็คล้ายกันอยู่ แต่ดูเหมือนว่าจะใช้งานได้อเนกประสงค์กว่าจากการรองรับภาษาที่กว้างกว่า

 
cosine20 2023-08-22

โอ้ น่าสนใจนะ

 
kuroneko 2023-08-21

ได้ยินมาว่าตั้งใจจะรองรับภาษาอื่นเพิ่มในภายหลังด้วย ดูเป็นไอเดียที่ค่อนข้างดีเลยครับ
คงช่วยลดภาระเรื่องการกังวลด้านประสิทธิภาพไปได้อีกระดับนะครับ

 
yoehwan 2023-08-21

พอเข้าไปดู GitHub repo แล้วเหมือนว่ามันเขียนด้วย Rust แต่เรื่องที่ว่า 'รองรับการติดตั้งบน Mac/Linux/Windows ด้วย Go binary' อยากทราบว่ามีข้อมูลส่วนนี้อยู่ตรงไหนบ้างครับ?

 
xguru 2023-08-21

อ๋อ ดูเหมือนว่าผมจะสับสนกับอะไรบางอย่างตอนกำลังเขียนอยู่ เลยแก้ไขไว้แล้วครับ