SECTION 1: LEARNING OBJECTIVES

By the end of this comprehensive lesson, you will be able to:

  1. Differentiate between Operational (OLTP) and Analytical (OLAP) systems in a financial institution, understanding why banks maintain separate infrastructures for processing transactions versus analyzing them.

  2. Define and distinguish Data Warehouses, Data Lakes, and Data Marts, explaining how each serves a distinct purpose in the financial data ecosystem and when a bank would use one over the other.

  3. Diagram and explain the Kimball Dimensional Modeling approach (Star Schema versus Snowflake Schema), understanding why this design pattern is fundamental to banking analytics and how it enables rapid query performance for regulatory reporting.

  4. Write foundational SQL queries to aggregate, join, and filter financial transaction tables, demonstrating practical skills in extracting meaningful business intelligence from raw banking data.

  5. Distinguish between structured and unstructured data in finance, recognizing that customer emails, PDF statements, and regulatory filings require fundamentally different analytical approaches than traditional ledger data.

  6. Build a beginner Python script using the pandas library to load mock bank transactions and calculate daily Net Available Balance, understanding the importance of vectorized operations for financial data processing.

  7. Comprehend the regulatory implications of data architecture, including how the choice of database systems impacts compliance with Basel III reporting requirements and Model Risk Management (SR 11-7) standards.

  8. Articulate the business value of analytical data systems, explaining how investment banks use these tools to identify revenue opportunities, manage risk exposure, and optimize capital allocation.


SECTION 2: THE DATA EXPLOSION IN MODERN BANKING

2.1 Understanding the Scale of Financial Data

To truly appreciate the importance of data analytics in banking, we must first understand the staggering volume, velocity, and variety of data that modern financial institutions generate and process daily. This section will walk you through the data ecosystem of a typical global bank, breaking down exactly what types of data exist and why they matter.

The Daily Data Generation of a Major Bank

Let us begin with a concrete example. Consider JPMorgan Chase, one of the largest banks in the world. On a typical business day, this institution processes approximately:

  • 500 million to 1 billion transactions across credit cards, debit cards, wire transfers, and ACH (Automated Clearing House) payments.

  • 2-3 petabytes of market data from stock exchanges, futures markets, and foreign exchange trading platforms.

  • 10-15 million customer service interactions via phone calls, emails, chat messages, and branch visits.

  • Hundreds of thousands of loan applications, mortgage originations, and credit line increase requests.

  • Thousands of regulatory filings required by the Federal Reserve, SEC, OCC, and other global regulatory bodies.

To put this in perspective, one petabyte is equivalent to approximately 500 billion pages of standard printed text. If you stacked that paper, it would reach from the Earth to the Moon and back – twice. And JPMorgan generates multiple petabytes of new data every single day.

Why Does This Data Need to Be Stored and Analyzed?

The short answer is: because every piece of this data represents a business opportunity, a risk factor, or a regulatory requirement. Let us break this down:

  1. Transaction Data: Every credit card swipe, every wire transfer, every ATM withdrawal tells a story about customer behavior. Analyzing this data helps banks:

    • Detect fraudulent transactions in real-time

    • Offer personalized credit card rewards

    • Predict when customers might close their accounts

    • Ensure sufficient cash reserves at each ATM location

  2. Market Data: Stock prices, bond yields, currency exchange rates – this is the fuel for trading operations. Banks analyze this data to:

    • Make profitable trades

    • Hedging against market volatility

    • Comply with capital requirement regulations

    • Provide liquidity to markets

  3. Customer Interaction Data: When a customer calls to complain about a fee or emails to ask about a mortgage rate, this data helps banks:

    • Improve customer service

    • Identify product pain points

    • Personalize marketing campaigns

    • Reduce customer churn

  4. Loan Application Data: Every credit application generates rich data about income, employment, spending habits, and credit history. Banks analyze this to:

    • Assess creditworthiness

    • Set appropriate interest rates

    • Comply with fair lending laws

    • Manage default risk

  5. Regulatory Data: Banks must report on everything from their capital reserves to their exposure to specific industries. This data is critical for:

    • Passing regulatory exams

    • Avoiding billions in fines

    • Maintaining the bank’s license to operate

    • Protecting the broader financial system

2.2 The Evolution of Banking Data Systems

To understand where we are today, we need to briefly look at how banking data systems have evolved over the past 50 years. This history explains why banks have such complex data architectures – they have built new systems on top of old ones for decades.

The 1970s-1980s: The Era of Mainframes
In these early days, banks used massive mainframe computers running COBOL programs. These systems handled basic transaction processing – updating account balances, printing monthly statements, and processing checks. The data was stored on magnetic tapes and processing happened overnight when the bank was closed (this is why “end-of-day processing” still happens at 2:00 AM today – it is a legacy of this era).

The 1990s: The Client-Server Revolution
Banks began moving to more distributed systems with servers and personal computers. Relational databases like Oracle and DB2 became common. This allowed banks to process transactions during the day and still run reports at night. However, the reporting and transaction processing systems were still tightly coupled – meaning the same databases were used for both.

The 2000s: The Rise of Data Warehousing
Banks finally realized that transaction processing and analytical reporting required fundamentally different database designs. The concept of the “Data Warehouse” emerged – a separate system optimized for analysis rather than transaction processing. This separation is the topic of this entire lesson.

The 2010s: Big Data and Cloud Computing
Hadoop, Spark, and cloud platforms like AWS allowed banks to store and analyze data at unprecedented scales. This is when “Data Lakes” became popular – storage systems that can hold raw, unprocessed data in its native format.

The 2020s and Beyond: Real-Time Analytics and AI
Today, banks are moving toward systems that can analyze data in real-time, processing transactions and detecting fraud in milliseconds. Machine learning and AI are being integrated into every part of the banking system, from fraud detection to algorithmic trading to regulatory compliance.

Why This History Matters for Your Learning
Understanding this evolution helps explain why modern banking data systems look the way they do. You will encounter:

  • Old COBOL systems that still process millions of transactions daily

  • Relational databases storing critical financial records

  • Data warehouses supporting analytical queries

  • Data lakes storing raw market data

  • Cloud platforms enabling real-time analytics

Each of these systems serves a purpose, and part of your job as a financial data analyst will be understanding how to extract data from all of them and transform it into actionable insights.

2.3 The Types of Data in Banking: Structured vs. Unstructured

Before we dive deep into the architecture of data systems, we must understand the different types of data that banks deal with. This distinction is fundamental because different data types require different storage, processing, and analytical approaches.

Structured Data

