Khi các bạn bắt đầu tìm hiểu về data, ít nhiều cũng sẽ thấy hai khái niệm OLTP và OLAP, chúng là những khái niệm mà các bạn mới tìm hiểu về ngành Data Analyst hay bỏ qua. Tuy nhiên đây lại là những khái niệm cực kỳ quan trọng. Trong bài viết này, UniGapsẽ cũng các bạn tìm hiểu về OLTP và OLAP.

So sánh nhanh OLTP và OLAP

OLTPOLAPNguồn (source of data)Dữ liệu phát sinh từ vận hành: POS, CRM, ERP,…Dữ liệu phát sinh từ nhiều nguồn database (OLTP) sau đó được chuẩn hoáMục đíchKiểm soát và vận hành Phân tích, báo cáo và hỗ trợ cho việc ra quyết địnhTần suất làm mới (refresh)Ngay lập tức (Real-time)Định kì (Daily/Weekly/Monthly)Kiến trúc (architecture)Ưu tiên cho việc GhiƯu tiên cho việc Đọc và truy vấn dữ liệuĐặc tínhỔn định và nhanh chóng (để thực hiện các tác vụ theo thời gian thực)Phải đủ lớn, đủ mạnh để lưu trữ và truy xuất dữ liệu 

OLTP là gì?

OLTP, viết tắt của Online Transactional Processing, là các hệ thống xử lý dữ liệu giúp bạn lưu trữ và phân tích dữ liệu kinh doanh. Bạn có thể thu thập và lưu trữ dữ liệu từ nhiều nguồn, chẳng hạn như trang web, ứng dụng, đồng hồ đo thông minh và hệ thống nội bộ.
Ví dụ dễ thấy nhất của OLTP là hệ thống bán hàng, hệ thống book vé…

OLAP là gì?

OLAP là viết tắt của Online Analytical Processing,được dùng để phân tích dữ liệu một cách hiệu quả. Các hệ thống OLAP làm việc với một lượng dữ liệu rất lớn. Hoạt động chủ yếu của OLAP là truy vấn dữ liệu, từ đó cho phép chúng ta tìm ra xu hướng. Các hệ thống OLAP có một nhóm người dùng nhỏ hơn so với các hệ thống OLTP, thường là những nhà phân tích hoặc quản lý. 
Ví dụ của OLAP: người phân tích dữ liệu sẽ tiếp cận với hệ thống OLAP chứa thông tin đơn hàng đã được thanh toán, từ đó tìm ra những mặt hàng được mua nhiều nhất.

Điểm khác biệt chính giữa OLTP và OLAP

