OLTP và OLAP

Bài này hữu ích khi báo cáo chạy chậm hoặc làm chậm việc bán hàng, và có người đề nghị xây data warehouse (kho dữ liệu) riêng.

Đọc xong bạn hiểu gì

  • Phân biệt việc xử lý từng giao dịch với việc tổng hợp dữ liệu để phân tích
  • Biết cần kiểm gì trước khi kết luận báo cáo đang làm chậm việc bán hàng
  • Xét được khi nào nên tách tải phân tích, khi nào có thể tách sau và khi nào chưa cần

Khoảng 13 phút đọc.

Bối cảnh

Sao Mai là một chuỗi cửa hàng tạp hoá và đồ gia dụng. Chuỗi bắt đầu từ một cửa hàng và đang mở thêm cửa hàng mới. Mỗi cửa hàng bán hàng qua máy tính tiền; dữ liệu bán hàng được gửi về văn phòng để các phòng ban làm báo cáo. Tên chuỗi và mọi số liệu trong bài là giả lập.

Sáng 15/09/2026, phòng Kinh doanh mở lại báo cáo tiền hàng bán ra trong tuần 07/09–13/09/2026 để xem theo cửa hàng. Trong tình huống giả lập của bài này, báo cáo đọc trực tiếp từ hệ thống bán hàng. Cùng lúc ấy, nhân viên thu ngân phản ánh việc lưu hoá đơn chậm hơn thường lệ.

Một đồng nghiệp đề nghị xây data warehouse riêng để chạy báo cáo. Muốn xét đề nghị này, cần biết báo cáo có làm chậm việc lưu hoá đơn không, hay nguyên nhân nằm ở mạng hoặc việc khác trong hệ thống.

Bài này xét hai nhu cầu dùng dữ liệu để chọn bước tiếp theo. Tình huống nói về báo cáo tuần, khác với lần báo cáo ngày về trễ trong bài “Hành trình của dữ liệu”.

Xử lý giao dịch và xử lý phân tích

Khi thu ngân lưu hoá đơn, hệ thống cần ghi đúng món hàng, số lượng, giá bán và trạng thái thanh toán. Nếu khách vừa trả tiền mà hoá đơn chưa lưu được, cửa hàng khó tiếp tục phục vụ. Khi tra lại hoá đơn, nhân viên cũng cần tìm đúng giao dịch ấy, chứ không cần đọc cả lịch sử bán hàng.

Xử lý giao dịch trực tuyến (Online Transaction Processing, OLTP) là cách xử lý phục vụ các giao dịch đang diễn ra, như tạo hoá đơn, ghi nhận thanh toán hoặc cập nhật giao dịch theo nghiệp vụ. “Trực tuyến” ở đây không chỉ việc mua hàng trên mạng; bán tại quầy cũng có nhu cầu này. Hệ thống cần xử lý từng giao dịch đúng và đủ nhanh để công việc tiếp tục.

Phòng Kinh doanh lại muốn biết cửa hàng nào bán được nhiều tiền hàng trong tuần. Họ cần gom các dòng hàng theo cửa hàng rồi cộng lại. Nếu muốn so các kỳ, họ còn cần dữ liệu lịch sử của những kỳ đó. Một giao dịch riêng lẻ không trả lời được câu hỏi này.

Xử lý phân tích trực tuyến (Online Analytical Processing, OLAP) là cách xử lý phục vụ việc tổng hợp, so sánh và tìm hiểu dữ liệu, thường qua nhiều giao dịch và nhiều kỳ. Người dùng có thể xem tổng của chuỗi, rồi xem theo cửa hàng hoặc nhóm hàng để hiểu vì sao tổng thay đổi.

Điểm xét Xử lý giao dịch Xử lý phân tích
Việc ở Sao Mai Lưu hoặc tra một hoá đơn Xem tiền hàng bán ra theo cửa hàng
Phạm vi thường gặp Phần dữ liệu của giao dịch cần xử lý Nhiều giao dịch, có thể qua nhiều kỳ
Cách dùng Đọc và ghi để công việc tiếp tục Chủ yếu đọc, gom nhóm và tính toán để trả lời câu hỏi
Yêu cầu cần làm rõ Giao dịch ghi đúng, phản hồi kịp lúc bán hàng Cách tính đúng, dữ liệu đủ mới và báo cáo kịp lúc cần dùng

Hai kiểu xử lý khác nhau ở công việc cần phục vụ. Hệ thống giao dịch vừa ghi vừa đọc, như khi tra hoá đơn. Nơi phân tích chủ yếu đọc để tính báo cáo, nhưng cũng nhận và cập nhật dữ liệu.

