Right, which is why they're great. You can materialize a view, but then you have to manually refresh. And they are actually incredibly performant.
How they work is they are basically treated as a query clause. For example you query "Select * from my_view where key = 1" and it intelligently executes "Select * from base_table where key = 1 and record = latest" (That is to say, it doesn't stupidly requery the whole base table each time, nor is there any risk of inconsistency)
The query optimizer is incredibly smart and honestly pretty sure this can scale beyond the needs of any startup.