Mục đích chính của xử lý phân tích trực tuyến (OLAP) là phân tích dữ liệu tổng hợp, trong khi mục đích chính của xử lý giao dịch trực tuyến (OLTP) là xử lý các giao dịch trên cơ sở dữ liệu.
Bạn sử dụng hệ thống OLAP để tạo ra các báo cáo, thực hiện các phân tích dữ liệu phức tạp và xác định các xu hướng. Ngược lại, bạn sử dụng hệ thống OLTP để xử lý đơn hàng, cập nhật hàng tồn kho và quản lý tài khoản khách hàng.
Kiến trúc dữ liệu (Data architecture)
Kiến trúc cơ sở dữ liệu OLAP ưu tiên thao tác đọc dữ liệu nhiều hơn thao tác ghi dữ liệu. Bạn có thể thực hiện các truy vấn phức tạp trên khối lượng dữ liệu lớn một cách nhanh chóng và hiệu quả. Mức độ sẵn sàng là có mức độ ưu tiên thấp vì trường hợp sử dụng chính là phân tích.
Mặt khác, kiến trúc cơ sở dữ liệu OLTP ưu tiên các thao tác ghi dữ liệu. Kiến trúc này được tối ưu hóa cho khối lượng công việc nặng về thao tác ghi và có thể cập nhật dữ liệu giao dịch với tần số thường xuyên, khối lượng lớn mà không làm ảnh hưởng đến tính toàn vẹn của dữ liệu.
Ví dụ: nếu có hai khách hàng mua cùng một mặt hàng cùng một lúc, hệ thống OLTP có thể điều chỉnh chính xác lượng hàng hiện có. Và hệ thống sẽ ưu tiên khách hàng đầu tiên về mặt thời gian nếu mặt hàng đó là sản phẩm cuối cùng trong kho. Mức độ sẵn sàng là một ưu tiên cao và điều này thường đạt được thông qua sử dụng nhiều bản sao lưu dữ liệu.
Hiệu năng (Performance)
Thời gian xử lý của OLAP có thể thay đổi từ vài phút đến nhiều giờ tùy thuộc vào loại và khối lượng dữ liệu được phân tích. Để cập nhật cơ sở dữ liệu của OLAP, bạn sẽ định kỳ xử lý dữ liệu theo các lô (batch) lớn sau đó tải lô đó lên hệ thống cùng một lúc. Tần suất cập nhật dữ liệu cũng khác nhau giữa các hệ thống, từ hàng ngày đến hàng tuần hoặc thậm chí hàng tháng.
Ngược lại, thời gian xử lý của OLTP theo mili giây hoặc nhỏ hơn. Cơ sở dữ liệu của OLTP quản lý các cập nhật cơ sở dữ liệu trong thời gian thực. Các cập nhật rất nhanh, ngắn và do bạn hoặc người dùng của bạn kích hoạt. Xử lý theo luồng (stream processing) thường được sử dụng thay vì xử lý theo lô (batch processing).
Yêu cầu (Requirement)
Các hệ thống OLAP hoạt động như một data warehouse tập trung và lấy dữ liệu từ nhiều data warehouse, cơ sở dữ liệu quan hệ (relational databases) và các hệ thống khác. Yêu cầu lưu trữ với đơn vị từ hàng terabyte (TB) đến hàng petabyte (PB). Thao tác đọc dữ liệu cũng có thể thiên về điện toán (compute), đòi hỏi các máy chủ có hiệu năng cao.
Mặt khác, bạn có thể đo tính yêu cầu lưu trữ OLTP theo đơn vị gigabyte (GB). Cơ sở dữ liệu OLTP cũng có thể được xóa sau khi dữ liệu được tải vào một data warehouse hoặc data lake OLAP có liên quan. Tuy nhiên, yêu cầu điện toán và sức mạnh xử lý cho OLTP cũng cao không kém.

Ví dụ về OLTP và OLAP

Bạn hãy xem xét một công ty bán lẻ lớn vận hành hàng trăm cửa hàng trên khắp đất nước. Công ty có một cơ sở dữ liệu khổng lồ theo dõi doanh số bán hàng, hàng tồn kho, dữ liệu khách hàng và các chỉ số chính khác.
Công ty sử dụng OLTP để xử lý các giao dịch trong thời gian thực, cập nhật mức hàng tồn kho và quản lý tài khoản khách hàng. Mỗi cửa hàng được kết nối với cơ sở dữ liệu trung tâm và cơ sở dữ liệu này cập nhật các mức hàng tồn kho trong thời gian thực khi đang bán sản phẩm.
Công ty cũng sử dụng OLTP để quản lý tài khoản khách hàng – ví dụ như để theo dõi điểm khách hàng thân thiết, quản lý thông tin thanh toán và xử lý các trường hợp trả hàng.
Ngoài ra, công ty sử dụng OLAP để phân tích dữ liệu do OLTP thu thập. Chuyên viên phân tích dữ liệu của công ty có thể sử dụng OLAP để tạo ra báo cáo về xu hướng bán hàng, mức hàng tồn kho, thông tin nhân khẩu học của khách hàng và các chỉ số chính khác.
Họ thực hiện các truy vấn phức tạp trên khối lượng lớn dữ liệu lịch sử để xác định các mô hình và xu hướng có thể cung cấp thông tin cho các quyết định kinh doanh. Họ xác định các sản phẩm thịnh hành trong một khoảng thời gian nhất định và sử dụng thông tin này để tối ưu hóa ngân sách cho hàng tồn kho.
Hy vọng với nội dung trên đã giúp bạn hiểu và phân biệt được hai khái niệm về OLTP và OLAP.
- Xem ngay Lộ trình học Data Analyst chuyển ngành thành công - Tư vấn chuyển ngành DA miễn phí tại đây - Tham gia Vietnam Data Analyst Forum – #1 Informative Group để học hỏi và chia sẻ kiến thức - Cập nhật lịch khai giảng & chương trình ưu đãi tại Data Coaching 1 on 1 – UniGap