Cùng những dòng hàng ấy có thể phục vụ cả hai nhu cầu; khác nhau là phạm vi dữ liệu, cách xử lý và thời điểm cần kết quả. Một hệ thống có thể phục vụ cả OLTP lẫn OLAP nếu đáp ứng được các yêu cầu ấy.

Tách tải là tách phần việc nào

Tải trong bài là phần công việc hệ thống phải xử lý. Khi nhiều báo cáo cùng đọc và tính trên dữ liệu bán hàng, chúng có thể dùng tài nguyên mà việc lưu hoá đơn cũng đang cần. Hệ thống có thể phải chờ, nên công việc ở quầy bị chậm dù báo cáo không sửa hoá đơn nào.

Tách tải phân tích nghĩa là cho việc đọc và tính báo cáo chạy ở nơi có tài nguyên riêng, giảm phần việc dùng chung với hệ thống bán hàng. Tạo thêm một bảng mà vẫn dùng chung tài nguyên thì tải vẫn chưa tách. Việc lấy dữ liệu sang nơi riêng cũng có thể gây tải lên nguồn, nên cần xét cả khâu này và lúc chạy báo cáo.

Data warehouse là nơi tập hợp và tổ chức dữ liệu để phục vụ báo cáo, phân tích. Data warehouse riêng hợp khi cần dữ liệu lịch sử, kết hợp nhiều nguồn và phục vụ báo cáo đều đặn. Với nhu cầu tổng hợp nhỏ, tệp xuất sẵn hoặc bảng tổng ở nơi xử lý riêng có thể đủ. Vì vậy, chọn cách tách tải chưa có nghĩa là phải chọn data warehouse.

Tách tải cũng có phần phải đánh đổi: dữ liệu phân tích có thể chưa theo kịp giao dịch vừa ghi, và có thêm việc chuyển dữ liệu, đối chiếu, vận hành. Nếu quản lý cần kết quả ngay sau mỗi lần bán, nhịp cập nhật phải đáp ứng nhu cầu đó. Còn khi chỉ xem lại tuần đã kết thúc, bản dữ liệu đã chốt kỳ có thể đủ, chưa cần cập nhật liên tục.

Ví dụ giải sẵn

Cùng dữ liệu, khác phạm vi cần dùng

Bảng sau ghi yêu cầu nghiệp vụ, không ghi kết quả đo tốc độ.

Yêu cầu tra hoá đơn và lập báo cáo tuần
Việc cần làmPhạm viDùng để
Tra hoá đơnHoá đơn HD1001Xem lại các món đã bán trên hoá đơn
Tổng hợp tuầnNgày bán 07/09–13/09/2026Cộng tiền hàng bán ra theo cửa hàng

Khi tra hoá đơn HD1001, phần dữ liệu cần xem có 2 dòng hàng:

Các món trên hoá đơn cần tra
Hoá đơnMón hàngSố lượng
HD1001Gạo 5 kg2
HD1001Dầu ăn 2 lít1

Khi tổng hợp tuần, phần dữ liệu cần tính có 6 dòng hàng. Báo cáo lấy số lượng nhân đơn giá rồi cộng theo cửa hàng, không trừ giảm giá và hàng trả lại. Đây là cách tính tiền hàng bán ra của phòng Kinh doanh trong bộ dữ liệu, không phải tiền thực thu.

Dòng hàng thuộc phạm vi báo cáo tuần 07/09–13/09/2026
Cửa hàngSố lượngĐơn giá (đ)
CH01250.000
CH011120.000
CH01340.000
CH021300.000
CH02275.000
CH021200.000

Phạm vi yêu cầu cho biết cần dữ liệu của những dòng nào; phần mềm thực tế đọc bao nhiêu dòng còn tuỳ cách tìm hoá đơn và tính tổng. Bộ dữ liệu nhỏ này chỉ minh hoạ sự khác nhau giữa tra một giao dịch và tổng hợp nhiều giao dịch, không cho biết Sao Mai có quá tải hay đặt ra ngưỡng số dòng để quyết định tách.

Phiếu xét tách tải đã điền

Với sự cố ở đầu bài, bước trước mắt là tìm bằng chứng và giảm ảnh hưởng tới quầy trong lúc kiểm tra.

