Definition
Data integration is the process of combining data from multiple sources into a unified view. A company might have customer information in Salesforce, transaction history in Stripe, and user activity on its website. Each system stores data in different formats and locations. Integration brings them together so analysts and systems can work with a complete picture of the data.
Integration solves the problem of data silos. Without it, getting a complete answer to a simple question requires querying multiple systems separately then manually stitching the results together. An analyst might spend an hour pulling data from four sources and reconciling the differences. With integration, they query one system and get results in seconds.
Data integration encompasses several patterns. ETL extracts data from sources, transforms it, then loads it into a target. ELT loads data first, then transforms it in the target. CDC captures only changes since the last run, making updates efficient. API integration connects to sources through their APIs. Data virtualization presents multiple sources as a single database without moving data. Each pattern has trade-offs between simplicity, cost, and freshness.
Modern data infrastructure is built on integration. Data flows from operational systems into a central data warehouse. From there, it's transformed, analyzed, and used to drive decisions. Integration is the critical layer that makes this flow possible.
Key Takeaways
- Data integration combines data from multiple sources into a unified view, eliminating silos and allowing analysts to answer questions without manually coordinating across systems.
- ETL extracts data, transforms it outside the target, then loads it. ELT loads raw data into the target first, then transforms it there. ELT is increasingly popular because cloud warehouses are fast at SQL.
- Change data capture (CDC) extracts only changed records since the last run, enabling efficient real-time or near-real-time replication of updates from source to target.
- API integration connects to data sources through their APIs and works well for SaaS applications, but is limited by rate limits and what the API exposes.
- Data virtualization presents multiple sources as a single virtual database without moving data, useful for real-time needs but dependent on source system performance.
- Major integration tools include Fivetran and Airbyte (no-code), Talend and MuleSoft (enterprise), and custom solutions in Spark or code. The right choice depends on sources, frequency, and team expertise.
ETL: Extract, Transform, Load
ETL is the classical data integration pattern. Extract reads data from a source system. A database query pulls all customer records. A file export provides transaction history. The extract phase gets raw data out of the source. Transform applies business logic. Data is cleaned, reshaped, and enriched. A customer's first name and last name are combined into a full name. Transactions are converted from one currency to another. Duplicate records are identified and merged. The transform phase prepares data for use. Load writes the transformed data into a target system, usually a data warehouse.
ETL keeps data transformation outside the target system. This has advantages. The transformation environment can be optimized for transformation work. Complex business logic can be expressed in code. Data validation and quality checks happen before data enters the warehouse. The warehouse receives clean, validated data. The downside is the upfront transformation must be comprehensive. If you missed a needed field, you have to rerun ETL.
ETL is often batch-oriented. Run nightly at 2am. Extract all data since the last run. Transform and load it. This creates a predictable window where data is fresh. Most traditional data warehouses rely on nightly batch ETL. An analyst knows that by 8am, yesterday's data is in the warehouse.
ELT: Extract, Load, Transform
ELT inverts the ETL order. Extract and load happen first. Raw data goes directly into the warehouse. Transform happens second, inside the warehouse using SQL. This is possible because modern cloud warehouses are fast and cheap. Running SQL transformations on a terabyte of data in Snowflake is fast and costs little. The advantage is simplicity. Loading raw data is straightforward. No transformation logic to write during load. The warehouse does all transformation.
ELT also provides flexibility. Analysts can access raw data while transformations run. They can build ad-hoc analyses or troubleshoot issues. Transformation logic is expressed in SQL, which many analysts know. Tools like dbt make SQL transformations manageable. You write transformation logic as code, test it, and version control it. dbt has become the standard for ELT transformation.
The downside of ELT is the warehouse handles both raw and transformed data. Storage might duplicate data. Query performance depends on how well transformations are optimized. If you write inefficient SQL, queries are slow. But for most use cases, the benefits outweigh downsides. ELT has become the default for modern data stacks because it aligns with cloud warehouse architecture.
Change Data Capture (CDC)
CDC captures changes to data at the source and replicates only the changes to a target. A customer updates their email. CDC detects this change and sends an update event to the warehouse. The warehouse applies the change. This is far more efficient than extracting the entire customer table daily. CDC scales to massive datasets. Extracting a billion-record table daily is expensive and slow. Replicating millions of daily changes is efficient and fast.
CDC requires the source system to log or track changes. Most modern databases support CDC through transaction logs. PostgreSQL has logical decoding. MySQL has binary logs. SQL Server has CDC built-in. The source system writes changes to these logs. A CDC tool reads the logs and replicates changes downstream. Kafka Connect, a data integration framework, includes CDC connectors for many databases. These connectors monitor source databases and stream changes to Kafka, which then feeds a warehouse.
CDC enables real-time or near-real-time data movement. As data changes in the source, those changes reach the warehouse within seconds. This freshness is valuable for operational analytics. Real-time dashboards show current data. Alerts trigger immediately when something changes. CDC is increasingly the preferred pattern for high-volume databases because it's efficient and keeps data fresh.
API Integration and SaaS Connectors
Many data sources, especially SaaS applications, only expose data through APIs. Salesforce, HubSpot, Stripe, and others provide APIs for accessing data. API integration pulls data from these APIs on a schedule or on-demand, then loads it into a warehouse. API integration is simple conceptually. Call the API, get data, store it. The challenge is that APIs have limitations. They return data in their format. Rate limits restrict how fast you can pull. Pagination makes retrieving large datasets slow.
API integration works well for slowly changing data. If customer data in Salesforce changes daily, pulling via API once daily is acceptable. For faster-changing data or massive datasets, APIs become a bottleneck. A SaaS application with millions of records can't be pulled via API in a timely way. Some platforms, like Stripe, provide data exports or CDC options that are more efficient than APIs.
Pre-built connectors for popular SaaS applications have become standard. Fivetran and Airbyte include connectors for hundreds of SaaS sources. You configure the connector with your credentials. The tool handles API calls, pagination, and error handling. The connector runs on a schedule and loads data into your warehouse. This removes the burden of building custom API integrations.
Data Virtualization
Data virtualization presents multiple data sources as a single virtual database. An analyst writes a query against the virtual view. The system routes parts of the query to different sources. A query asking for customer age and purchase count might fetch age from the CRM and purchase count from the transaction database. The system combines results and returns them. From the analyst's perspective, it's one database.
Data virtualization avoids moving data. No duplication. Data lives where it was created. This keeps data fresh because you always query live sources. The downside is query performance depends on source system performance. If querying the CRM is slow, your entire query is slow. If the transaction database is overloaded, queries fail or timeout. Most virtualization tools include caching to mitigate this. Frequently accessed data is cached locally.
Data virtualization is useful when you have a few stable sources and real-time data is critical. For large-scale analytics with many sources, data integration to a warehouse is usually better. Moving data gives you control. You can cache, index, and optimize. You're not dependent on source system performance. But virtualization excels in specific scenarios where you need real-time data from a few sources.
Choosing and Comparing Integration Tools
The market for data integration tools is large and fragmented. Fivetran and Airbyte are no-code cloud platforms. They handle hundreds of pre-built connectors. You configure a source, select a warehouse, and data flows automatically. Fivetran is commercial, mature, and used by thousands of organizations. Airbyte is open-source, growing rapidly, and has lower costs. Both are excellent for standard integrations. They remove the burden of building connectors.
Enterprise platforms like Talend and MuleSoft handle integration across the entire organization. They support databases, APIs, applications, and more. They're powerful but complex. They suit large organizations with sophisticated integration needs. Smaller organizations usually find Fivetran or Airbyte sufficient. Custom solutions in Spark or Python are appropriate for unique sources or transformations that pre-built tools don't support. If you need a custom connector or complex logic, code gives you flexibility.
The choice depends on your sources, frequency, and team. Pre-built SaaS connectors suit most organizations. Custom logic suits specific needs. Budget matters. Fivetran costs money per source. Building custom connectors costs engineering time. The equation differs for each organization. Most start with a managed tool like Fivetran, then build custom connectors for unique sources as needed.
Data Quality and Validation
Data from sources is often dirty. Null values, missing fields, inconsistent formats. Integration pipelines must address this. The transform phase includes data quality checks. You validate that records have required fields. You check that numeric columns are actually numeric. You verify foreign keys exist. If a customer has an invalid order ID, you flag it. The pipeline doesn't reject the customer. It flags the invalid reference for manual review while loading the rest.
Most integration tools include data quality features. You define rules. The tool checks them and logs violations. Some tools include built-in transformations for common cleaning tasks. Converting dates to a standard format. Trimming whitespace. Removing duplicates. These built-in functions reduce custom logic. Schema validation ensures source data matches expectations. If the source adds an unexpected column, you're alerted. If a column type changes, it's caught.
Monitoring data quality over time is important. A source that was clean might degrade. Manual data entry errors accumulate. Your quality checks catch this. Dashboards show quality metrics over time. Are null values increasing. Is duplicate rate growing. Trends alert you to problems early. Data quality is often iterative. You discover issues, add checks, and improve quality continuously.
Challenges in Data Integration
Schema changes break pipelines silently. A source adds a column. Your ETL expects specific columns. The pipeline loads successfully, but the new column is ignored. Weeks later, an analyst needs the new column. It doesn't exist. Monitoring schema changes is critical. Most tools include schema detection and alert on changes. You should review schema changes regularly. Some columns might be required. Others optional. Your pipeline must handle both.
Maintaining connectors for hundreds of sources is operationally challenging. Each source evolves. APIs change. Database schemas are altered. Your connectors must adapt. This is why managed services like Fivetran are popular. They maintain connectors for you. When an API changes, Fivetran's engineers update the connector. You don't have to. Custom connectors are your responsibility. You must monitor and update them.
API rate limits are a common bottleneck. A SaaS API might limit you to 100 requests per hour. Pulling a large dataset takes days. Batching requests or requesting increased limits helps. Some APIs offer bulk export endpoints that are faster than sequential API calls. Understanding source capabilities and constraints is important. Data security and compliance add complexity. Credentials must be stored securely. Data at rest must be encrypted. Some regulations require specific handling of personal data. Your integration pipeline must address these requirements.
Monitoring data completeness is often overlooked. Data fails to load for many reasons. A source is down. Network connectivity is lost. Quotas are exceeded. Your pipeline should alert if data fails to load or is suspiciously incomplete. An analyst might not notice that a source is missing until they try to use it. Alerting catches this immediately. Data freshness is another metric. Is the data you're using actually current. Are there gaps where data failed to load. These metrics should be monitored actively.
Best Practices
- Use managed integration tools like Fivetran or Airbyte for standard sources. Custom connectors are expensive. Pre-built connectors are usually cheaper and better maintained.
- Monitor schema changes actively and review them regularly. New columns might be important. Type changes might break downstream logic.
- Implement data quality checks during integration. Validate that required fields are populated. Check that values are within expected ranges. Flag anomalies for review.
- Store credentials securely using a secrets manager. Never store credentials in code or configuration files. Use environment variables or secret stores.
- Track data completeness and freshness actively. Alert if data fails to load or is older than expected. These metrics prevent silent failures from going unnoticed.
Common Misconceptions
- ETL is always better than ELT. In reality, ELT is increasingly preferred for modern cloud warehouses because transformation in SQL is simple and cost-effective.
- Data integration is a one-time setup. In reality, it's ongoing. Sources change. Schemas evolve. Connectors need maintenance and updates.
- You need custom connectors for everything. Most sources have pre-built connectors in managed tools. Custom connectors are for edge cases.
- Data quality checks aren't necessary if you trust the source. Even trusted sources have errors. Manual data entry mistakes happen. Quality checks catch them.
- Data virtualization eliminates the need for a data warehouse. Virtualization is useful for specific scenarios, but warehouses remain essential for large-scale analytics.