Olap Là Gì

     

Có 2 loại áp dụng cơ sở dữ 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. Nội dung bài viết này sẽ nói cho mình biết sự tương đương và khác nhau giữa 2 loại hệ thống này.

Bạn đang 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 hệ thống nghiệp vụ, nhất là trong những kho tài liệu (data warehousing) với phân tích. Chúng tạo cho hai mặt không giống nhau là phân tích, lưu trữ dữ liệu và lưu trữ và làm việc dữ liệu.

Thâm nhập vào trái đất cơ sở dữ liệu, điều quan trọng là bạn phải hiểu biết rõ ràng sự khác biệt giữa những loại của cơ sở tài liệu được sử dụng. Không quan trọng bạn đi theo hướng nào, phát âm cơ phiên bản về sự khác biệt giữa OLAPOLTP để giúp bạn gồm hiểu biếttốt hơn. Trong bài viết này tôi sẽ giải thích 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ó nghĩa là xử lý giao dịch trực tuyến, nghe thì ghê vậy nhưng khái niệm không khó để cố bắt. Các hệ thống OLTP là những hệ thống cổ xưa chúng xử lý dữ liệu giao dịch. Bọn chúng ở xung quanh ta. Vào ngân hàng, ATM hoặc khối hệ thống máy tính dùng bởi giao dịch thanh toán viên đều lưu những giao dịch hồ hết là một khối hệ thống OLTP thường là sử dụng 1 các đại lý dữ liệu. Nếu khách hàng nhắn cho ai kia từ smartphone tức là bạn đang thao tác trên một khối hệ thống OLTP khác. Máy vi tính tiền ở siêu thị gần nhà của bạn cũng chạy sang trọng một hệ thống OLTP khác….

Nói ngắn gọn, hầu hết các vận dụng nghiệp vụ sale đều là OLTP. Thật khó để tưởng tượng về kỹ thuật máy vi tính nếu không có một vài hệ thống của OLTP. Thiệt vậy, toàn thể ngành khoa học máy tính xách tay được cải cách và phát triển xung xung quanh việc quản lý các giao dịch thanh toán có trơ trọi tự.

Chúng ta xét từ 1 phần rất quan trọng trong thuật ngữ OLTP: chữ T, được viết tắt tự transactional. Các giao dịch rất quan trọng đặc biệt và giữ cho việc đó được tổ chức càng quan liêu trọng.

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

Nói dễ dàng và đơn giản là nhiều loại transaction này bảo vệ các chuyển động được thực hiện bởi các người dùng không giống nhau không ảnh hưởng gì mang lại nhau. Ví dụ, nếu người chồng và fan vợ mỗi cá nhân thực hiện nay một thao tác làm việ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ẽ bảo đảm an toàn họ không rút nhiều hơn thế nữa số tiền bao gồm trong tài khoản.

Một hệ thống OLTP cần đảm bảo an toàn 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 bản thân mình sẽ được nhờ cất hộ đúng tài khoản của khách hàng không bị lẫn với thanh toán giao dịch hay thông tin tài khoản khác hoặc bị mất.

Vậy là bạn đã rõ, câu hỏi xử lý thanh toán rất đặc biệt cho làng hội chúng ta. Nạm còn OLAP thì sao?

OLAP là gì?

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

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

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

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

OLTPvà OLAP

Hãy so sánh sự khác nhau giữa OLAP và OLTP trong lấy 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 đơn giản và dễ dàng nhất rất có thể và nhỏ tuổi hơn hệ thống OLAP. Bọn họ cần thực thi các 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 hệ thống thanh toán tài chính.

Chúng ta hoàn toàn có thể thấy một vài bảng cơ bản chứa dữ liệu khách hàng, thích hợp đồng, và các thanh toán thành công. Họ cũng thấy các bảng lưu trữ thông tin contact và một bảng mong nối call là contract_number_type. Bảng khác có mang contract_types (ví dujL tài khoản tiết kiệm, thông tin tài khoản séc…), trong khi contract_bridge_type chứa thông tin bắc cầu.

