Building the Digital Highways: Unveiling the Hidden Blueprint of Data Engineering

Muhammad Fahad
9 min readMar 17, 2023

--

Data Engineering is one of the practices in setup and establishment of infrastructure for huge volumes of data in terms of management, storage, processing and analysis. It hosts different types of activities that include acquiring data, transforming the data, preserving data, and retrieval of data. All these require specific expertise or knowledge in subjects like database design, data integration, development of pipelines and data warehousing. Data engineering describes the way in which organizations start to make sense of such enormous quantities of information by extracting meaning from the data. It finally leads to better decision-making and business process optimization. Most sectors-mostly financial services, health and e-commerce-with huge data in their storage-rely on data engineering to be competitive in the modern day new world data-centric landscape. They are able to keep the competitive advantage in the ever-increasing wave of data dependent environment with help from data engineering techniques.

Responsibilities of Data Engineer

  • Design and Develop Data Architectures: Data Engineers design and develop the architecture for data systems including Data pipelines, data warehouse and data lakes. They ensure that the architecture is scalable, reliable and optimized.
  • Developing Data Pipelines: Data engineers build and maintain data pipelines that transport data from source to target systems. This includes creating connectors to different data sources performing data transformation and ensuring data quality and consistency.
  • Ensure Data Quality: Data engineers are responsible for ensuring that data is consistent, accurate and trustworthy. They implement data validation and quality checks. They work with data scientists and analyst to resolve any issues arise.
  • Implementing Data Governance Policies: Data engineers implement data governance policies to ensure that data is managed in compliance with legal and regulatory requirements and ensure the security of sensitive data by implementing access controls, encryption, and other security measures
  • Data Integration: Collect, clean and transform data from different sources so that it can be used for analysis. This may involve designing and implementing ETL (Extract, Transform, Load) processes that move data from one system to another.
  • Performance Optimization: Optimize data processing and query performance by tuning databases, data pipelines and other systems. This includes monitoring system performance and implementing optimizations to improve system efficiency.

It’s important to understand the basics . These concepts provide the foundation for managing, processing, and analyzing large amounts of data. By having a good grasp of these core concepts, individuals are better prepared to take on data engineering projects and handle any issues that may come up.

Big Data

Big Data is the term used to describe extremely big and complex datasets that require advanced processing techniques in order to successfully analyze and extract knowledge from the data. This data can come from a wide range of sources, including social media, online transactions, sensors and other electronic devices. Big data can be structured, unstructured or semi-structured and ranges from terabytes (TB) to petabytes (PT) or even more in size.

Types of Data

Data can be categorized into 3 types based on their characteristics and properties:

  1. Structured Data: Structured data is referred to the data that is highly organized and formatted in a specific way that makes it easy to process and analyze data. Structured data is typical stored in Databases, Spreadsheets or any other formats that allow efficient storing and querying of data.

2. Unstructured Data: Unstructured data is referred to the data that does not have a specific format or structure which makes it difficult to analyze and process the data with traditional data processing tools.

3. Semi-Structured Data: Semi structured data refers to data that have some structure, but not organized as structured data. Semi structured data contain tags, metadata or other markers that help to organize and structure the data.

Structured Data vs Unstructured Data

Structured vs Unstructured Data Comparison

Data Lake

Data Lake is a centralized repository that store all structured, unstructured and semi unstructured data at any scale. It can store data in its original format and process any variety of it, ignoring the size limits. It provides secure and scalable platform that allows enterprises to ingest any data from any system at any speed even if the data comes from cloud or edge-computing systems. It stores any type or volume of data in full fidelity and process data in real time or batch mode.

Data Lake

Data Warehouse

Data warehouse is a large central repository of information/data that can be used for reporting and analysis to make more informed decisions. It is designed to support business intelligence activities, such as data mining, reporting and Online Analytical Processing (OLAP). Data flows into a data warehouse from transactional system, relational databases and other sources. Business analysts, Data engineers, data scientists and decision makers access the data from data warehouse. Data warehouses provide a structured way to store and analyze large volumes of data, making it easier for organizations to make data-driven decisions and gain insights.

Data Warehouse

Difference between Data Lake and Data Warehouse

Database

A database is an organized collection of structured data typically stored in a system and accessed electronically. It is essentially a structured way of organizing and managing data so that it can be easily accessed, managed and updated. Databases are typically organized into table that contain related data. For example, a customer database might contain tables for customer information, purchase history and billing information. Each table contains columns that define the data that is stored, such as a customer’s name, address, phone number and email address.

