Re:Why it is time to start thinking of games as databases
by claytongulick on Wednesday June 07, 2023 @12:27PM
(#36229112)
I'm not familiar with the guts of SQLite enough to say, but wouldn't this be true for an in-memory database too, if you structured the "tables" properly?
Also, I'm not sure I understand how cache coherence would be relevant in the context of what the article is discussing, querying across all game entities to answer complex questions.
Wouldn't cache coherence matter more in the case of single object access?
Re:Why it is time to start thinking of games as databases
by ajmmertens on Thursday June 08, 2023 @10:27AM
(#36242412)
The query engine works on top of an Entity Component System (ECS) storage that stores entities and their data in cache coherent (SoA - https://en.wikipedia.org/wiki/AoS_and_SoA) data structures.
With any kind of database - even in-memory SQLite - there is a query interface between you and the data. In ECS you access data directly, which is at least an order of magnitude faster.
Moving to SQLite makes theoretical sense, but you lose the benefit of cache coherence as a result.
Though you probably do gain other benefits.