Olap Là Gì

Có 2 loại vận dụng cơ sở tài liệu trong việc cải tiến và phát triển ứng dụng mà chúng ta cần biết. Bài viết này đã nói cho bạn biết sự tương đương và khác biệt giữa 2 loại khối hệ thống này.

Bạn đang xem: Olap là gì

Bạn vẫn xem: Olap là gì


*

Đầu tiên, cả OLTP (on-line transactional processing) và OLAP (on-line analytical processing) đều được sử dụng trong các khối hệ thống nghiệp vụ, đặc biệt là trong các kho dữ liệu (data warehousing) và phân tích. Chúng tạo nên hai mặt không giống nhau là phân tích, lưu trữ dữ liệu và tàng trữ và thao tác dữ liệu.

Thâm nhập vào nhân loại cơ sở dữ liệu, điều quan trọng là bạn cần hiểu biết ví dụ sự không giống nhau giữa các loại của cơ sở tài liệu được sử dụng. Không đặc biệt quan trọng bạn đi theo phía nào, hiểu cơ bản về sự khác biệt giữa OLAP cùng OLTP sẽ giúp bạn gồm hiểu biếttốt hơn. Trong nội dung bài viết này tôi sẽ phân tích và lý giải mỗi loại khối hệ thống làm gì và làm thế nào để áp dụng mỗi loại.

OLTP là gì?

OLTP viết tắt từ On-line transactional processing có tức thị xử lý thanh toán trực tuyến, nghe thì tởm vậy dẫu vậy khái niệm không cực nhọc để rứa bắt. Các hệ thống OLTP là các hệ thống truyền thống chúng xử lý dữ liệu giao dịch. Chúng ở quanh ta. Trong ngân hàng, ATM hoặc khối hệ thống máy tính dùng bởi thanh toán giao dịch viên phần đa lưu những giao dịch số đông là một khối hệ thống OLTP thường là thực hiện 1 các đại lý dữ liệu. Nếu khách hàng nhắn mang lại ai kia từ smartphone có nghĩa là bạn đang làm việc trên một hệ thống OLTP khác. Máy tính xách tay tiền ở nhà hàng ăn uống gần nhà bạn cũng chạy quý phái một hệ thống OLTP khác….

Nói ngắn gọn, đa số các áp dụng nghiệp vụ kinh doanh đều là OLTP. Thật cạnh tranh để tưởng tượng về kỹ thuật laptop nếu không tồn tại một vài khối hệ thống của OLTP. Thiệt vậy, toàn cục ngành khoa học laptop được cải tiến và phát triển xung xung quanh việc thống trị các thanh toán giao dịch có trơ thổ địa tự.

Chúng ta xét từ một phần rất quan trọng trong thuật ngữ OLTP: chữ T, được viết tắt trường đoản cú transactional. Những giao dịch rất đặc trưng và giữ cho cái đó được tổ chức triển khai càng quan liêu trọng.

Điều gì giúp những giao dịch được tổ chức? Nghĩa là các cơ sở dữ liệu thanh toán phải định hình (hoặc liên tục, rất khó gì nuốm đổi), độc lập, đồng nhất và nguyên tử (Atomic, Consistent, Isolated và Durable - ACID). Phân tích và lý giải chúng thì lại xung quanh phạm vi nội dung bài viết các bạn cũng có thể Google với trường đoản cú khóa “Các đặc điểm ACID của cơ sở dữ liệu”.

Nói đơn giản và dễ dàng là một số loại transaction này bảo vệ các hoạt động được thực hiện bởi các người dùng khác nhau không tác động gì đến nhau. Ví dụ, trường hợp người chồng và bạn vợ mọi cá nhân thực hiện một thao tác rút tiền xuất phát từ một tài khoản chung, tính nguyên tử (atomic) của transaction sẽ đảm bảo an toàn họ ko rút nhiều hơn số tiền bao gồm trong tài khoản.

Một khối hệ thống OLTP cần bảo vệ rằng vớ cả thao tác làm việc theo riêng biệt tự. Khi bạn vô ngân hàng bạn tự tin tưởng rằng tiền của mình sẽ được gởi đúng tài khoản của doanh nghiệp không bị lẫn với thanh toán hay tài khoản khác hoặc bị mất.

Vậy là các bạn đã rõ, vấn đề xử lý thanh toán giao dịch rất quan trọng đặc biệt cho làng mạc hội chúng ta. Vắt còn OLAP thì sao?

OLAP là gì?