Structured data is highly organized, clearly defined, and easily searchable in relational databases. It follows a strict schema – a predefined format with specific fields and data types.

Examples in Banking:

 
 
Data Type Example Schema
Transaction Records A credit card purchase {transaction_id: 123456, date: ‘2024-01-15’, amount: 45.67, merchant: ‘Amazon’, customer_id: 7890}
Customer Accounts A checking account {account_id: 98765, customer_name: ‘John Smith’, balance: 1234.56, account_type: ‘checking’}
Loan Applications A mortgage application {application_id: 45678, applicant_name: ‘Jane Doe’, annual_income: 120000, requested_amount: 300000}
Trade Settlements A stock trade {trade_id: 34567, symbol: ‘AAPL’, quantity: 100, price: 150.25, date: ‘2024-01-15’}

Key Characteristics:

  • Data is organized in tables with rows and columns

  • Each column has a specific data type (integer, decimal, date, string)

  • Relationships between tables are clearly defined

  • Data can be easily queried using SQL

  • Performance is optimized for specific queries

Unstructured Data

Unstructured data does not follow a predefined format or schema. It is often text-heavy, but may also contain dates, numbers, and facts in non-standardized ways. This type of data is much harder to analyze using traditional database methods.

Examples in Banking:

 
 
Data Type Example Challenges
Customer Emails “Dear Bank, I dispute the charge from Amazon on January 15th…” Extracting the date, amount, and merchant requires natural language processing
PDF Statements Monthly credit card statement with a table of transactions Tables and formatting vary across documents
Loan Agreements A 50-page mortgage document Legal language is complex; clauses are non-standardized
Regulatory Filings SEC 10-K annual reports Thousands of pages of narrative and financial data
Call Transcripts Recording of a customer service call Converting speech to text; analyzing sentiment and intent
Market News Reuters article about Federal Reserve policy Understanding the impact of news on markets

Key Characteristics:

  • No fixed schema – each document can be different

  • Often contains human-readable text

  • May include embedded data (tables in PDFs)

  • Requires advanced techniques (NLP, machine learning) to analyze

  • Represents 80-90% of all banking data by volume

Semi-Structured Data

Some data falls between structured and unstructured – it has some organization but not a strict relational schema. Examples include:

  • JSON files: Used in APIs, this format has a loose structure

  • XML files: Used in financial messaging standards like SWIFT

  • Emails: Have a header (sender, recipient, date) but the body is unstructured

  • Log files: Have consistent formats but may contain variable-length text

Business Impact: Why This Distinction Matters

The choice between structured and unstructured data approaches has massive business implications:

  1. Storage Costs: Unstructured data often requires more storage and is harder to compress efficiently

  2. Processing Speed: Structured data can be queried in milliseconds; unstructured data may take minutes or hours to analyze

  3. Analytical Capabilities: Structured data is great for aggregation (total sales by region); unstructured data is needed for sentiment analysis or understanding customer feedback

  4. Regulatory Requirements: Banks must retain both types of data for specific periods; managing this compliance adds complexity

  5. Competitive Advantage: Banks that can effectively analyze unstructured data (customer emails, market news) can gain insights that competitors miss

2.4 Data Governance and the “Single Source of Truth”

Before we dive deeper into the architecture, we must understand a critical concept in banking data management: the “Single Source of Truth” (SSOT). This principle states that every piece of critical business data should be stored in exactly one place, and all other systems should reference that place.

Why Single Source of Truth Matters

Imagine a scenario where a bank has a customer’s address stored in three different systems:

  1. The core banking system (where account balances are stored)

  2. The credit card system (where card statements are sent)

  3. The marketing system (where promotional mailers are generated)

If the customer moves and changes their address, the bank must update all three systems. If one system fails to update, the customer may receive incorrect statements or miss important communications.

Data Governance in Banking

Data governance refers to the overall management of data availability, usability, integrity, and security. In banks, this is not just a good practice – it is a regulatory requirement.

Key Components of Banking Data Governance:

  1. Data Quality: Ensuring data is accurate, complete, and timely

  2. Data Lineage: Tracking where data comes from and how it has been transformed

  3. Data Security: Protecting sensitive customer information

  4. Data Privacy: Complying with GDPR, CCPA, and other privacy regulations

  5. Data Retention: Keeping data for required periods (and no longer)

  6. Data Standards: Ensuring data is collected and stored consistently

How This Impacts Your Work

As a financial data analyst, you will constantly work with data that has been governed by these principles:

  • You will need to understand where your data comes from (data lineage)

  • You will need to trust that your data is accurate and complete (data quality)

  • You will need to handle sensitive data appropriately (data security and privacy)

  • You will need to maintain data for regulatory purposes (data retention)

Failure to understand and respect data governance principles can lead to:

  • Regulatory fines of millions or billions of dollars

  • Reputational damage that affects customer trust

  • Incorrect analytical conclusions that lead to bad business decisions

  • Legal liability for data breaches or privacy violations


SECTION 3: OLTP VS OLAP – THE ARCHITECTURAL FOUNDATION

3.1 Defining OLTP (Online Transaction Processing)

OLTP systems are the workhorses of banking operations. Every time you swipe your credit card, transfer money, or deposit a check, you are interacting with an OLTP system.

What Does OLTP Actually Do?

OLTP systems handle the day-to-day transactions of the business. They are designed to:

  • Process high volumes of simple, short transactions

  • Ensure data integrity (no lost or duplicate transactions)

  • Maintain the “Source of Truth” for operational data

  • Support concurrent users (hundreds or thousands) with consistency

  • Provide fast response times (sub-second)

The Anatomy of a Banking OLTP System

Let us take a concrete example: a checking account transaction. When a customer uses their debit card to buy a coffee:

  1. The card reader sends the transaction details (customer ID, amount, merchant) to the bank’s transaction processing system

  2. The OLTP system quickly checks:

    • Does this account exist?

    • Is there sufficient balance?

    • Is this transaction allowed (e.g., not a fraud flag)?

  3. The system reduces the account balance by the transaction amount

  4. The transaction is recorded in the transaction log

  5. A confirmation is sent back to the merchant

  6. All of this happens in less than 2 seconds

OLTP Database Characteristics

OLTP databases are optimized for these rapid, small transactions. They typically have:

  • Normalized Data Models: Data is organized to minimize redundancy. For example, customer information is stored once and referenced by transaction records.

  • Index-heavy: Many indexes on various columns to speed up lookups

  • ACID Compliance: Atomicity, Consistency, Isolation, Durability – guarantees that transactions are processed reliably

  • Higher Write Volume: More writes (inserts/updates) than reads

  • Row-oriented Storage: Data is stored by row, making it fast to retrieve a complete record

