Data Architecture Decision Framework

Configure a reference architecture for your advancement data platform based on your environment, scale, and analytical priorities. The framework recommends patterns across four architectural dimensions and generates a plan grounded in enterprise data practice.

Environment Profile

These inputs shape the recommendations across all four decision areas. Adjust them to match your current environment.

Where analytical data lives and gets processed. This choice determines what analytical workloads your team can run and how much operational work is required to keep them running.

Architecture detail

Compute and storage scale independently; you pay for query execution time, not idle capacity. Tables are columnar-compressed and partitioned for analytical query patterns. SQL is the primary interface, which means your existing team's skills transfer directly.

For advancement data, the fit is strong. Gift transactions, constituent profiles, fund hierarchies, and campaign structures are inherently relational and well-structured. A warehouse handles these workloads with minimal operational overhead. The medallion pattern maps cleanly: bronze tables hold raw CRM exports with source-system naming preserved, silver tables normalize and resolve constituent identity across systems, gold tables build Kimball star schemas shaped for specific reporting use cases.

The trade-offs: schema rigidity slows iteration when CRM custom fields change frequently. Unstructured data (email engagement logs, web analytics sessions, wealth screening scores in varying formats) requires pre-structuring before load. Query cost scales with bytes scanned, making unpartitioned full-table scans expensive. Partition and cluster on the columns your queries filter most: gift date, constituent ID, fund code.

Architecture detail

Data sits in Parquet files on object storage. The table format (Delta Lake, Apache Iceberg, Apache Hudi) adds a metadata and manifest layer that provides transactional guarantees, schema enforcement, and point-in-time queries on top of raw files. Any compute engine that understands the format can read and write: Spark, Trino, Flink, or native warehouse SQL interfaces.

The case for a lakehouse in advancement strengthens when the data team's ambitions include ML and AI workloads: propensity scoring, donor segmentation, engagement prediction. A lakehouse avoids the cost of running both a warehouse and a separate ML platform. Schema evolution handles CRM custom field changes gracefully; additive columns merge without breaking downstream consumers. Storage costs on object storage run at a fraction of managed warehouse storage at scale.

The trade-off is operational complexity. Ad hoc query performance lags purpose-built warehouses without careful compaction, file sizing, and Z-ordering. The team needs comfort with infrastructure beyond SQL, or must invest in a SQL-native lakehouse interface. For teams under five people focused primarily on reporting, a managed warehouse is almost always the better starting point.

Architecture detail

The engine stores no data. Connectors adapt each backing system's API or query interface into a common catalog. At query time, the coordinator parses SQL, pushes predicates and projections where the connector supports it, and dispatches parallel execution across worker nodes that query the underlying systems directly. A single SQL statement can join a CRM table with a Postgres table with a Parquet file on object storage.

Federated query works best alongside a central platform. Organizations with strong data sovereignty requirements, many specialized systems, or political constraints that prevent full centralization use it to provide unified access while data stays in place. It also works as a migration bridge: query across legacy and replacement systems during a transition without building throwaway ETL.

Performance is bounded by the slowest underlying source. Complex analytical workloads, large aggregations, and many-table joins perform poorly compared to native warehouse execution. Governance and security push down to each source system rather than being managed centrally. This is rarely the right sole analytical platform for teams with significant reporting needs.

Anti-patterns

  • Business logic in the bronze zone. Transforms during ingestion create an unmaintainable tangle and prevent re-processing when a transformation turns out wrong.
  • Skipping the silver zone. Going directly from raw to consumption marts forces every mart to re-implement cleaning and normalization logic independently.
  • Gold zone sprawl. A new mart for every dashboard request, with business logic duplicated and diverging across dozens of nearly identical tables.
  • Premature lakehouse adoption. For SQL-only teams focused on reporting, the operational complexity tax exceeds the flexibility benefit.

Reference Architecture

Based on your profile and selections. The diagram and summary update as you change inputs.

Implementation Roadmap

Tell us what you're working on.

Start a conversation