Data warehouses for Australian reporting: Use a data warehouse when reports need multiple sources and long-term history; Check query performance with real data during peak times, not just sample data; Track figure origins, source ownership and load cutoffs for auditability
Image: Business Insight Stack

BI Architecture

Data warehouses and analytical storage

Decide when reporting needs a data warehouse, what analytical storage must serve, and which workload and cost questions to check first.

A data warehouse brings data together for reporting and analysis. Consider one when reports need several sources, substantial history or repeated scans that are hard to serve alongside an application’s transactions. A small, well-bounded report may work from an existing database or reporting replica. The choice depends on the workload, not a universal data-size threshold.

Start with the reporting work

List the reports and investigations the organisation needs. For each one, record its sources, historical period, required update time, usual filters, readers and busiest reporting period. Include scheduled preparation jobs: joins and transformations may run before anyone opens a dashboard.

Look at overlapping work as well as individual queries. A monthly close may bring data loads, finance queries and management reports together. Compare candidate approaches with representative data and queries at a realistic busy time; product descriptions cannot establish performance for your workload.

Compare storage patterns

PatternWhen to examine itBoundary to check
Operational database or reporting replicaA limited set of reports uses one source and manageable history.Measure application impact; check replica freshness and which copy readers query.
Data warehouseMaintained reports need combined sources, retained history or substantial analytical processing.Include loading, transformation, access and compute in the operating plan.
Lakehouse or files with a query engineReporting sits alongside varied data types or data engineering work.Check reporting-tool support, preparation needs and the services that incur charges.

Microsoft Fabric SQL databases support structured data and both transactional and analytical workloads. Check the capabilities and boundaries of the specific service being considered; products in one category do not necessarily behave alike.

Analytical Storage Patterns: When to Use Each

Operational database or reporting replica
Limited reports, single source, manageable history
Data warehouse
Combined sources, retained history, substantial analytical processing
Lakehouse or files with a query engine
Varied data types, data engineering work alongside reporting

Make figures traceable

Record where each reported figure came from, which source owns a field when systems disagree, and the cutoff for each load. Separate source inputs from prepared reporting data where that makes investigation easier. Historical data is useful only when readers can identify the period and definition behind a figure.

Arrange data around observed queries. In BigQuery, a qualifying filter on a partition column can skip other partitions. Creating partitions alone does not ensure that a query will use them. Check the behaviour of the selected engine with the intended queries.

Storage also has to support the agreed measure definitions and checks for missing or duplicated source records. A successful load, by itself, does not establish that a report is correct.

Partitioning can also support routine data management, not just query scans. BigQuery allows a partition to have an expiry time and supports loading data into, or deleting, a specific partition without affecting or scanning the whole table. These options are useful to assess where reporting history has clear retention periods or is managed in separate time slices.

Decide whether reporting needs separate resources

Operational databases handle business transactions and application queries. Analytical work often asks for totals across many records, long-period comparisons and joins between systems. Large aggregations can strain a transactional system, although a modest report or a suitable mixed-workload design may work well there.

If reporting moves to a warehouse, decide how updates and late corrections arrive and what readers see during an incomplete load. A daily management report and a live service queue can reasonably need different paths. Test whether separate analytical resources, history or combined data solve a specific reporting problem.

Pros and Cons of Using a Data Warehouse vs. Operational Database

Pros of data warehouse
Handles large aggregations, long-period comparisons, cross-system joins without impacting transactional performance
Cons of data warehouse
Requires separate resources, management overhead, potential latency in updates
Pros of operational database
Single source of truth, low latency, suitable for modest reports
Cons of operational database
Large analytical queries can strain transactional workload

Account for the operating cost

Count retained source data, prepared tables, recurring transformations, dashboard refreshes and exploratory queries. Billing depends on the service.

BigQuery separates storage from query compute and offers on-demand and capacity pricing for queries. Snowflake documentation describes compute costs for running warehouses and other applicable services. A storage rate alone is therefore an incomplete reporting-cost estimate.

Keep growth, peak use and account-specific billing assumptions visible. Compare a forecast with billing and job records if a limited workload is later run.

Key Cost and Performance Considerations for Analytical Storage

BigQuery: Query compute pricing
On-demand or capacity-based
Snowflake: Compute costs
For running warehouses and services
Storage cost alone is incomplete
Must include transformations, refreshes, exploratory queries

Check what the platform provides

Microsoft Fabric’s decision guide identifies data type, compute engine, ingestion and transformation patterns, query needs, access controls, and integration with OneLake and other Fabric components as factors to assess. Use these as prompts to check that a candidate store fits the reporting work and the surrounding platform.

Fabric identifies SQL databases, warehouses, lakehouses and eventhouses as its primary analytical data stores. It also offers mirrored databases that continuously replicate data and metadata for analytics, but these provide read access to mirrored data and are not general-purpose data stores. That boundary matters if readers or processes need to update the analytical copy.

Keep product-specific size guidance in context

Microsoft describes Fabric SQL databases as suited to structured data and moderate volumes, typically several gigabytes to a few terabytes. Treat that as guidance for this particular Fabric option, not a universal point at which reporting should move to a warehouse.

Microsoft Fabric SQL Database: Size Guidance and Use Cases

  1. Typical volume rangeSeveral gigabytes to a few terabytes
  2. Best suited forStructured data, moderate volumes, mixed transactional and analytical workloads
  3. Not a universal thresholdDoes not dictate move to warehouse; use as guidance only

Make a bounded first decision

Choose one maintained report with a known source, a fixed historical period and a figure its owner can check. Capture its update time, access needs and expected growth. Compare viable storage approaches against that work, including the effort to operate them. If a separate store is justified, begin with the data needed for that reporting slice and check both the figure and query behaviour before expanding.

Steps to Make a Bounded First Decision

  1. Choose one maintained report with known sourceFixed historical period, checkable figure
  2. Capture update time, access needs, expected growthDocument operational requirements
  3. Compare viable storage approachesInclude operating effort and query behaviour

In this guide

  1. Comparing a data warehouse with operational databasesCompare operational databases and data warehouses by query workload, history, freshness and application impact before moving reports.
  2. Choosing warehouse requirements from reporting workloadsBuild a testable warehouse brief from report queries, refresh times, history, concurrent use and acceptance checks.
  3. Estimating analytical storage and compute costsBuild a warehouse cost estimate from stored data, queries, running compute and related services, with billing-model caveats.

More from BI Architecture