Об этом проекте
SpacetimeDB — это проект с открытым исходным кодом от Clockwork Labs, который объединяет реляционную базу данных с средой выполнения сервера. Вместо развертывания отдельного веб- или игрового сервера между клиентами и базой данных, разработчики пишут логику приложения в виде модуля на Rust, C#, TypeScript или C++. Модуль определяет таблицы и редукторы (функции, изменяющие данные). Клиенты подключаются напрямую к базе данных, вызывают редукторы и подписываются на таблицы. Когда данные изменяются, SpacetimeDB автоматически отправляет обновления подписанным клиентам, поэтому клиентам не нужно опрашивать или повторно загружать данные. В README указано, что все состояние приложения хранится в оперативной памяти для быстрого доступа, а журнал коммитов на диске обеспечивает долговечность и восстановление после сбоев, а также что система предоставляет гарантии ACID. Она используется для MMORPG BitCraft Online, чья серверная часть работает как единый модуль. Установка доступна через скрипты оболочки на macOS/Linux и PowerShell на Windows, за которыми следует вход в CLI, который аутентифицируется с помощью GitHub. Команда быстрого запуска создает проект из шаблона, публикует его на Maincloud и следит за изменениями файлов для автоматической пересборки и повторной публикации. Базу данных также можно запустить с помощью Docker или собрать из исходного кода с помощью Cargo. Серверные модули поддерживаются на Rust, C#, TypeScript и C++; клиентские SDK поддерживают TypeScript (React, Next.js, Vue, Svelte, Angular, Node.js, Bun, Deno), Rust, C# (автономный и Unity) и C++ (Unreal Engine). Документация включает быстрые старты, основные концепции, учебники, развертывание, справочники по CLI и SQL. Проект лицензирован под Business Source License 1.1, которая переходит в AGPL v3.0 с исключением на связывание через несколько лет, поэтому пользователи не обязаны открывать свой собственный код.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.