three_tier_architecture.yml 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. columns:
  2. - column: "Tier"
  3. - column: "Description"
  4. rows:
  5. - "Tier": "**Source cluster(s)**"
  6. Description: |
  7. **A dedicated cluster(s)** for [sources](/concepts/sources/).
  8. {{% best-practices/architecture/upsert-source %}}
  9. - "Tier": "**Compute/Transform cluster(s)**"
  10. Description: |
  11. **A dedicated cluster(s)** for compute/transformation:
  12. - [Materialized views](/concepts/views/#materialized-views) to persist, in
  13. durable storage, the results that will be served. Results of
  14. materialized views are available across all clusters.
  15. {{< tip >}}
  16. {{< include-md file="shared-content/stacked-view-consideration.md" >}}
  17. {{< /tip >}}
  18. - Indexes, **only as needed**, to make transformation fast (such as
  19. possibly [indexes on join
  20. keys](/transform-data/optimization/#optimize-multi-way-joins-with-delta-joins)).
  21. {{< tip >}}
  22. From the compute/transformation clusters, do not create indexes on the
  23. materialized views for the purposes of serving the view results.
  24. Instead, use the [serving cluster(s)](#tier-serving-clusters) when
  25. creating indexes to serve the results.
  26. {{< /tip >}}
  27. - "Tier": "**Serving cluster(s)**"
  28. Description: |
  29. <a name="tier-serving-clusters"></a>
  30. **A dedicated cluster(s)** for serving queries, including
  31. [indexes](/concepts/indexes/) on the materialized views. Indexes are local
  32. to the cluster in which they are created.