diff --git a/app/materialize/getting-started/overview/page.mdx b/app/materialize/getting-started/overview/page.mdx index 993dcaa7..b2e11c73 100644 --- a/app/materialize/getting-started/overview/page.mdx +++ b/app/materialize/getting-started/overview/page.mdx @@ -4,7 +4,8 @@ description: "AuthZed Materialize precomputes the permissions you configure it t --- import { Callout } from "nextra/components"; -import MaterializeArchitecture from "@/public/images/materialize-architecture.svg"; +import MaterializeArchitectureLight from "@/public/images/materialize-architecture-light.svg"; +import MaterializeArchitectureDark from "@/public/images/materialize-architecture-dark.svg"; # What is Materialize? @@ -14,10 +15,15 @@ are written (specifically, when those relationships affect a subject's membershi Materialize puts that precomputed data to work in two ways: **Accelerated Queries**, generally available to AuthZed [Dedicated] users, and **Event Streams**, currently in early access. Every other piece of Materialize content belongs to one of these two features. Look for badges at the top of the page, which link back to the feature it belongs to. - + ## Accelerated Queries diff --git a/public/images/materialize-architecture-dark.svg b/public/images/materialize-architecture-dark.svg new file mode 100644 index 00000000..2a4d8c34 --- /dev/null +++ b/public/images/materialize-architecture-dark.svg @@ -0,0 +1,162 @@ + + + + + + + + + + + + + + + + + + + + AUTHZED MATERIALIZE + + + + SPICEDB + + + + YOUR SYSTEMS + + + + + Offline + Hydrator + computes permission sets + for watched permissions + + + + + Online + Hydrator + serves hydrated + permission sets + + + + + SpiceDB + the service + + + + + Your Application + calls SpiceDB exactly as + it always has + + + + + Event Processor + backfills + watches + permission sets + + + + + + Snapshotter + periodic snapshots of + schema + relationships + + + + + Event Log + persists permission + set changes + + + + + Datastore + underlying storage + + + + + Your Database + or search index + (colocated permissions) + + + + + + + snapshot + + + + hydrated + permission sets + + + + reads / writes + permission set changes + + + + reads / writes + + + + Accelerated + Queries + + + + checks + lookups + + + + schema + relationships + + + + watches datastore + directly (real-time) + + + + Event Streams + + + + stores permission sets + diff --git a/public/images/materialize-architecture.svg b/public/images/materialize-architecture-light.svg similarity index 85% rename from public/images/materialize-architecture.svg rename to public/images/materialize-architecture-light.svg index 17ccfe5c..bbed9f53 100644 --- a/public/images/materialize-architecture.svg +++ b/public/images/materialize-architecture-light.svg @@ -10,16 +10,21 @@ components arranged in the same two rows (row 1 y-center 190, row 2 y-center 430). This isn't a literal "process vs. storage" split (Hydrator and Event Processor are processes too) — it's purely so that every connector that stays within one row is a short straight line, and only the two - cross-cutting flows (Event Streams; watches datastore directly) need routed detours. --> + cross-cutting flows (Event Streams; watches datastore directly) need routed detours. + - Light/dark: this file is one of a light/dark pair (see materialize-architecture-dark.svg), + swapped via Tailwind dark: classes in the mdx that embeds it — same convention as + ps-light.svg / ps-dark.svg. Teal and violet match the site's teal500 / violet500 tokens + (see feature-badge.css) at each theme's fixed value, so this diagram can't drift from the + Accelerated Queries / Event Streams colors used everywhere else. --> - + - + @@ -41,16 +46,18 @@ - Hydrator - computes permission sets - for watched permissions + Offline + Hydrator + computes permission sets + for watched permissions - Cache Server - serves hydrated - permission sets + Online + Hydrator + serves hydrated + permission sets @@ -122,9 +129,9 @@ reads / writes - - Accelerated - Queries + + Accelerated + Queries @@ -146,8 +153,8 @@ Cache Server reads the events it wrote to the Event Log (see connector 3) and streams them to the customer's Event Processor; bidirectional to also carry backfill requests. --> - Event Streams + fill="none" stroke="hsl(253 62% 50%)" stroke-width="1.5" marker-end="url(#arrow-violet)" marker-start="url(#arrow-violet)" /> + Event Streams