Why Banks Cannot Use OLTP Systems for Analytics

Imagine trying to answer this question with an OLTP system: “What was our total revenue from all credit card transactions in California last month?”

To answer this, the system would need to:

  1. Find all credit card transactions from the last month (potentially millions)

  2. For each transaction, look up the customer’s address to determine if they are in California

  3. Calculate the total amount of these transactions

  4. Exclude refunds and chargebacks

This query would:

  • Slow down transaction processing for every customer

  • Lock tables that other customers need to complete their transactions

  • Take a very long time to run (minutes or hours)

  • Potentially bring the entire banking system to a halt

This is why banks have separate analytical systems (OLAP) that can handle these complex queries without affecting operations.

Real-World Example: Online Banking Portal

When you log into your online banking account and see your balance, you are interacting with an OLTP system. The system quickly queries your account record and displays your current balance. The operation is simple, fast, and only involves your account.

However, when you click on “Generate Annual Spending Report” and see a breakdown of your spending by category for the entire year, this likely comes from an OLAP system that has been pre-computed or analyzed separately.

3.2 Defining OLAP (Online Analytical Processing)

OLAP systems are the analytical engines of a bank. They are designed to support complex queries that analyze historical data to identify trends, generate reports, and support decision-making.

What Does OLAP Actually Do?

OLAP systems enable analysts to:

  • Analyze large volumes of historical data

  • Perform complex aggregations and calculations

  • “Slice and dice” data along multiple dimensions

  • Generate reports and dashboards for decision-making

  • Explore data from different perspectives

The Anatomy of a Banking OLAP System

Consider a question from a banking executive: “What was our total revenue from mortgage loans in the Southeast region for each quarter of 2023?”

To answer this, the OLAP system:

  1. Aggregates data from millions of mortgage transactions

  2. Groups the data by quarter and region

  3. Calculates total revenue (sum of interest payments)

  4. Returns the result in seconds or minutes

  5. The executive can then “drill down” to see individual states or branch performance

OLAP Database Characteristics

OLAP databases are optimized for complex analytical queries. They typically have:

  • Dimensional Data Models: Data is organized around business processes (sales, loans, trades) and dimensions (time, location, product). This is the Star Schema we will explore shortly.

  • Fewer Indexes: Data is organized for sequential scanning of large volumes

  • Read-optimized: Data is updated periodically (e.g., nightly), but mostly read for analysis

  • Column-oriented Storage: Data is stored by column, making aggregation operations (like SUM, AVG) very fast

  • Pre-aggregated Data: Summaries and cubes are pre-computed for faster response times

Why OLAP Systems Are Perfect for Banking Analytics

OLAP systems can handle the complex queries that are essential for banking operations:

  1. Risk Analysis: “What is our exposure to commercial real estate loans in cities with declining property values?”

  2. Customer Insights: “Which customer segments generate the highest profit margin?”

  3. Regulatory Reporting: “What are our capital adequacy ratios as of the reporting date?”

  4. Performance Management: “Which branches are underperforming versus their targets?”

  5. Fraud Detection: “What is the typical transaction pattern for accounts that later show fraudulent activity?”

The “Additive” Nature of OLAP

A key principle of OLAP systems is that data is “additive” across dimensions. For example:

  • Total revenue for the bank in 2023 = Sum of revenue from each quarter

  • Total revenue for a region = Sum of revenue from each state in that region

  • Total revenue for a branch = Sum of revenue from each customer account

This additive property is what makes dimensional modeling so powerful for analytics. However, not all metrics are additive. For example, average account balance is not additive (you cannot average averages). This is where more sophisticated calculations become necessary.

3.3 The Critical Differences – A Detailed Comparison

Let us dive deep into the specific differences between OLTP and OLAP systems. As a financial data analyst, understanding these differences is essential for writing efficient queries and designing appropriate data models.

 
 
Characteristic OLTP (Transactional) OLAP (Analytical)
Primary Purpose Process day-to-day operations Support business analysis and decision-making
Data Volume Moderate (GBs to TBs) Very large (TBs to PBs)
Data Source Direct transaction entry Aggregated from multiple OLTP sources
Query Type Simple, short, fixed Complex, long-running, ad hoc
Concurrency High (hundreds/thousands of users) Moderate (tens/hundreds of analysts)
Data Freshness Real-time (milliseconds) Historical (hours to days old)
Typical Operations CRUD (Create, Read, Update, Delete) Read-only (SELECT operations)
Data Model Normalized (3NF/BCNF) Denormalized (Dimensional)
Performance Metric Transactions per second (TPS) Query response time
Indexing Many, to support lookups Few, to support scanning
Data Modification Frequent, small updates Batch, periodic updates
Data Integrity ACID compliance required Relaxed ACID constraints
Storage Format Row-oriented Column-oriented
Typical Database PostgreSQL, MySQL, Oracle Amazon Redshift, Google BigQuery, Snowflake
Banking Example Processing a wire transfer Analyzing quarterly loan performance

The Banking Reality: Why Both Are Necessary

In practice, banks need both OLTP and OLAP systems working together. Here is how they interact in a typical banking data flow:

  1. Customer Initiation: The customer makes a transaction (e.g., online banking transfer)

  2. OLTP Processing: The transaction is immediately processed by the OLTP system

  3. Data Update: The account balance is updated in real-time

  4. Transaction Logging: The transaction details are written to a log

  5. ETL/ELT Process: Later (e.g., at 2:00 AM), the data is extracted from the OLTP system

  6. Data Transformation: The data is cleaned, enriched, and transformed

  7. OLAP Loading: The transformed data is loaded into the OLAP system

  8. Analytical Querying: Financial analysts query the OLAP system for insights

A Real-World Banking Scenario

Let us walk through a complete scenario to see how both systems work together:

Scenario: A customer with a mortgage, credit card, and checking account at a major bank

OLTP Systems in Action:

  • Checking Account: Customer deposits a paycheck – balance updates in real-time

  • Credit Card: Customer makes a purchase – card is authorized immediately

  • Mortgage: Customer makes a payment – account is credited instantly

Data Flow to OLAP:

  • At 2:00 AM, all transaction data is copied to the data warehouse

  • The data is transformed to match the analytical schema

  • Customer activity is linked across all products (checking, credit card, mortgage)

  • The OLAP system creates summaries and aggregations

