NotionJustin Lee, Adam HudsonExplainer
Enabling Multi-Region Data Systems at Notion
Summary
Notion’s data residency work keeps customer data processed and stored in the region where it was generated, supporting EU requirements across Search, analytics, scheduled events, and AI. To make this possible, Notion modularized infrastructure around isolated private networks and workspace IDs, then deployed regional data lakes, Kafka clusters, Spark jobs, Elasticsearch, and vector databases. Debezium captures Postgres changes into regional Kafka, while Airflow remains a centralized orchestration layer that routes jobs to regional EMR clusters; event logging similarly routes traffic by workspace and sanitizes data before Snowflake. Centralized mapping tables, shared region helpers, Terraform, and localized sanitization let teams retain a unified Snowflake environment without exporting customer data. The work took months, and Notion says it is applying these patterns to Japan and South Korea while aiming to provision future regional data stacks within days rather than months.
Context
Notion launched data residency for EU customers and needed its data systems to keep customer data within the region where it was generated. The work had to support customer-facing features such as Search, Enterprise Audit Logs, Workspace and Page Analytics, scheduled events, and Notion AI while preserving low latency and maintaining existing centralized analytics workflows.
Approach / What changed
Notion redesigned its infrastructure around isolated private networks and workspace-based routing, then created region-specific ingestion, storage, processing, indexing, AI, and event-logging components. It kept non-customer-data resources centralized, including Airflow and Snowflake, using regional orchestration, mapping tables, shared code helpers, Terraform, and sanitization pipelines to enforce boundaries while limiting operational duplication.
Takeaways
A centralized mapping table records each workspace’s active region and supports routing, AI onboarding, and data migrations across regions.
Airflow remains in a US datacenter because it does not process customer data directly; regional EMR clusters execute the Spark jobs in the appropriate region.
Event logging moved from a single-region Flink, S3, and Snowpipe design to regional Snowpipe streaming connectors that push sanitized events directly to Snowflake.
Source and freshness
- Source
- notion.com
- Published
- Added to Yomu
Summaries are generated from the original by a language model. Check the original before relying on it.
Keep reading
Related reading
The Good Stuff
Paid picks we use ourselves. Links carry a referral code — a subscription through one earns us a commission at no extra cost to you.
The best engineering reads, once a week
One useful email. Unsubscribe anytime.