Connect source systems
Configure linked-server connectivity from SQL Server to each MySQL transactional source.
Selected Engineering Work · Project 04
Building a centralized SQL Server warehouse for multi-source retail monitoring and reporting.
Designed and built a retail data warehouse from scratch on Microsoft SQL Server, integrating transactional data from multiple MySQL systems into a normalized snowflake-schema model with near-real-time operational ingestion and business reporting.
The challenge
Retail operational data was spread across multiple transactional MySQL servers. The goal was to centralize that data into a warehouse capable of supporting operational monitoring, analytics and business reporting without pushing analytical workloads back onto the source systems.
Microsoft SQL Server was selected as the central warehouse platform, with linked-server connectivity used to integrate data from the different MySQL sources.
Source architecture
Linked-server connectivity provided access from SQL Server to the distributed MySQL sources, while ingestion and transformation logic moved data into the warehouse model.
Data model
The warehouse used a snowflake-schema model to provide a consistent structure across multiple retail subject areas. The design emphasized normalized dimensional relationships, storage efficiency and clear data-quality boundaries.
The resulting model gave different reporting teams a shared data foundation instead of relying on separate interpretations of the transactional systems.
Ingestion strategy
Stored procedures and scheduled SQL jobs handled data movement into the warehouse. Refresh frequency varied by use case rather than forcing every dataset into the same schedule.
Configure linked-server connectivity from SQL Server to each MySQL transactional source.
Use stored procedures to retrieve and prepare source data for warehouse processing.
Apply SQL-based transformation logic and populate the normalized warehouse structures.
Run selected operational jobs at sub-minute intervals while less time-sensitive loads ran twice daily.
Compare source and warehouse row counts and perform source-to-warehouse checks.
Expose warehouse data to dashboards used for product, inventory and operational monitoring.
SQL performance engineering
The warehouse used several SQL Server techniques to keep ingestion and reporting workloads responsive as the platform grew.
Near-real-time reporting
Selected ingestion jobs were scheduled at intervals of less than one minute, allowing the warehouse to support near-real-time operational monitoring. Other subject areas were refreshed twice per day where lower latency was not required.
This mixed refresh model aligned processing frequency with business need while keeping the architecture based on scheduled SQL jobs rather than event-streaming infrastructure.
Validation
Data-quality checks focused on validating that warehouse loads remained consistent with the originating transactional systems.
Key engineering decisions
Bring multiple MySQL operational sources into a dedicated SQL Server warehouse rather than distributing reporting logic across production systems.
Adopt a snowflake schema to provide consistent relationships and reusable structures across retail subject areas.
Use sub-minute scheduling for selected operational workloads and lower-frequency batch refreshes where near-real-time data was unnecessary.
Outcome
The project delivered a centralized retail data warehouse on Microsoft SQL Server, integrating transactional data from multiple MySQL systems into a consistent snowflake-schema model.
Stored procedures and scheduled SQL jobs supported refresh frequencies ranging from near-real-time operational processing to twice-daily batch loads, while indexing, partitioning and SQL optimization supported warehouse performance.
The platform provided product, inventory and operational reporting for approximately 60 analysts, business users and stakeholders across operations, management and finance.