page162
248
Figure 7-1.
Serverless compute feature use
Figure 7-1 is illustrative only and suggests where features may be best placed for
optimal performance and cost; your implementation may differ. I suggest materialized
views may be used for ingest where the typical use case is to flatten JSON and not for
other performance reasons. The use case for materialized views in the curation step is
to express alternate cluster keys to facilitate a wider range of query predicates. For the
Presentation layer, the use case is more closely aligned to performance optimization
through summarization, aggregation, and pre-filtering prior to consumption.
SOS can be thought of as an overlay directly related to clustering; if a table is re-
clustered, SOS should first be dropped, the table re-clustered, and then SOS enabled.
SOS is intended to easily accelerate queries with selective predicates where tables have a
high number of micro-partitions. Both statements provide insight into how SOS operates
internally. SOS provides alternative mappings for micro-partition lookups to improve
query lookup pruning.
SOS is not a silver bullet and must be selectively implemented; we discuss how to
make an effective determination for use later in this chapter.
You can find the SOS documentation at
https://docs.snowflake.com/en/user-
guide/search-optimization-service
.
Chapter 7
SearCh OptimizatiOn ServiCe