Chuyển tới nội dung chính

Sự khác biệt giữa OLTP và OLAP

Hiểu OLTP và OLAP một cách rõ ràng và dễ hiểu nhất.


🧠 Tóm tắt một câu

OLTP là hệ thống để "xử lý giao dịch" (mua hàng, cập nhật dữ liệu) OLAP là hệ thống để "thực hiện phân tích" (báo cáo BI, kho dữ liệu)


📦 OLTP là gì? (Online Transaction Processing)

👉 Hệ thống xử lý giao dịch

Sử dụng phổ biến

  • Tạo đơn hàng
  • Xử lý thanh toán
  • Hệ thống bán hàng POS
  • Đăng nhập ứng dụng và sửa đổi dữ liệu
  • Chuyển tiền ATM
  • Giỏ hàng thương mại điện tử
  • Nhập dữ liệu ERP

Đặc điểm

Đặc điểmMô tả
Nhiều giao dịch nhỏMỗi thao tác ảnh hưởng đến ít dữ liệu (một đơn hàng, một lần đăng nhập)
Ghi thường xuyên (Nặng về ghi)Liên tục insert/update/delete
Yêu cầu tính nhất quán (ACID)Không thể sai về tiền, mất đơn hàng, hoặc tính phí hai lần
Dữ liệu chuẩn hóa caoGiảm trùng lặp dữ liệu, tăng tốc độ ghi
Công nghệ chínhSQL Server, MySQL, PostgreSQL, Azure SQL

Ví dụ

Người dùng đặt hàng → Frontend ghi vào cơ sở dữ liệu backend → OLTP điển hình


📊 OLAP là gì? (Online Analytical Processing)

👉 Hệ thống xử lý phân tích (Business Intelligence)

Sử dụng phổ biến

  • Power BI / Fabric / Kho dữ liệu
  • Báo cáo hàng tháng, hàng quý, hàng năm
  • Phân tích xu hướng bán hàng
  • Phân khúc khách hàng
  • Mô hình dự đoán
  • Bảng điều khiển KPI

Đặc điểm

Đặc điểmMô tả
Nặng về đọc (Nặng về đọc)Thực thi các truy vấn SELECT lớn
Join / Tổng hợp bảng lớnSUM, COUNT, GROUP BY
Khối lượng dữ liệu lớn (Hàng triệu đến hàng tỷ hàng)Phù hợp với big data
Dữ liệu phi chuẩn hóa (Star Schema)Tăng tốc độ truy vấn
Công nghệ chínhFabric Warehouse, Synapse, Snowflake, Databricks

Ví dụ

Power BI truy vấn doanh số toàn cầu 5 năm 2021-2025 → OLAP điển hình


🔥 So sánh sự khác biệt cốt lõi (Hiểu ngay)

Mục so sánhOLTPOLAP
Mục đíchXử lý giao dịchThực hiện phân tích
Mẫu truy vấnBản ghi đơn, nhanh, chính xácHàng loạt, tổng hợp, phân tích khám phá
Khối lượng dữ liệuTrung bìnhCực lớn (hàng triệu đến hàng tỷ)
Cập nhật dữ liệuGhi tần suất caoGhi hàng loạt tần suất thấp hoặc ETL
Thiết kế bảngChuẩn hóaStar Schema
Ưu tiênChính xác thời gian thực, không có lỗiTốc độ phân tích, thông tin chi tiết
Ví dụHệ thống bán hàng, ERP, ngân hàngPower BI, Kho dữ liệu, Data Lake

🪄 Dễ hiểu nhất qua các tình huống

Tình huống 1: Bạn mua cà phê tại 7-11

→ Hệ thống cần:

  • Chèn một đơn hàng mới (insert)
  • Cập nhật tồn kho (update)

Đây là OLTP.

Tình huống 2: Quản lý cửa hàng kiểm tra bán được bao nhiêu cà phê hôm nay

→ Hệ thống cần:

  • Truy vấn tất cả đơn hàng trong ngày
  • Tính tổng doanh thu
  • Tạo bảng điều khiển

Đây là OLAP.


Tình huống 3: Bạn đặt hàng trên Shopee

→ Hệ thống cần:

  • Ghi dữ liệu đơn hàng
  • Trừ tồn kho
  • Ghi lại thanh toán

Đây là OLTP.

Tình huống 4: Ban giám đốc Shopee muốn xem xu hướng bán hàng theo danh mục quý này

→ Hệ thống cần:

  • Truy vấn hàng triệu đơn hàng
  • Tổng hợp theo danh mục và thời gian
  • Tạo biểu đồ xu hướng

Đây là OLAP.


🎯 Cho phỏng vấn/thi, hãy nói như thế này

OLTP = Xử lý giao dịch, nhấn mạnh ghi nhanh, tính nhất quán dữ liệu, thiết kế chuẩn hóa OLAP = Xử lý phân tích, nhấn mạnh truy vấn lớn, thao tác tổng hợp, thiết kế phi chuẩn hóa

Chúng có mục đích khác nhau, triết lý thiết kế khác nhau và lựa chọn công nghệ khác nhau.


📊 So sánh kiến trúc kỹ thuật

Trọng tâm kiến trúc OLTP

  • Lưu trữ theo hàng
  • Index B-Tree
  • Giao dịch ACID
  • Tối ưu hóa ghi
  • Schema chuẩn hóa (3NF)

Trọng tâm kiến trúc OLAP

  • Lưu trữ theo cột
  • Index Bitmap
  • Tối ưu hóa đọc
  • Star/Snowflake schema
  • ETL/ELT hàng loạt

🔄 Mối quan hệ giữa cả hai

Trong kiến trúc dữ liệu hiện đại:

OLTP (Hệ thống nghiệp vụ)

ETL/ELT

OLAP (Hệ thống phân tích)

Công cụ BI

Thông tin nghiệp vụ
  1. OLTP tạo ra dữ liệu giao dịch
  2. Chuyển đổi qua ETL/ELT
  3. Tải vào hệ thống OLAP
  4. Được sử dụng bởi công cụ BI để phân tích
  5. Tạo ra thông tin nghiệp vụ

💡 Cách ghi nhớ

OLTP = Transaction = Tập trung Write = Làm nghiệp vụ OLAP = Analysis = Tập trung Read = Làm phân tích