Mục Nội dung
Việc cần bảo vệ Lưu hoá đơn kịp lúc phục vụ khách
Nhu cầu phân tích Xem tiền hàng bán ra theo cửa hàng trong tuần đã kết thúc
Cách chạy hiện tại Báo cáo đọc trực tiếp từ hệ thống bán hàng
Dấu hiệu đã biết Thu ngân phản ánh lưu hoá đơn chậm khi có người chạy báo cáo
Điều chưa biết Hai việc có tranh tài nguyên không; mạng hoặc việc khác có gây chậm không
Bằng chứng cần thêm Giờ bắt đầu và kết thúc báo cáo; thời gian lưu hoá đơn; mức dùng tài nguyên trong và ngoài lúc chạy báo cáo
Bước trước mắt Nếu người dùng chấp nhận, dời báo cáo tuần sang giờ ít giao dịch; người phụ trách kỹ thuật so lại tình trạng bán hàng
Lựa chọn đang xét Tách sau khi xác nhận ảnh hưởng và nhu cầu; chưa chọn nền tảng
Điều kiện chuyển sang ưu tiên tách Tải phân tích làm chậm bán hàng lặp lại, nhưng không thể dời báo cáo khỏi giờ cần dùng
Phương án nhẹ hơn Xuất dữ liệu của kỳ đã chốt để phân tích riêng nếu nhu cầu còn nhỏ và giờ xuất không làm chậm quầy
Việc cần tính khi tách Giờ lấy dữ liệu, mức độ mới người dùng cần, cách đối chiếu và người vận hành

Hai việc cùng chậm là dấu hiệu cần kiểm, chưa đủ xác nhận nguyên nhân. Người phụ trách kỹ thuật có thể so các khoảng tương đương có và không chạy báo cáo, đồng thời xét mạng và các việc khác. Nên dùng ghi nhận hiện có nếu đã đủ rõ, tránh cố chạy báo cáo nặng giữa lúc đông khách để thử.

Nếu tách, đường đi dự kiến có thể viết như sau:

  1. Hệ thống bán hàng tiếp tục ghi và tra giao dịch tại quầy.
  2. Phần dữ liệu cần phân tích được chuyển sang nơi xử lý riêng theo lịch đã thống nhất.
  3. Báo cáo đọc và tính ở nơi riêng; người xem biết dữ liệu đã cập nhật tới mốc nào.

Nếu cần tìm hoá đơn vừa thanh toán, nhân viên vẫn dùng hệ thống bán hàng, vì nơi phân tích có thể chưa nhận được giao dịch ấy.

Khi nào nên làm, khi nào chưa cần

Nên ưu tiên tách khi đã có bằng chứng tải phân tích làm chậm việc bán hàng, sự cố lặp lại và người dùng cần báo cáo ngay trong giờ bán. Nhu cầu phân tích nhiều kỳ hoặc nhiều nguồn cũng có thể là lý do tổ chức nơi phân tích riêng, dù quầy chưa chậm. Ưu tiên tách là giải quyết việc dùng chung tài nguyên, chưa phải mua ngay một data warehouse lớn. Trong lúc chuẩn bị, có thể dừng hoặc dời báo cáo chưa cấp thiết. Với báo cáo cần đúng giờ, hãy thống nhất cách cung cấp kết quả tạm đáp ứng được nhu cầu.

Có thể tách sau khi có dấu hiệu ảnh hưởng nhưng chưa rõ nguyên nhân, hoặc khi dời giờ chạy vẫn đáp ứng cả việc bán hàng lẫn báo cáo. Trong lúc chờ, có thể thu hẹp kỳ cần đọc, dùng lại kết quả đã tính cho cùng kỳ hoặc xuất dữ liệu để phân tích riêng, miễn người dùng chấp nhận lịch và vẫn có đủ dữ liệu để quyết định. Nếu bán hàng vẫn bị ảnh hưởng, cần xét lại lựa chọn tách.

Chưa cần tách khi báo cáo ít, phạm vi nhỏ, hệ thống hiện tại đáp ứng được cả việc bán lẫn giờ cần báo cáo. Với phân tích một lần trên kỳ đã chốt, tệp xuất sẵn có thể đủ. Khi báo cáo chậm vì batch (lô dữ liệu) chưa tới, tách nơi tính báo cáo cũng không làm batch tới sớm hơn. Nên xử lý chỗ đang chờ trước.

Tự làm

Người phụ trách kỹ thuật đã xác nhận báo cáo tổng hợp làm việc lưu hoá đơn chậm lặp lại. Quản lý cần báo cáo trong giờ bán để điều chỉnh hàng giữa các cửa hàng. Nên ưu tiên tách, tách sau hay chưa cần?

Gợi ý
Xét cả bằng chứng ảnh hưởng và khả năng dời giờ báo cáo. Khi chuyển báo cáo sang nơi riêng, phần lấy dữ liệu còn liên quan tới đâu?
Xem đáp án

Nên ưu tiên tách tải phân tích vì ảnh hưởng đã được xác nhận và báo cáo không thể chờ hết giờ bán. Cần chọn cách lấy dữ liệu không gây ảnh hưởng tương tự lên nguồn, đồng thời thống nhất dữ liệu phải mới tới mức nào để quản lý điều chỉnh hàng.