Analytical Insights:

  • The bank identifies that this customer is “high-value” based on total deposits

  • They notice the customer has been consistently paying mortgage early

  • The marketing team decides to offer this customer a “preferred” credit card rate

  • The risk team adjusts the mortgage portfolio risk calculation based on payment patterns

3.4 The Financial Impact of System Misuse

Using the wrong system for the wrong purpose can have severe consequences. Let us examine some real-world examples.

Case Study 1: Database Locking and Operational Disruption

In 2018, a major US bank attempted to run a complex analytical query on its production OLTP system during business hours. The query locked several critical tables, causing:

  • Customer Impact: 45 minutes of downtime for the online banking system

  • Financial Impact: An estimated $50 million in lost revenue and compensation

  • Regulatory Impact: A $100 million fine for failing to maintain operational resilience

  • Reputational Impact: Widespread media coverage and customer dissatisfaction

Case Study 2: Analytics on Outdated Data

A European bank used data from its OLTP systems for regulatory reporting without properly reconciling it with the OLAP system. Because the OLTP data was missing some end-of-day adjustments:

  • The Mistake: The bank reported capital ratios that were too high

  • The Reality: The bank was actually undercapitalized

  • The Consequence: An $80 million fine and forced capital raising

  • The Lesson: Always use properly reconciled data for regulatory reporting

Case Study 3: Slow Analytics Affecting Trading

A hedge fund attempted to run complex analytical queries on its OLTP trading system during market hours:

  • The Result: Query processing slowed down transaction execution

  • The Impact: Trading algorithms missed market opportunities

  • The Loss: Estimated at $200 million in missed profits over a month

  • The Solution: Implementing a proper analytical system separate from trading

Key Takeaway for Financial Data Analysts

As a financial data analyst, you must understand:

  1. Where your data comes from: Which OLTP systems generate your data?

  2. Where your data should be analyzed: Which OLAP systems should you query?

  3. When your data is ready: When has it been properly extracted and transformed?

  4. What the data represents: Is it raw, transformed, or summarized?

  5. How to query efficiently: How can you get results without disrupting operations?


SECTION 4: DATA WAREHOUSES, DATA LAKES, AND DATA MARTS

4.1 Data Warehouses: The Backbone of Banking Analytics

A Data Warehouse is a centralized repository that stores integrated data from multiple sources. It is specifically optimized for analytical querying and reporting, following the OLAP principles we discussed earlier.

Definition and Purpose

A Data Warehouse is a subject-oriented, integrated, time-variant, and non-volatile collection of data in support of management’s decision-making process. Let us break down what each of these terms means in a banking context:

 
 
Characteristic Banking Meaning Example
Subject-Oriented Organized around business subjects (not applications) “Customer profitability” rather than “checking account system”
Integrated Data from multiple sources is combined and standardized Merging data from credit card, mortgage, and checking systems
Time-Variant Historical data is maintained for trend analysis Tracking customer behavior over 5+ years
Non-Volatile Data is not updated; it is only read Transaction data from 2020 remains unchanged in the warehouse

The Components of a Banking Data Warehouse

A typical banking data warehouse consists of:

  1. Data Sources: Operational systems (OLTP), external data feeds, regulatory databases

  2. ETL/ELT Pipeline: Extract, Transform, Load processes that move and prepare data

  3. Data Storage: The actual warehouse database optimized for analytical queries

  4. Data Marts: Subsets of the warehouse focused on specific business areas

  5. Metadata Repository: Information about the data (where it came from, how it was transformed)

  6. Business Intelligence Layer: Tools for querying, reporting, and visualization

Why Banks Invest Heavily in Data Warehouses

The business case for data warehouses in banking is compelling:

  1. Single Source of Truth: One consistent view of data across the organization

  2. Historical Analysis: Ability to analyze trends over time

  3. Regulatory Compliance: Complete and accurate reporting

  4. Customer 360 View: Complete picture of customer relationships

  5. Performance Optimization: Queries run on optimized systems

  6. Data Quality: Data is validated and cleansed before analysis

  7. Security: Sensitive data is protected with appropriate controls

Real-World Banking Data Warehouse Example

Consider a global investment bank that needs to analyze its mortgage portfolio:

Data Sources:

  • Mortgage origination system (loan applications, approvals)

  • Payment processing system (monthly payments, late fees)

  • Customer relationship system (customer demographics)

  • Property valuation system (appraisals, property taxes)

  • Market data system (interest rates, property values)

  • Credit bureau data (customer credit scores)

ETL Process:

  • Each night, data is extracted from these systems

  • The data is cleaned (removing duplicates, correcting errors)

  • The data is transformed (standardizing formats, calculating metrics)

  • The data is loaded into the data warehouse

Analytical Capabilities:

  • Mortgage portfolio performance by loan type, region, or vintage

  • Customer payment behavior and default prediction

  • Prepayment risk analysis (when will loans be refinanced?)

  • Portfolio stress testing (impact of interest rate changes)

Data Warehouse Costs and Considerations

Building and maintaining a data warehouse is expensive. For a major bank, costs include:

 
 
Cost Category Description Estimated Annual Cost
Infrastructure Servers, storage, network $5-20 million
Software Database licenses, ETL tools $2-10 million
Personnel Engineers, analysts, administrators $10-30 million
Data Acquisition External data licenses $1-5 million
Maintenance Upgrades, support, monitoring $5-15 million
Total   $23-80 million

The ROI of Banking Data Warehouses

Despite the high costs, data warehouses deliver significant returns:

  • Operational Efficiency: Reduced time to generate reports (from days to minutes)

  • Better Decision-Making: Data-driven insights lead to better business outcomes

  • Regulatory Risk: Reduced fines and penalties for incorrect reporting

  • Revenue Growth: Cross-selling opportunities identified through analysis

  • Cost Reduction: Identifying and eliminating inefficient processes

4.2 Data Lakes: The Next Frontier in Banking Data

While data warehouses are highly structured and optimized for specific analytical needs, Data Lakes take a fundamentally different approach. They are designed to store vast amounts of raw data in its native format, enabling a wider range of analytical possibilities.

Definition and Purpose

A Data Lake is a centralized storage repository that holds vast amounts of raw data in its original format, regardless of its structure. The key principle is “store it all now, analyze it later.”

Key Characteristics of Data Lakes:

 
 
Characteristic Description Banking Example
Schema-on-Read Data structure is applied when it is read, not when it is stored Store raw transaction logs; parse them later
All Data Types Stores structured, semi-structured, and unstructured data Combine ledgers with emails and call transcripts
Raw Storage Data is stored as-is without transformation Save exactly what came from the source system
Scalable Can handle petabytes of data All market tick data from multiple exchanges
Cost-Effective Often built on commodity hardware Cloud storage like AWS S3, Google Cloud Storage