Xem thêm: Tác Dụng Của Trứng Vịt Lộn? Ăn Trứng Vịt Lộn Có Tác Dụng Gì Những Điều Cần Lưu Ý Khi Ăn Trứng Vịt Lộn

Mô hình này theo chuẩn chỉnh 3NF, chúng ta cần xem chuẩn nào như nào có thể google.

*

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

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

Tham chiếu về khối hệ thống tài bao gồm của chúng ta, giờ đề xuất thêm một giao dịch thanh toán $5000 vào thông tin tài khoản 1112 cho quý khách hàng có ID là 11. Đây là code nhằm xử lý:

Vì giao dịch thanh toán này đang được xử lý, có khá 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 đắp của khối hệ thống OLTP, điều đó không vụ việc gì. Không có giao dịch làm sao bị hỏng, toàn bộ mọi thứ nên 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 vấn vấn OLTP, vẫn hiển thị dữ liệu liên quan đến người tiêu dùng ở mức nguyên tử. Giả sử ai kia với mã quý khách “11” ao ước nhìn thấy 10 thanh toán giao dịch gần nhất:

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

Hoặc chắc rằng cùng người sử dụng đó nhưng họ có nhu cầu nhìn thấy thông tin hợp đồng vào file:

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

Điều đặc biệt cần nhớ ở đây là các câu tầm nã vấn đang thao tác làm việc với quy mô gọn nhẹ, cấp tốc và nguyên tử.

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

Hãy chú ý một ví dụ làm việc ngữ cảnh khác: một mô hình OLAP. Mô hình OLAP phần nhiều được sử dụng trong câu hỏi 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 thêm về star schema trong data warehouse gồm thể xem thêm nhé.

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

Dữ liệu ko được nhập vào OLAP theo cách của OLTP. Thay bởi vì lấy tin tức từng tí một như OLTP thì OLAP được bơm tài liệu vào với số lượng lớn bằng các tập tầm nã vấn quét toàn cục nguồn tài liệu (thường là từ hệ thống OLTP) và nhập vào OLAP. Chắc chắn câu lệnh INSERT vào OLAP mập và chậm chạp hơn cũng chính vì nó bao gồm từ tương đối nhiều 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 dạng của datawarehouse cùng load tài liệu vào đích.

Hãy sản xuất một truy vấn ETL để fill một trong số bảng OLAP, trong 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 vấn, chúng ta tối ưu nhiều bảng nhằm fill vào bảng OLAP. Câu query này tinh vi nhưng là thông thường với OLAP.

Chúng ta có thể fill dim_contract theo phong cách như trên. Tuy vậy chún ta ko fill dim_date như trên vì nó được có mang trước vào database và các dữ liệu kia không được nạm đổi. Với bảng fact_balance, cách xử trí fill dữ liệu lại phức hợp hơn nhiều nên không được nói chi tiết ở đây. Ở điểm này, vớ cả họ cần là biết bảng fact_balance lưu lại 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 1 ngày duy nhất định.

Nếu OLTP chạy mượt như cao tốc với rất nhiều xe như là nhau, một cao tốc OLAP là khu vực hỗ loàn với xe cộ to bé dại và tốc độ khác nhau. Nó có các xe khổng lồ chạy chậm mà không ai từng thấy (truy vấn sệt biệt), những xe lớn chạy chậm chạp mà họ hay thấy (báo cáo tháng) hoặc những con quái thú khác…

Một câu tróc nã vấn lấy ví dụ của OLAP hiển thị số dư vừa đủ của tất cả tháng vật dụng 3 cho tổng 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 quý khách hàng sinh sau năm 1990:

Các câu truy vấn vấn OLAP thường là tổng hợp cùng tính đến tất cả dữ liệu vào một tập bé cụ thể. Chúng ta cũng có thể tìm ra xu hướng, trung bình, tổng hợp…Các câu tróc nã vấn này có thể tốn nhiều thời gian, phụ thuộc vào kích thước của các tập bé và ko thống nhất.

Xem thêm: Các Dạng Địa Hình Nào Sau Đây Không Ở Châu Phi Là, Dạng Địa Hình Chủ Yếu Ở Châu Phi Là:

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