Bảng tổng nhỏ ở nơi riêng có thể đủ cho nhu cầu này. Nếu quản lý chấp nhận kết quả đã tính trước mà vẫn ra quyết định được, có thể dùng cách ấy để giảm tải trước mắt. Khi giải pháp tạm còn làm chậm quầy hoặc thiếu thông tin cần dùng, cần tiếp tục phương án tách.

Thu ngân báo chậm một lần khi có người xem báo cáo tuần, nhưng chưa biết do mạng hay do hệ thống. Báo cáo này có thể chạy ngoài giờ đông khách. Nên chọn bước tiếp theo thế nào?

Gợi ý
Điều gì đã được biết, điều gì mới là nghi ngờ? Có cách giảm ảnh hưởng mà chưa phải chọn nền tảng không?
Xem đáp án

Có thể tách sau: trước mắt dời giờ chạy nếu người dùng chấp nhận và nhờ người phụ trách kỹ thuật kiểm nguyên nhân. Nếu nguyên nhân là mạng, cần xử lý mạng.

Nếu kiểm tra cho thấy báo cáo thường xuyên tranh tài nguyên và dời lịch không còn đáp ứng nhu cầu, ưu tiên tách sẽ hợp lý hơn. Nếu dời lịch đã đáp ứng cả hai việc và chưa có nhu cầu phân tích rộng hơn, có thể tiếp tục cách hiện tại, chưa cần đầu tư nơi riêng.

Một nhóm chỉ xem lại tuần đã kết thúc bằng tệp xuất sẵn. Việc xuất không ảnh hưởng quầy, tệp đủ dữ liệu và nhóm vẫn có kết quả kịp lúc. Đồng nghiệp muốn xây data warehouse riêng chỉ vì đây là việc phân tích. Bạn góp ý thế nào?

Gợi ý
Tên loại công việc có đủ để quyết định mua thêm hệ thống không? Nhu cầu nào thay đổi thì lựa chọn hiện tại mới cần xét lại?
Xem đáp án

Chưa cần xây data warehouse riêng chỉ vì công việc thuộc xử lý phân tích. Tệp xuất sẵn đang đáp ứng phạm vi, thời điểm và không gây ảnh hưởng bán hàng, nên có thể tiếp tục dùng.

Nếu nhiều nhóm bắt đầu dùng báo cáo thường xuyên, cần kết hợp nhiều nguồn hoặc giữ lịch sử để so các kỳ, nơi phân tích riêng có thể hợp lý hơn. Nếu chỉ cần thêm một báo cáo nhỏ, có thể dùng bảng tổng đã tính. Nên chọn theo nhu cầu và công sức vận hành.

Hiểu nhầm thường gặp

“OLTP là bán trên mạng, OLAP là báo cáo trên mạng.” Hai tên nói về kiểu xử lý. Bán tại quầy cũng cần xử lý giao dịch; bản tổng hợp từ tệp xuất vẫn phục vụ nhu cầu phân tích.

“Báo cáo chỉ đọc thì không thể làm chậm bán hàng.” Việc đọc và tính vẫn có thể dùng chung tài nguyên với giao dịch; mức ảnh hưởng cần được kiểm trên hệ thống đang dùng.

“Báo cáo chậm là phải xây data warehouse riêng.” Có thể báo cáo đang chờ dữ liệu, cách tính chưa phù hợp hoặc hệ thống còn vấn đề khác. Nếu dời lịch hay thu hẹp phạm vi vẫn đáp ứng nhu cầu, chưa cần tách.

“Tách rồi thì số liệu vừa bán sẽ có ngay và chắc chắn đúng.” Nơi phân tích còn phải nhận, kiểm và tính dữ liệu. Tách tải không tự sửa lỗi dữ liệu hay khác biệt trong cách tính doanh thu.

Tóm tắt

Thuật ngữ trong bài

Tiếng Việt Tiếng Anh
Xử lý giao dịch trực tuyến Online Transaction Processing — OLTP
Xử lý phân tích trực tuyến Online Analytical Processing — OLAP
Kho dữ liệu data warehouse

Mẫu tải về: Phiếu xét tách tải (Word). Nội dung giống bảng đã điền ở mục Ví dụ giải sẵn, để trống cho bạn điền.

Bài liên quan: “Hành trình của dữ liệu” giúp phân biệt báo cáo chờ dữ liệu với tính báo cáo chậm. “Chọn kiểu nền tảng dữ liệu” xét lựa chọn nền tảng khi đã rõ nhu cầu. “Đồng bộ và độ trễ” nói về cách lấy dữ liệu và nhịp cập nhật theo giờ cần dùng.