SpaceTimeDB - Kết hợp DB và máy chủ thành một
(github.com/clockworklabs)- Vừa là cơ sở dữ liệu quan hệ, vừa có thể lưu trực tiếp logic ứng dụng
- Ở dạng stored procedure được gọi là
Modules
- Ở dạng stored procedure được gọi là
- Không cần máy chủ riêng; client có thể kết nối trực tiếp với DB và chạy logic ứng dụng bên trong DB
- Được tối ưu để đảm bảo “tốc độ cao nhất” và “độ trễ thấp nhất”, thay vì cho các tác vụ batch hay OLAP
- Đạt tốc độ bằng cách lưu toàn bộ trạng thái ứng dụng trong bộ nhớ
- Dữ liệu được ghi bằng WAL (Write-Ahead-Log)
- Backend thực tế của MMORPG BitCraft Online đang chạy như một module SpacetimeDB duy nhất. Không có máy chủ riêng
- Hoạt động như thư viện cơ sở dữ liệu nhúng nên có thể embed vào ứng dụng của mình
- Hoặc cũng có thể chạy trực tiếp ở dạng standalone riêng biệt (dùng spacetime CLI)
- Single binary viết bằng Rust, hỗ trợ cài đặt trên macOS/Linux/Windows
- "Multiplayer at the speed of light"
6 bình luận
Có phải kiểu giống như PL/SQL của Oracle không?
Về mặt khái niệm thì khá giống nhau, nhưng có vẻ đa dụng hơn vì phạm vi hỗ trợ ngôn ngữ rộng hơn.
Ồ, thú vị đấy.
Nghe nói sau này họ còn định hỗ trợ thêm các ngôn ngữ khác nữa, mình thấy đây là một ý tưởng khá ổn.
Như vậy sẽ bớt đau đầu về hiệu năng hơn hẳn.
Mình vào repo GitHub thì thấy có vẻ được viết bằng Rust, nhưng phần
'hỗ trợ cài đặt trên Mac/Linux/Windows bằng binary Go'này nằm ở đâu vậy ạ?Ôi, có vẻ là tôi đã bị nhầm với thứ gì đó khi đang viết. Tôi đã sửa lại rồi.