The Banking Data Lake in Action

Imagine a global bank implementing a data lake:

Data Stored in the Lake:

  • Raw Transaction Data: Every transaction from every channel

  • Market Feeds: Real-time and historical stock prices, currency rates

  • Customer Interactions: Call center recordings, emails, chat messages

  • Regulatory Filings: SEC reports, regulatory submissions

  • Social Media: Public posts about the bank and its competitors

  • News: News feeds from multiple providers

  • Weather Data: For assessing impact on agricultural loans

How the Bank Uses the Data Lake:

  1. Discovery Phase: Data scientists explore the raw data to find patterns and insights

  2. Proof of Concept: New analytical models are developed and tested

  3. Productionization: Successful models are moved to the data warehouse for operational use

  4. Compliance: Regulatory requests for specific data can be fulfilled directly

Data Lake vs. Data Warehouse: The Banking Perspective

 
 
Aspect Data Warehouse Data Lake
Data Structure Structured, cleansed, transformed Raw, varied, unprocessed
Data Purpose Known analytical needs Unknown future analysis
Data Quality High quality, validated “As-is” quality, may be incomplete
Processing Time Batch (overnight) Real-time or near-real-time
Users Business analysts, executives Data scientists, developers
Cost High per GB stored Low per GB stored
Query Speed Fast for known queries Slower for complex queries
Security Granular access control Coarse access control
Compliance Easier to demonstrate compliance Harder to demonstrate compliance

The Data Lake Evolution in Banking

Banks have moved from “build a data lake” to “build a data lake that actually works.” Key lessons learned:

  1. Governance is Critical: Without proper governance, data lakes become “data swamps”

  2. Metadata is Essential: You must know what you have stored

  3. Security Cannot Be an Afterthought: Data lakes contain sensitive data

  4. Don’t Abandon Data Warehouses: Both are needed

  5. Start Small, Scale Gradually: Don’t try to do everything at once

4.3 Data Marts: Focused Analytical Solutions

Data Marts are specialized, focused versions of data warehouses. They are designed to serve the analytical needs of a specific business unit, department, or group of users.

Definition and Purpose

A Data Mart is a subset of a data warehouse (or created separately) that is focused on a specific business function or department. It contains only the data relevant to that function, organized in a way that is optimal for their analytical needs.

Types of Data Marts in Banking

  1. Retail Banking Data Mart: Focused on consumer accounts, mortgages, credit cards

  2. Commercial Banking Data Mart: Focused on business loans, corporate accounts

  3. Investment Banking Data Mart: Focused on trading, capital markets, M&A

  4. Risk Management Data Mart: Focused on credit risk, market risk, operational risk

  5. Finance Data Mart: Focused on accounting, financial reporting, budgeting

  6. Compliance Data Mart: Focused on regulatory reporting, AML, fraud detection

Data Mart Architecture Options

 
 
Approach Description Banking Example Pros Cons
Top-Down Data mart created from data warehouse Mortgage mart derived from enterprise warehouse Consistency, single source of truth More time to implement
Bottom-Up Data mart created directly from source systems Credit card mart from transaction systems Faster to implement Data consistency issues
Federated Combining data from multiple sources Risk mart combining trading and lending data Best of both worlds More complex

The Banking Data Mart Example

Let us examine a specific data mart for credit card analytics:

Data Sources:

  • Transaction system (card swipes, authorizations)

  • Card management system (account setup, credit limits)

  • Customer system (cardholder demographics)

  • Collections system (late payments, recovery)

  • Marketing system (promotional offers, channel)

Mart Content:

  • Fact Tables: Transaction facts, payment facts, chargeback facts

  • Dimension Tables: Time, card, customer, merchant, geography

  • Pre-aggregations: Daily summaries, monthly totals, annual trends

Analytical Capabilities:

  • Customer spending patterns by segment

  • Delinquency prediction models

  • Cross-sell opportunity identification

  • Fraud detection patterns

  • Portfolio profitability analysis

4.4 The Modern Banking Data Architecture

Today, banks typically implement a “Modern Data Architecture” that combines data warehouses, data lakes, and data marts in a unified ecosystem.

The Core Components of Modern Banking Data Architecture

  1. Data Sources: The operational systems (OLTP)

  2. Data Lake (Landing Zone): Raw data from all sources

  3. Data Lake (Curated Zone): Cleaned and validated data

  4. Data Warehouse: Highly structured, business-ready data

  5. Data Marts: Department-specific analytical data

  6. BI and Analytics Layer: Tools for analysis and visualization

  7. Data Governance: Policies, standards, and controls

  8. Data Security: Access controls, encryption, monitoring

Data Flow Through Modern Banking Architecture

Here is how data moves through a modern banking architecture:

Step 1: Ingestion

  • All transaction data is written to the data lake in real-time

  • The data is stored in its raw format

  • Metadata is recorded (source, time, format)

Step 2: Processing

  • Data is cleaned and validated (removing duplicates, correcting errors)

  • Data is transformed (joining, aggregating, calculating metrics)

  • Data is enriched (adding derived fields and relationships)

Step 3: Storage

  • Clean data is loaded into the data warehouse (structured)

  • Clean data remains in the data lake (for advanced analytics)

  • Relevant subsets are loaded into data marts

Step 4: Analysis

  • Business analysts use BI tools on data marts

  • Data scientists explore the data lake

  • Advanced models are run on the data warehouse

Step 5: Action

  • Insights are delivered to decision-makers

  • Models are deployed to operational systems

  • Decisions are made and executed

Why This Architecture Is Effective for Banks

This architecture addresses key banking requirements:

  1. Performance: Analytical queries run on optimized systems

  2. Cost: Data is stored cost-effectively based on need

  3. Agility: New data sources can be added quickly

  4. Compliance: Data lineage and governance are maintained

  5. Scalability: Systems can grow with data volumes

  6. Security: Sensitive data is protected throughout


SECTION 5: KIMBALL DIMENSIONAL MODELING

5.1 Introduction to Dimensional Modeling

Dimensional modeling is the foundation of data warehousing and analytical systems in banking. It represents a fundamentally different approach to organizing data compared to the normalized models used in OLTP systems. This approach was pioneered by Ralph Kimball in the 1990s and remains the standard methodology for building banking analytics systems.

The Core Principle: Organize Data for Intuitive Analysis

The fundamental insight behind dimensional modeling is that business users think about their data in terms of facts (what happened) and dimensions (who, what, when, where, why). This natural organization makes the data easier to understand and query.

