Saturday, September 21, 2013

TLDR: Phân biệt OLAP và OLTP

OLAP và OLTP là hai công nghệ xử lý dữ liệu khác nhau và bù trừ nhau trong ngành IT "online" ngày nay. OLTP thì cực kỳ cần thiết và phổ biến, bạn sử dụng nó mỗi ngày. Trong khi OLAP lại được sử dụng khá rộng rãi trong giới quản lý/vận hành các công ty.

Nhưng khoan đã! Bạn đã biết 2 khái niệm này chưa?




Vài dòng định nghĩa


OTLP - viết tắt của OnLine Transaction Processing (Xử lý giao dịch trực tuyến). Gần hết các "giao dịch trực tuyến" đều dựa trên cái này. Từ việc bạn vào facebook, xem blog,... cho tới việc bạn mua hàng trực tuyến hay giao dịch ATM, đều được quy về chung khái niệm OLTP.

OLAP - viết tắt của OnLine Analytics Processing (Xử lý phân tích trực tuyến). Được định nghĩa là những thứ "trực tuyến" khác liên quan tới vấn đề phân tích và xử lý khối lượng lớn dữ liệu, giúp người quản lý/vận hành đưa ra các chiến lược kinh doanh hợp lý.

OK. Tạm thời tôi định nghĩa là vậy, bạn có thể tìm thêm trên net.

Vậy tại sao ta lại phải quan tâm? Suy cho cùng thì cũng là vấn đề lưu trữ dữ liệu. Với OLTP, người sử dụng cần nhanh chóng và chính xác đến từng giao dịch, nên cần một DB hữu hiệu cho việc này. Ngược lại, OLAP phục vụ người quản lý, vốn chỉ cần biết dữ liệu để thống kê và phân tích nên cần khối lượng lớn dữ liệu và quan hệ phức tạp, nhưng lại cần truy vấn nhanh ở dạng tổng quan, bởi vậy DB phải thiết kế tối ưu cho việc đó.

TLDR Comparison - Dành cho người không muốn đọc nhiều



OLTP OLAP
Ứng dụng Vận hành: ERP, CRM, ứng dụng truyền thống, tin tức, weblog, ... Hệ thống quản lý thông tin, Hệ thống hỗ trợ ra quyết định,...
Người dùng chủ yếu Người dùng, nhân viên Quản lý, điều hành
Phạm vi xử lý Hàng tuần/tháng Hàng năm
Mức độ làm mới Ngay tức thì Định kỳ
Mô hình dữ liệu Entity-relationship, hoặc thích thì có thể BigData, key-value,... Multi-dimensional
Schema Normalized (Chuẩn hoá dữ liệu) Star hoặc snowflake
Nhấn mạnh Cập nhật Truy hồi thông tin
Số lượng người dùng Hàng ngàn tới hàng triệu Hàng trăm
Dung lượng ổ đĩa MB tới GB GB tới TB
Đo lường Số lượng giao dịch/người dùng đồng thời Số lượng câu truy vấn và thời gian phản hồi


OK. Vài dòng tóm lược như vậy thôi, mọi người có thể tìm hiểu sâu hơn nếu quan tâm.

Điều cuối cùng


Đừng bao giờ xử lý OLAP trên DB theo mô hình của OLTP, bởi vì chúng thật sự không giống nhau. Tuy nhiên, bạn có thể làm thế nếu bạn chỉ muốn phân tích bài toán nhỏ và đơn giản. Trade-off thôi...

---------
Bài viết này dựa trên bài http://www.cbsolution.net/techniques/ontarget/olap_vs_oltp_what_makes và một số nguồn khác.

No comments:

Post a Comment

Biểu mẫu liên hệ

Name

Email *

Message *