Data Marts

A data mart is a data storage system that contains information specific to an organization’s business unit. It contains a small and selected part of the data that the company stores in a larger storage system. Companies use a data mart to analyze department specific information more efficiently. It provides summarized data that key stakeholders can use to quickly make informed decisions.

Data Marts

Data Lakehouse

A data lakehouse represents an integrated approach to data management, combining the functionalities of data warehouses and data lake. It’s structured to efficiently store, manage and analyze large quantities of structured and unstructured data sourced from various sources. Data originating from databases, applications, social media platforms, IoT devices and more are aggregated into a singular repository, serving as a centralized data hub.

Lake House

Data Mesh

Data mesh is a way of organizing data in a decentralized manner according to business domains, such as marketing, sales, and customer service. This approach gives more control and ownership to the teams responsible for producing each dataset. By distributing data ownership, bottlenecks and silos can be minimized, allowing for scalable growth without sacrificing data governance. In essence, the concept behind data mesh is that business domains should have the ability to create, access, and manage their own data products.

Data Mesh

Difference between OLTP and OLAP

OLTP vs OLAP

What is ETL?

ETL stands for Extract, Transform and Load.

  • Extract data from its original source
  • Transform data by deduplicating it, combining it and ensuring quality
  • Load data into the target database

ETL is a traditional approach that involves extracting data from various sources, transforming it into a consistent format and then loading it into the target data warehouse/data mart. ETL is best suited for batch processing and large volumes of data and is often used in situations where data needs to be cleaned, normalized and aggregated before it’s loaded into target data warehouse or data mart.

ETL Process

Steps in ETL

  1. Extract: This is the first step of ETL, in this process the data is extracted from the target sources that are usually heterogeneous, such as business systems, APIs, transaction database, No SQL, XML and flat files into the staging area As some of the data types are likely to be structured outputs of widely used systems while other are semi structured JSON server logs.
  2. Transform: The data extracted from the source server is typically raw and not useful in its original form. Therefore, it must be processed through a series of steps to cleanse, map, and transform it to make it useful for generating BI reports. This transformation step is a crucial part of the ETL process that enhances the value of the data. Some data requires no transformation and can be directly moved to the target system. Transformation in ETL includes Cleaning, Deduplication, Filtering, Joining, Aggregation, Splitting, Derivation, Integration etc.
  3. Load: Loading data into the target Data Warehouse database is the last step of the ETL process. In a typical Data warehouse, huge volume of data needs to be loaded in a relatively short period. Hence, load process should be optimized for performance. In case of load failure, recover mechanisms should be configured to restart from the point of failure without data integrity loss. Data Warehouse admins need to monitor, resume, cancel loads as per prevailing server performance.

What is ELT?

ELT is an acronym for Extract, Load, and Transform. ELT is a modern variation on the older process of extract, transform, and load (ETL), in which transformations take place before the data is loaded. It’s a process that extracts raw data from a source system to a target system, and the information is then transformed into the source or destination system for downstream applications. Unlike ETL, where data transformation processes occur on a staging area before being loaded into the target system, in ELT, data is loaded directly into the target system and converted there. In this way, ELT is most useful for handling enormous datasets and using them for business intelligence and data analytics.

ETL vs ELT

Popular Tools for ETL

  • Azure Data Factory
  • Apache Airflow
  • Glue

Data Loading Strategies

  • Full Load: This involves loading all the data from the source system into the target system, regardless of whether it has changed or not. This is typically used when the target system needs to be completely refreshed, and all the data gets updated. This can be time-consuming and resource-intensive, especially if the data volume is large.
Full Load
  • Incremental Load: This involves loading only the data that has changed since the last load into the target system. This is typically used when the target system needs to be kept up-to-date and only the changes in the source system need to be reflected in the target system. Incremental loads are more efficient than full loads, as they reduce the amount of data that needs to be processed and loaded.
Incremental Load
  • Historical Load: Historical load involves loading all the historical data available from the source system into the target system. This is typically used when building a data warehouse for the first time or when starting a new project. The historical load can be a large amount of data and it may take longer to load and transform the data.

--

--

Muhammad Fahad
Muhammad Fahad

Written by Muhammad Fahad

Enthusiastic tech aficionado with a relentless drive to explore new trends and technologies / Data Engineer | Cloud | Data Warehouse

Responses (2)