Materialize a view

Learn how to materialize a view to improve its performance.

To improve the performance of a view, you can materialize it. This operation computes the data for the view and stores it in memory, just like a table. You can expect a 3-6 times performance improvement on a materialized view over a view that is not materialized. However, materialized views take up space in memory, so weigh the tradeoffs and benefits of materializing a view ahead of time.

Row Level Security does not apply to materialized views. All users will see the same data when using the materialized view as a data source.

To materialize a view:

  1. To find your view, click Data in the top menu.

  2. Under Data Objects at the top of the page, choose Views.

  3. Click the name of your view.

  4. Click Joins.

  5. If you don’t have any joins, you may wish to add them now. See add joins.

  6. Under Materialization, click Materialize.

    view materialize 1
  7. Fill in the details for primary key, sharding key, and number of shards.

    view materialize 2
    If you do not fill in the sharding details, the view is replicated on every node of your cluster. Follow the links in this step to learn more about sharding.
  8. Click Materialize.

  9. In the Schedule data updates dialog, decide if you want to configure the schedule to refresh materialized view at this time.

    If you want to skip this step and perhaps schedule it later, click Setup later.

    view materialize 3
  10. To schedule a refresh for the materialized view, next to Repeats, select the Time Interval: Daily, Weekly, or Monthly.

  11. Supply the schedule details:

    Daily
    • From the Select days menu, select Every weekday, or Every day.

    • Specify the hour of the day.

    • Specify the minutes.

    • Click Schedule.

      Specify the daily update schedule for refreshing the materialized view
    Weekly
    • From the Select weekdays menu, select the days of the week, Sunday .... Saturday, for the refresh, and click Done.

    • Specify the hour of the day.

    • Specify the minutes.

    • Click Schedule.

      Specify the weekly update schedule for refreshing the materialized view
    Monthly
    • From the Select days menu, select the day of the month, 1 ... 31, for the refresh.

    • Specify the hour of the day.

    • Specify the minutes.

    • Click Schedule.

      Specify the weekly update schedule for refreshing the materialized view
      Refresh works only if it is scheduled in the refresh window set for the cluster, with default: 8:00 PM - 4:00 AM. Only the start time of the refresh window is configurable using the flag orion.materializationConfig.refreshWindowStartTime. This flag can have values like 12:00PM, 01:00AM, and so on. For example, to set the cluster window from 2:00 AM to 10:00 AM, set the flag to orion.materializationConfig.refreshWindowStartTime \"02:00AM\".
  12. You can see the status of the materialization in progresses.

    View materialization in progress
  13. Click Update status to refresh materialization status.

  14. Note that when the materialization completes, the status changes to Materialized.

    Materialized view created successfully

    If after some time, the status has not changed to Materialized, check the list of statuses and corresponding actions to take.

When it says Materialized your materialized view is ready for search.