Key Components of Dimensional Modeling

 
 
Component Definition Banking Example
Fact Table Contains quantitative measures of business activity Every transaction: amount, quantity, fees
Dimension Table Contains descriptive attributes about the business Customer name, branch location, date, product type
Measure A numeric value that can be aggregated Transaction amount, loan balance, account balance
Attribute A descriptive characteristic Customer age, branch region, product category
Grain The level of detail in a fact table Individual transaction, daily summary, monthly rollup

5.2 The Star Schema

The Star Schema is the simplest and most common dimensional modeling pattern. It consists of a single fact table at the center, surrounded by multiple dimension tables. The name comes from the visual appearance: it looks like a star.

Star Schema Structure

text
                    [Date Dimension]
                         |
    [Branch Dim] -- [FACT TABLE] -- [Product Dim]
                         |
                    [Customer Dim]

Breaking Down the Star Schema:

  1. Fact Table (Center):

    • Contains foreign keys to all dimension tables

    • Contains the quantitative measures (facts)

    • Very large (millions or billions of rows)

    • Records are at a specific grain (e.g., each transaction)

  2. Dimension Tables (Spokes):

    • Contain descriptive attributes

    • Relatively small (thousands to millions of rows)

    • Represent the “who, what, when, where, why”

    • Each has a primary key used in the fact table

Banking Star Schema Example: Mortgage Fact

Let us create a real-world mortgage fact table:

Fact: Mortgage Transaction

 
 
Column Type Description
transaction_id INTEGER Unique transaction ID
date_key INTEGER Foreign key to Date dimension
loan_key INTEGER Foreign key to Loan dimension
customer_key INTEGER Foreign key to Customer dimension
branch_key INTEGER Foreign key to Branch dimension
product_key INTEGER Foreign key to Product dimension
transaction_amount DECIMAL(12,2) Amount of the transaction
interest_amount DECIMAL(12,2) Interest portion of payment
principal_amount DECIMAL(12,2) Principal portion of payment
fee_amount DECIMAL(12,2) Fees charged
late_charge DECIMAL(12,2) Late payment penalties

Dimensions Referenced:

  1. Date Dimension:

     
     
    Column Type Description
    date_key INTEGER Primary Key
    date DATE Actual calendar date
    year INTEGER Year (2024)
    quarter INTEGER Quarter (1-4)
    month INTEGER Month number (1-12)
    month_name VARCHAR Month name (January)
    day INTEGER Day of month (1-31)
    day_of_week INTEGER Day of week (1-7)
    is_weekend BOOLEAN True if weekend
    banking_day BOOLEAN True if banking day
    holiday_indicator BOOLEAN True if holiday
  2. Loan Dimension:

     
     
    Column Type Description
    loan_key INTEGER Primary Key
    loan_id VARCHAR Internal loan identifier
    original_balance DECIMAL(12,2) Original loan amount
    current_balance DECIMAL(12,2) Outstanding balance
    interest_rate DECIMAL(5,2) Current interest rate
    interest_type VARCHAR Fixed, Variable, Adjustable
    term_months INTEGER Original term in months
    remaining_months INTEGER Months remaining
    loan_to_value DECIMAL(5,2) LTV ratio at origination
  3. Customer Dimension:

     
     
    Column Type Description
    customer_key INTEGER Primary Key
    customer_id VARCHAR Internal customer ID
    first_name VARCHAR Customer first name
    last_name VARCHAR Customer last name
    birth_date DATE Date of birth
    age INTEGER Current age
    credit_score INTEGER Credit score
    annual_income DECIMAL(12,2) Reported income
    occupation VARCHAR Job title
    relationship_length INTEGER Years as customer
    customer_segment VARCHAR Premium, Standard, Basic
  4. Branch Dimension:

     
     
    Column Type Description
    branch_key INTEGER Primary Key
    branch_id VARCHAR Branch identifier
    branch_name VARCHAR Branch name
    address VARCHAR Street address
    city VARCHAR City
    state VARCHAR State
    region VARCHAR Northeast, South, etc.
    branch_type VARCHAR Urban, Suburban, Rural
  5. Product Dimension:

     
     
    Column Type Description
    product_key INTEGER Primary Key
    product_id VARCHAR Product identifier
    product_name VARCHAR 30-Year Fixed, ARM, Jumbo
    product_category VARCHAR Fixed Rate, Adjustable
    product_subcategory VARCHAR Conforming, Non-Conforming
    risk_weight DECIMAL(5,2) Regulatory risk weight

Why the Star Schema Is So Powerful for Banking Analytics

  1. Query Performance: The structure allows for fast aggregation queries

  2. Simplicity: Business users can understand the data model intuitively

  3. Consistency: Every query follows the same pattern (fact with dimensions)

  4. Flexibility: New dimensions can be added without breaking existing queries

  5. Scalability: The model handles massive data volumes effectively

5.3 The Snowflake Schema

The Snowflake Schema is a variation of the Star Schema where dimensions are normalized into multiple related tables. While this reduces redundancy and saves storage space, it typically results in more complex queries.

Snowflake Schema Structure

text
        [Date Dim] -- [Holiday Dim]
             |
[Branch Dim] -- [FACT TABLE] -- [Product Dim] -- [Category Dim]
             |
        [Customer Dim] -- [Address Dim]

Comparing Star and Snowflake Schemas in Banking

 
 
Aspect Star Schema Snowflake Schema
Structure Each dimension has one table Dimensions may have multiple tables
Query Complexity Simple (fewer joins) Complex (more joins)
Performance Faster for typical queries Slower (more joins)
Storage More storage (redundancy) Less storage (normalized)
Maintenance Harder to update (redundant data) Easier to update (single source)
Business User Understanding Easier More difficult
Banking Use Case Most common for banking OLAP Used when dimension tables are very large

When Banking Analysts Use Snowflake Schema

In banking, Snowflake Schemas are used in specific cases:

  1. Very Large Dimension Tables: When a dimension has millions of rows and needs to be normalized

  2. Regulatory Reporting: When data lineage needs to be tracked precisely

  3. Complex Hierarchies: When dimensions have multiple levels (e.g., product, category, sub-category)

  4. Storage Constraints: When storage costs are a concern (rare in modern cloud systems)

However, most banking data warehouses use Star Schemas because:

  • Query performance is more important than storage efficiency

  • Business users need to understand the model intuitively

  • Modern systems can handle the storage requirements

  • The simplicity reduces development and maintenance costs

5.4 The Grain: Critical Decision Point in Dimensional Modeling

