SpaceTimeDB - รวมฐานข้อมูลและเซิร์ฟเวอร์เป็นหนึ่งเดียว
(github.com/clockworklabs)- เป็นทั้งฐานข้อมูลเชิงสัมพันธ์ และสามารถจัดเก็บตรรกะแอปพลิเคชันได้โดยตรง
- อยู่ในรูปแบบสโตร์ดโปรซีเยอร์ที่เรียกว่า '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 ความคิดเห็น
คล้ายกับ PL/SQL ของ Oracle ไหมครับ?
ในเชิงแนวคิดก็คล้ายกันอยู่ แต่ดูเหมือนว่าจะใช้งานได้อเนกประสงค์กว่าจากการรองรับภาษาที่กว้างกว่า
โอ้ น่าสนใจนะ
ได้ยินมาว่าตั้งใจจะรองรับภาษาอื่นเพิ่มในภายหลังด้วย ดูเป็นไอเดียที่ค่อนข้างดีเลยครับ
คงช่วยลดภาระเรื่องการกังวลด้านประสิทธิภาพไปได้อีกระดับนะครับ
พอเข้าไปดู GitHub repo แล้วเหมือนว่ามันเขียนด้วย Rust แต่เรื่องที่ว่า 'รองรับการติดตั้งบน Mac/Linux/Windows ด้วย Go binary' อยากทราบว่ามีข้อมูลส่วนนี้อยู่ตรงไหนบ้างครับ?
อ๋อ ดูเหมือนว่าผมจะสับสนกับอะไรบางอย่างตอนกำลังเขียนอยู่ เลยแก้ไขไว้แล้วครับ