Prior to the introduction of materialized views, the only way to implement this was using denormalization - creating two entirely separate tables and synchronizing them from within an application.
However, ensuring any level of consistency between the data in two or more views this way can require duplicated code along with complex and slow application logic.
Flexviews creates them as regular tables and keeps them up to date.
The swanhart-tools repository, on Git Hub, contains tools for Maria DB and My SQL from Justin Swanhart. A project on Google Code also exists, but it is obsolete.
In Scylla, data is divided into partitions which can be looked up via a partition key.
Flexviews works well with Shard-Query, that can be used to shard the source data, making the refresh process faster.A materialized view is similar to regular view, except that the results are stored into an actual database table, not a virtual one.The result set is effectively cached for a period of time.Flexviews is a materialized views implementation for Maria DB, My SQL and its forks.It includes a simple SQL API that is used to create materialized views and to refresh them.
With materialized views, Scylla automates the process of maintaining separate tables to support different queries of the same data, and allows for fast lookups of data in each view using the standard read path. It is effectively a new table, populated by a query running against the base table.