The “grain” of a fact table is perhaps the most important decision in dimensional modeling. It defines the level of detail at which facts are recorded.

What Is the Grain?

The grain answers: “What does one row in the fact table represent?” Common grains in banking:

 
 
Grain Description Example
Transaction Grain Each row is one transaction Every credit card swipe
Daily Summary Grain Each row is one day of activity Total deposits per branch per day
Monthly Summary Grain Each row is one month of activity Monthly mortgage payment summary
Account Snapshot Grain Each row is one account at a point in time End-of-day account balances

Choosing the Right Grain

The choice of grain is crucial because it determines:

  • What data can be analyzed (anything coarser cannot be derived)

  • How large the fact table will be (finer grain = more rows)

  • How queries will perform (coarser grain = faster queries)

  • How flexible the system will be (finer grain = more flexibility)

Banking Example: Choosing the Grain

Consider a mortgage portfolio analysis system:

Transaction Grain:

  • Each row = one mortgage payment (principal + interest)

  • 10 million rows per month for a large portfolio

  • Can answer: “What was the payment pattern before the rate adjustment?”

  • Pro: Maximum flexibility for analysis

  • Con: Very large tables, slower queries

Monthly Summary Grain:

  • Each row = one month of payments for one loan

  • 100,000 rows per month for a large portfolio

  • Can answer: “What was the average monthly payment by state?”

  • Pro: Faster queries, smaller tables

  • Con: Cannot see payment-level patterns

The Right Choice for Banking:
In practice, banks often keep the transaction grain for detailed analysis and create summary tables at the monthly or yearly grain for performance.

5.5 Slowly Changing Dimensions in Banking

Dimensions change over time – customers move, branches close, products are updated. In banking analytics, tracking these changes is critical for accurate historical analysis.

Types of Slowly Changing Dimensions (SCD)

 
 
Type Description Banking Example
SCD Type 0 Never change Transaction date, loan origination date
SCD Type 1 Overwrite old values Customer phone number (no history needed)
SCD Type 2 Keep full history Customer address (track where they lived)
SCD Type 3 Keep current and one previous Customer segment (track previous segment)

SCD Type 2 in Banking: The Critical Approach

SCD Type 2 is most important for banking analytics because it allows for accurate historical reporting. Here is how it works:

Customer Dimension with SCD Type 2:

 
 
customer_key customer_id first_name last_name state effective_date end_date is_current
101 CUST001 John Smith NY 2020-01-01 2023-06-30 N
102 CUST001 John Smith CA 2023-07-01 2099-12-31 Y
103 CUST002 Jane Doe TX 2022-01-01 2099-12-31 Y

How This Works:

  1. John Smith moves from New York to California

  2. Instead of updating his address (SCD Type 1), we:

    • Close the old record (end_date = 2023-06-30, is_current = ‘N’)

    • Create a new record (effective_date = 2023-07-01)

  3. Historical queries use the effective_date to ensure accurate analysis

  4. Current queries only look at records where is_current = ‘Y’

Banking Example: Customer Segment Changes

  • A customer qualifies for “Premium” status in 2022

  • They drop to “Standard” status in 2023

  • The SCD Type 2 approach allows the bank to analyze performance before and after the change


SECTION 6: ETL VS ELT – THE BANKING DATA PIPELINE

6.1 Understanding the ETL Process

ETL (Extract, Transform, Load) is the traditional approach to moving data from source systems to data warehouses. It has been the standard in banking for decades, and many banks still rely heavily on this approach for official reporting.

What Is ETL?

ETL is a process that:

  1. Extracts: Data from source systems (OLTP, files, APIs)

  2. Transforms: The data to meet the target system’s requirements

  3. Loads: The transformed data into the target system (data warehouse)

ETL Process in Banking – A Detailed Example

Let us walk through a typical banking ETL process for mortgage data:

Step 1: Extract (2:00 AM – 2:15 AM)

text
Source Systems:
  - Mortgage Origination System (loan details)
  - Payment Processing System (payment history)
  - Customer Relationship System (customer profiles)
  - Credit Bureau System (credit scores)
  - Property Valuation System (property details)

Extraction Methods:
  - Full extraction (all data from last 24 hours)
  - Incremental extraction (only new/changed records)
  - Snapshot extraction (current state at a point in time)

Step 2: Transform (2:15 AM – 3:45 AM)

text
Transformation Activities:
  1. Data Cleansing:
     - Remove duplicate records
     - Standardize date formats (e.g., 2024-01-15)
     - Validate data types (e.g., amounts are numeric)
     - Correct invalid values (e.g., negative credit scores)
  
  2. Data Integration:
     - Join data from multiple systems
     - Link customer IDs across systems
     - Combine mortgage and payment records
  
  3. Data Enrichment:
     - Calculate derived fields (DTI ratio, LTV ratio)
     - Add loan aging information (months in existence)
     - Apply business rules (delinquency status)
  
  4. Data Conformance:
     - Standardize codes (state abbreviations)
     - Map to common values (segmentation logic)
     - Ensure referential integrity (valid foreign keys)
  
  5. Data Aggregation:
     - Calculate monthly summaries
     - Compute year-to-date totals
     - Create quarterly metrics

Step 3: Load (3:45 AM – 4:15 AM)

text
Loading Strategy:
  - Full Load: Replace entire table
  - Incremental Load: Add new records only
  - Upsert: Insert new records, update changed records

Target Database Operations:
  - Bulk insert (fast loading of large volumes)
  - Index maintenance (recreate indexes after load)
  - Partition management (create new partitions for new data)
  - Statistics update (refresh query optimizer statistics)

Banking ETL Job Example: End-of-Day Processing

Here is a real-world example of a banking ETL job schedule:

 
 
Time Job Description
2:00 AM Extract Transactions Get all transactions from OLTP systems
2:30 AM Extract Customer Data Get customer updates and changes
3:00 AM Transform Transactions Validate and transform transaction data
3:30 AM Transform Customer Data Standardize customer records
4:00 AM Load Fact Table Load transactions into fact table
4:30 AM Load Dimension Table Load customer and other dimensions
5:00 AM Build Aggregations Pre-compute daily summaries
5:30 AM Refresh Reports Update report data for the day
6:00 AM Complete Ready for morning reporting

6.2 Understanding the ELT Process

ELT (Extract, Load, Transform) is a newer approach, enabled by the power of modern data processing systems. In ELT, the transformation happens after the data is loaded, using the processing power of the target system.

What Is ELT?

ELT is a process that:

  1. Extracts: Data from source systems

  2. Loads: The raw data directly into the target system

  3. Transforms: The data using the target system’s processing power

