I believe that Twig is the only library that can store objects with
entire collections embedded as components. So the Columns could
actually be stored in the same entity as the Table. This means that
querying or reading Tables is _much_ faster. If the tables are read
more than written this would be ideal.
Docs are a bit light but basically you just define an embedded
collection like this:
class Table
{
@Key String name;
@Component Collection<Column> columns;
}
and thats it! The columns are then stored as a multi-valued property
so you can even query properties them like "show all tables with a
column named 'age'".