OLAP là từ viết tắt của on-line analytical processing dịch là cách xử lý phân tích trực tuyến, cũng là vấn đề nói cho họ biết khối hệ thống OLAP làm cho gì. Một khối hệ thống OLAP phân tích tài liệu hiệu quả.

Không tương tự OLTP, khối hệ thống OLAP làm việc với lượng không nhỏ dữ liệu. Vậy phải độ ưu tiên cho tính chính xác và tính trọn vẹn của thanh toán giao dịch không để cao như OLTP. OLAP được cho phép bạn tìm thấy xu hướng, những con số khủng hoảng và giúp bọn họ nhìn ra bức tranh lớn. Các hệ thống này bao gồm một nhóm nhỏ các người dùng hơn OLTP. Ví dụ các bạn sẽ không hệ trọng với hệ thống OLAP của bank vì nó không tương quan đến khối hệ thống ghi giao dịch của thông tin tài khoản bạn.

Một hệ thống dự báo OLAP thường xử dụng một tập dữ liệu lớn, sự tương tác kéo dãn dài hơn. Và có không ít tình huống nơi bọn họ sẽ phân vân sự liên quan đó là gì và trông như vậy nào. Một vài câu lệnh truy tìm vấn nhỏ dại nhưng phần nhiều thường có kích cỡ khá phệ và tốn nhiều thời hạn thực thi. Ngược lại, OLTP thường xuyên sử dụng những câu lệnh thông dụng như INSERT cùng DELETE, chúng ta có một ý tưởng giỏi và hiệu quả là một câu lệnh ngừng và không tốn time gì cả.

Kích thước của hệ thống cũng giúp biệt lập vai trò thân OLTP với OLAP. OLTP phải bình ổn và cấp tốc (để phục vụ các tác vụ ngay lập tức) trong lúc OLAP đề xuất đủ béo và mạnh mẽ để phân tích tất cả các dữ liệu kinh doanh.

OLTPvà OLAP

Hãy so với sự không giống nhau giữa OLAP với OLTP trong ví dụ như thực tế:

Ví dụ về một áp dụng OLTP vào thực tế

Nhớ rằng, những truy vấn OLTP phải dễ dàng nhất hoàn toàn có thể và nhỏ tuổi hơn khối hệ thống OLAP. Bọn họ cần thực thi những truy vấn OLTP nhanh và cho một lượng dữ liệu nhỏ. Ví dụ bọn họ nhìn vào một khối hệ thống thanh toán tài chính.

Xem thêm: Những Điều Cần Biết Về Pha Lê Là Gì Và Những Cách Nhận Biết Được Pha Lê Thật Giả

Mô hình này theo chuẩn 3NF, các bạn cần xem chuẩn nào như nào rất có thể google.


*

Một hệ thống OLTP, tài liệu được tập hợp trong các lô nhỏ. Ví dụ dễ dàng nắm bắt là giống như một con đường cao tốc với khá nhiều xe nhỏ, xe thể thao chạy cấp tốc và không tương quan đến nhau.

Khi thêm mới dữ liệu vào hệ thống OLTP, bọn họ thường thao tác làm việc mới một tập nhỏ tuổi các phiên bản ghi và không ảnh hưởng gì dến các phiên bản ghi khác. Ví dụ, đưa sử họ nhập thanh toán giao dịch của 1 khách hàng vào cửa hàng dữ liệu. Đầu tiên bọn họ cần xác thực tin tức tài khoản khách hàng. Tiếp đến sẽ nhập số tiền thanh toán, ngày tháng và các thông tin khác. Khi kiến thiết một khối hệ thống OLTP chúng ta cần nghĩ về về câu hỏi tuần suất xử lý, dữ liệu nhỏ. Và thông thường ta phải có chức năng hỗ trợ nhiều người tiêu dùng cùng lúc.

Tham chiếu về khối hệ thống tài chính của bọn chúng ta, giờ cần thêm một thanh toán $5000 vào tài khoản 1112 cho người tiêu dùng có ID là 11. Đây là code để xử lý:

Vì thanh toán này đang rất được xử lý, có tương đối nhiều các giao dịch thanh toán khác cũng đang tiến hành cùng lúc. Trong xây dựng của khối hệ thống OLTP, vấn đề đó không vụ việc gì. Không tồn tại giao dịch nào bị hỏng, toàn bộ mọi thứ yêu cầu chạy mượt với “đường cao tốc” OLTP vẫn bảo vệ việc đó.

Giờ hãy xem một câu truy hỏi vấn OLTP, sẽ hiển thị dữ liệu tương quan đến người tiêu dùng ở nấc nguyên tử. Giả sử ai kia với mã người tiêu dùng “11” ao ước nhìn thấy 10 giao dịch thanh toán gần nhất:

SELECT payments.*FROM ( SELECT ROW_NUMBER() OVER (ORDER BY payment_date DESC) AS rows, p.* FROM payment phường WHERE customer_id = 11 ) paymentsWHERE rows

Hoặc có lẽ rằng cùng quý khách hàng đó nhưng người ta có nhu cầu nhìn thấy tin tức hợp đồng vào file:

SELECT contracts.*FROM contract ctrJOIN customer cstON ctr.customer_id = cst.idWHERE cst.id = 11

Điều quan trọng cần lưu giữ ở đó là các câu tầm nã vấn đang làm việc với quy mô gọn nhẹ, nhanh và nguyên tử.

Ví dụ về ứng dụng OLAP vào thực tế:

Hãy quan sát một ví dụ làm việc ngữ cảnh khác: một quy mô OLAP. Quy mô OLAP phần đông được thực hiện trong việc hỗ trợ báo cáo và phân tích.


*

Mô hình này là quy mô ngôi sao (star schema) để hiểu biết thêm về star schema trong data warehouse có thể xem thêm nhé.

Trong mô hình, bạn có thể thấy những bảng chiều dữ liệu(dimentional): dim_customer mang lại khách hàng, dim_contract mang lại hợp đồng cùng dim_date cho dữ liệu ngày tháng. Có một bảng trung trung tâm là fact_balance. Bảng này chứa thông tin số dư cho một thờ igian cầm thể. Lại tham chiếu Vertabelo blog post để tìm hiểu về những bảng fact.

Dữ liệu không được nhập vào OLAP theo phong cách của OLTP. Thay vì lấy tin tức từng tí một như OLTP thì OLAP được bơm dữ liệu vào với số lượng lớn bằng các tập truy nã vấn quét toàn thể nguồn dữ liệu (thường là từ khối hệ thống OLTP) với nhập vào OLAP. Chắc hẳn rằng câu lệnh INSERT vào OLAP to và chậm rì rì hơn chính vì nó bao hàm từ không ít bảng call là ETL (extract-transform-load) bao hàm 3 bước: extract là tríchxuất dữ liệu, transform tài liệu theo định hình của datawarehouse và load dữ liệu vào đích.

Hãy chế tạo ra một truy nã vấn ETL nhằm fill một trong các bảng OLAP, vào trường hòa hợp này là dim_customer.

INSERT INTO dim_customer( id, cust_number, name, birth_date, email, main_contact_number)SELECT seq.nextval, cst.number, cst.birth_date, cst.email, ccn.valueFROM customer cstRIGHT OUTER JOIN customer_contact_number ccnON cst.id = ccn.id_customerJOIN contact_number_type cntON ccn.customer_type_id = cnt.idWHERE cnt.main = True;

Bạn thây rằng từ bỏ câu truy hỏi vấn, họ tối ưu những bảng để fill vào bảng OLAP. Câu query này phức hợp nhưng là bình thường với OLAP.

Chúng ta hoàn toàn có thể fill dim_contract theo phong cách như trên. Tuy nhiên chún ta không fill dim_date như trên do nó được khái niệm trước vào database và các dữ liệu đó không được cố đổi. Với bảng fact_balance, xử lý fill dữ liệu lại phức hợp hơn nhiều buộc phải không được nói chi tiết ở đây. Ở điểm này, vớ cả chúng ta cần là biết bảng fact_balance giữ trữ bạn dạng chụp của dữ liệu người tiêu dùng (như tin tức số dư tài khoản) tại một ngày tốt nhất định.

Nếu OLTP chạy mượt như cao tốc với nhiều xe tương tự nhau, một đường cao tốc OLAP là vị trí hỗ loàn với xe to nhỏ và vận tốc khác nhau. Nó có các xe khổng lồ chạy đủng đỉnh mà chưa ai từng thấy (truy vấn đặc biệt), những xe to chạy chậm chạp mà họ hay thấy (báo cáo tháng) hoặc những con quái vật khác…

Một câu truy hỏi vấn ví dụ như của OLAP hiển thị số dư vừa đủ của toàn bộ tháng sản phẩm 3 cho toàn thể người dùng:

SELECT avg(amount)FROM fact_balance fbJOIN dim_date ddON fb.balance_date = dd.dateWHERE dd.month = 3;

Câu OLAP khác hiển thị tổng các người tiêu dùng sinh sau năm 1990:

Tôi hy vọng bài viết này để giúp bạn đọc về sự khác biệt giữa OLTP cùng OLAP. Ví như có câu hỏi nào các bạn có thể comment phía dưới.