ELT Process in Banking – A Modern Approach

Step 1: Extract (Real-time or Near-Real-Time)

text
Source Systems:
  - All OLTP systems (transactions, accounts, customers)
  - Market data feeds (stock prices, currency rates)
  - Customer interaction systems (emails, calls)
  
Extraction Methods:
  - Streaming data (real-time)
  - CDC (Change Data Capture - near-real-time)
  - Batch (regular intervals)

Step 2: Load (Real-time or Near-Real-Time)

text
Raw Data Storage:
  - Data Lake (all data in native format)
  - Staging Tables (if using a data warehouse)
  - Cloud Object Storage (S3, GCS, Azure Blob)

Key Principles:
  - Store data as-is (no transformation)
  - Maintain data lineage (where did it come from)
  - Schema-on-read (structure applied when used)

Step 3: Transform (On-Demand)

text
Transformation Methods:
  - SQL-based transformations (use SQL to transform)
  - Processing frameworks (Spark, Hadoop, Python)
  - Business logic applied when needed

Advantages:
  - Transform only what is needed
  - Can re-transform data if logic changes
  - Different transformations for different purposes

Banking ELT Example: Real-Time Fraud Detection

Here is how a bank might use ELT for fraud detection:

  1. Extract: Transactions are streamed in real-time from point-of-sale systems

  2. Load: Raw transactions are loaded into the data lake within seconds

  3. Transform (On-Demand):

    • A streaming process applies machine learning models to detect fraud

    • Transactions are flagged if they match fraud patterns

    • The model is updated with new fraud patterns as they are discovered

6.3 The Banking Reality: Why ETL Still Dominates

Despite the advantages of ELT, most banks still rely heavily on traditional ETL for critical systems. Here is why:

Regulatory Requirements

  • BASEL III Reporting: Requires precise, validated, and audited data

  • SR 11-7: Requires rigorous model validation and data lineage

  • SEC Filings: Must be accurate and timely

  • Audit Trail: Must be able to trace data from source to report

Data Quality Requirements

  • Validation: Data must be validated before entering the warehouse

  • Standardization: Data must be standardized for consistency

  • Enrichment: Data must be enriched with derived fields

  • Quality Checks: Must ensure data is complete and accurate

Performance Requirements

  • Batch Processing: Overnight processing is acceptable for many use cases

  • Predictable Performance: ETL offers predictable performance

  • Resource Management: Processing can be scheduled for off-hours

The Trend Toward Hybrid Approaches

Modern banks are adopting hybrid approaches:

  • Critical Reporting: Traditional ETL with validation

  • Exploratory Analysis: ELT with data lakes

  • Real-Time Analytics: Streaming platforms with some transformation

  • Regulatory: ETL with full audit trails

6.4 End-of-Day (EOD) Processing: The Banking Tradition

End-of-Day processing is a banking tradition that dates back to the pre-computer era. Even today, it remains a critical part of banking operations.

Why EOD Processing Still Matters

  1. Account Reconciliation: Accounts must be reconciled daily

  2. Regulatory Reporting: Many reports are based on day-end positions

  3. Interest Calculations: Interest is calculated daily for many products

  4. Batch Processing: Large volumes are best processed overnight

  5. Audit Trail: Clear “as-of” date for all reports

What Happens During EOD Processing

text
Bank's EOD Schedule:

10:00 PM - System Offline
  - Customers cannot initiate transactions
  - Branches close for the day

10:30 PM - Cutoff Time
  - All transactions up to this point are captured
  - Any transactions after this point count as next day

11:00 PM - End-of-Day Processing Begins
  - Calculate interest for accounts
  - Apply fees and charges
  - Process payments and transfers

11:30 PM - Reports Generation
  - Generate daily statements
  - Calculate daily positions
  - Update regulatory reports

12:00 AM - System Reset
  - Roll date to next day
  - Reset daily limits
  - Prepare for new day

12:30 AM - Data Extraction
  - Extract all data to data warehouse
  - Begin ETL processing for analytics

2:00 AM - ETL Processing
  - Transform and load data
  - Build summaries and aggregations

6:00 AM - System Online
  - Branches open for the day
  - Customers can transact
  - Analytics data is ready

The Impact of Technology on EOD Processing

Modern banks are moving away from the rigid EOD processing model:

  • Always-On Banking: 24/7/365 operations require continuous processing

  • Real-Time Interest: Interest calculated continuously

  • Continuous Reconciliation: Accounts reconciled in real-time

  • Streaming Data: Analytics available immediately

  • Cloud Computing: Resources can scale as needed

However, regulatory requirements still demand a clear “as-of” date for many reports, so EOD processing continues for official reporting.

6.5 The Future: Streaming and Real-Time Analytics

The future of banking data processing is moving toward real-time streaming and analytics. This shift is being driven by:

  1. Customer Expectations: Real-time notifications and updates

  2. Fraud Detection: Real-time fraud prevention

  3. Trading: Microsecond decisions in capital markets

  4. Risk Management: Real-time risk assessment

  5. Competitive Advantage: Faster insights lead to better decisions

Streaming Architecture in Banking

text
[Source Systems] -> [Message Queue] -> [Stream Processor] -> [Data Lake/Data Warehouse]

Source Systems:
  - Point-of-Sale systems
  - Online banking systems
  - Trading systems
  - ATM systems

Message Queue:
  - Apache Kafka
  - Amazon Kinesis
  - Google Pub/Sub

Stream Processor:
  - Apache Flink
  - Apache Spark Streaming
  - AWS Kinesis Analytics

Target Systems:
  - Data Lake (raw data)
  - Data Warehouse (transformed data)
  - Real-time dashboards
  - Alerting systems

SECTION 7: THE ROLE OF SQL IN BANKING ANALYTICS

7.1 Why SQL Is Essential for Financial Data Analysts

Structured Query Language (SQL) is the universal language for querying relational databases. In banking, SQL is not just a nice-to-have skill – it is a fundamental requirement for almost every data role.

The Banking Perspective on SQL

 
 
Role Why SQL Matters
Data Analyst Query data for reports, analysis, and dashboards
Data Scientist Extract and prepare data for machine learning models
Data Engineer Build and maintain ETL pipelines
Business Intelligence Developer Design and optimize analytical queries
Regulatory Analyst Generate audit reports with precise data extraction

The Business Case for SQL in Banking

  1. Access to Data: SQL is the primary way to access most banking data

  2. Performance: Well-written SQL can process billions of rows efficiently

  3. Auditability: SQL