Тема
15 162
30
Надо понимать ещё, что они обеспечивают хранение всей истории
По логике история должна же засрать всё что можно. И откат без погрешностей будет? Как например быть с данными, которые частично записались?
16
По отзывам игроков оптимизация желает лучшего, так что тут только тестить на практике.
16
nazarpunk, конкретно слышал только, что будут просадки при создании онлайн шутера. Тут наверное подразумевается какой-нибудь батфилд, но реализовать тот же кс я думаю не составит проблем. Надо понимать ещё, что они обеспечивают хранение всей истории, то есть можно откатить состояние до определенного момента назад, а это по видимому создаёт некоторые издержки. В большинстве случаев вполне справится с задачами для инди проекта за глаза, вон можно глянуть пример уже созданной игры DeliveryZ.
30
bifurcated, ну они пишут, что хотят максимально сблизить язык разработки с базой данных. Но в то же время пишут, что если я решу написать прям строгий сервер и буду спамить запросами на каждый чих, то оно не выстрелит. Нипанятна.
16
nazarpunk, они поддерживают sql, но всю эту БД они писали чуть ли не с нуля, используя какие-то open-source проекты.
16
nazarpunk, как и в реляционной БД, так и тут присутствуют индексы вот пример того как их можно определить на C#:
[SpacetimeDB.Table(Name = "Inventory")]
[SpacetimeDB.Index(Name = "product_name", BTree = ["name"])]
public partial struct Inventory
{
    [SpacetimeDB.PrimaryKey]
    public long id;
    public string name;
    ..
}

[SpacetimeDB.Table(Name = "Customers")]
public partial struct Customers
{
    [SpacetimeDB.PrimaryKey]
    public long id;
    public string first_name;
    public string last_name;
    ..
}

[SpacetimeDB.Table(Name = "Orders")]
public partial struct Orders
{
    [SpacetimeDB.PrimaryKey]
    public long id;
    [SpacetimeDB.Unique]
    public long product_id;
    [SpacetimeDB.Unique]
    public long customer_id;
    ..
}
В документации можно найти Best Practice по создания индексов и оптимизации.
30
А что там с индексами и фильрами? Или они просто решили сделать очень быстрый фуллскан?
38
struct Position
Значит, не SoA, где avx-512)