Hệ thống OLAP và OLTP OLTP – xử lý dữ liệu giao dịch trực tuyến OLAP – xử lý dữ liệu phân tích trực tuyến. OLTP - hệ thống xử lý giao dịch trực tuyến

Ngày nay, trong số các công cụ được thị trường công nghệ thông tin cung cấp để xử lý và trực quan hóa dữ liệu nhằm đưa ra quyết định quản lý, công nghệ OLTP và OLAP là phù hợp nhất. Công nghệ OLTP tập trung vào xử lý dữ liệu vận hành và công nghệ OLAP hiện đại hơn tập trung vào phân tích dữ liệu tương tác. Các hệ thống được phát triển trên cơ sở của chúng giúp có thể đạt được sự hiểu biết về các quy trình xảy ra tại cơ sở quản lý thông qua việc truy cập nhanh chóng vào các lát dữ liệu khác nhau (trình bày nội dung của cơ sở dữ liệu, được tổ chức để phản ánh các khía cạnh khác nhau trong hoạt động của doanh nghiệp). Đặc biệt, bằng cách cung cấp biểu diễn dữ liệu bằng đồ họa, OLAP có thể làm cho kết quả xử lý dữ liệu trở nên dễ hiểu.

OLTP (Xử lý giao dịch trực tuyến) - xử lý giao dịch theo thời gian thực. Một phương pháp tổ chức cơ sở dữ liệu trong đó hệ thống hoạt động với các giao dịch có quy mô nhỏ nhưng với lưu lượng lớn, đồng thời khách hàng yêu cầu hệ thống có thời gian phản hồi nhanh nhất có thể.

Trong các DBMS hiện đại, việc tuần tự hóa giao dịch được tổ chức thông qua cơ chế khóa, tức là. Trong quá trình thực hiện một giao dịch, DBMS khóa cơ sở dữ liệu hoặc một phần của nó được giao dịch truy cập; khóa được duy trì cho đến khi giao dịch được thực hiện. Nếu trong quá trình xử lý song song, một giao dịch khác cố gắng truy cập dữ liệu bị khóa thì việc xử lý giao dịch đó sẽ bị tạm dừng và chỉ tiếp tục lại sau khi giao dịch đã khóa dữ liệu hoàn tất và khóa được giải phóng. Đối tượng bị chặn càng nhỏ thì hiệu quả của cơ sở dữ liệu càng cao. Một giao dịch cập nhật dữ liệu trên nhiều nút mạng được gọi là PHÂN PHỐI. Nếu một giao dịch hoạt động với cơ sở dữ liệu nằm trên một nút thì nó được gọi là LOCAL. Theo quan điểm của người dùng, các giao dịch cục bộ và phân tán phải được xử lý theo cùng một cách, tức là. DBMS phải tổ chức quy trình thực hiện phân phối giao dịch sao cho tất cả các giao dịch cục bộ có trong nó được cam kết đồng bộ với tất cả các nút của hệ thống phân tán bị ảnh hưởng bởi chúng. Trong trường hợp này, một giao dịch phân tán chỉ nên được thực hiện nếu tất cả các giao dịch cục bộ cấu thành của nó được thực hiện và nếu ít nhất một trong các giao dịch cục bộ bị gián đoạn thì toàn bộ giao dịch phân tán cũng phải bị gián đoạn. Để triển khai các yêu cầu này trong thực tế, DBMS sử dụng cơ chế cam kết giao dịch hai giai đoạn.

1. Máy chủ cơ sở dữ liệu thực hiện giao dịch phân tán sẽ gửi lệnh “Chuẩn bị cam kết” tới tất cả các nút mạng đã đăng ký để thực hiện giao dịch. Nếu ít nhất một trong các máy chủ không phản hồi về tính sẵn sàng thì máy chủ cơ sở dữ liệu phân tán sẽ khôi phục giao dịch cục bộ trên tất cả các nút.

2. Tất cả các DBMS cục bộ đã sẵn sàng để chuyển giao, tức là. máy chủ xử lý giao dịch phân tán, hoàn tất việc thực hiện và gửi lệnh để thực hiện giao dịch đến tất cả các máy chủ cục bộ.

OLAP (tiếng Anh: xử lý phân tích trực tuyến, xử lý phân tích trong thời gian thực) là một công nghệ xử lý thông tin, bao gồm việc biên soạn và xuất bản động các báo cáo, tài liệu. Được các nhà phân tích sử dụng để xử lý nhanh các truy vấn cơ sở dữ liệu phức tạp. Phục vụ cho việc chuẩn bị các báo cáo kinh doanh về mục đích bán hàng, tiếp thị, quản lý, cái gọi là. data mining - khai thác dữ liệu (phương pháp phân tích thông tin trong cơ sở dữ liệu nhằm tìm ra những điểm bất thường, xu hướng mà không tìm ra ý nghĩa ngữ nghĩa của bản ghi).

OLAP chụp ảnh nhanh cơ sở dữ liệu quan hệ và cấu trúc nó thành mô hình truy vấn không gian. Thời gian xử lý đã nêu cho các truy vấn trong OLAP là khoảng 0,1% các truy vấn tương tự trong cơ sở dữ liệu quan hệ.

Cấu trúc OLAP được tạo từ dữ liệu vận hành được gọi là khối OLAP. Khối được tạo bằng cách nối các bảng bằng lược đồ hình sao hoặc lược đồ bông tuyết. Ở trung tâm của lược đồ hình sao là một bảng dữ kiện, trong đó chứa các dữ kiện chính mà các truy vấn được thực hiện. Các bảng nhiều chiều được nối với một bảng sự kiện. Các bảng này cho thấy cách phân tích dữ liệu quan hệ tổng hợp. Số lượng tập hợp có thể được xác định bởi số cách mà dữ liệu gốc có thể được hiển thị theo thứ bậc.

Ví dụ: tất cả khách hàng có thể được nhóm theo thành phố hoặc theo vùng của đất nước (Tây, Đông, Bắc, v.v.), vì vậy 50 thành phố, 8 khu vực và 2 quốc gia sẽ tạo thành 3 cấp bậc với 60 thành viên. Ngoài ra, khách hàng còn có thể thống nhất quan hệ với sản phẩm; nếu có 250 sản phẩm thuộc 2 loại, 3 nhóm sản phẩm và 3 bộ phận sản xuất thì số lượng đơn vị sẽ là 16560. Khi thêm kích thước vào sơ đồ, số phương án khả thi nhanh chóng lên tới hàng chục triệu hoặc hơn.

Khối OLAP chứa dữ liệu và thông tin cơ bản về các kích thước (tổng hợp). Khối có khả năng chứa tất cả thông tin cần thiết để trả lời bất kỳ truy vấn nào. Do số lượng đơn vị khổng lồ, thường việc tính toán đầy đủ chỉ xảy ra đối với một số phép đo, trong khi đối với phần còn lại, nó được thực hiện “theo yêu cầu”.

Thử thách khi sử dụng OLAP là tạo truy vấn, chọn dữ liệu cơ bản và thiết kế lược đồ, do đó, hầu hết các sản phẩm OLAP hiện đại đều có số lượng lớn truy vấn được cấu hình sẵn. Một vấn đề khác là ở dữ liệu cơ bản. Chúng phải đầy đủ và nhất quán

Sản phẩm đầu tiên thực hiện truy vấn OLAP là Express (IRI). Tuy nhiên, bản thân thuật ngữ OLAP được đặt ra bởi Edgar Codd, “cha đẻ của cơ sở dữ liệu quan hệ”. Và công việc của Codd được tài trợ bởi Arbor, một công ty đã phát hành sản phẩm OLAP của riêng mình, Essbase (sau này được Hyperion mua lại, được Oracle mua lại vào năm 2007) vào năm trước.

Các sản phẩm OLAP nổi tiếng khác bao gồm Dịch vụ phân tích của Microsoft (trước đây gọi là Dịch vụ OLAP, một phần của SQL Server), Tùy chọn OLAP của Oracle, Máy chủ OLAP DB2 của IBM (về cơ bản là EssBase với sự bổ sung của IBM), SAP BW, Máy chủ SAS OLAP, các sản phẩm Brio, BusinessObjects , Cognos, MicroStrategy và các nhà sản xuất khác.

OLAP được sử dụng phổ biến nhất trong các sản phẩm kho dữ liệu và lập kế hoạch kinh doanh.

OLAP sử dụng chế độ xem đa chiều của dữ liệu tổng hợp để cung cấp quyền truy cập nhanh vào thông tin chiến lược để phân tích chuyên sâu. Các ứng dụng OLAP phải có các thuộc tính cơ bản sau:

  • biểu diễn dữ liệu đa chiều;
  • hỗ trợ tính toán phức tạp;
  • xem xét đúng đắn yếu tố thời gian.

Ưu điểm của OLAP:

  • tăng năng suất của nhân viên sản xuất và nhà phát triển chương trình ứng dụng. Truy cập kịp thời vào thông tin chiến lược.
  • cung cấp đủ cơ hội cho người dùng thực hiện các thay đổi của riêng họ đối với lược đồ.
  • Các ứng dụng OLAP dựa vào kho dữ liệu và hệ thống OLTP để cung cấp dữ liệu cập nhật, từ đó duy trì quyền kiểm soát tính toàn vẹn của dữ liệu công ty.
  • giảm tải cho hệ thống OLTP và kho dữ liệu.
OLAP OLTP
Kho dữ liệu phải bao gồm cả dữ liệu nội bộ của công ty và dữ liệu bên ngoài Nguồn thông tin chính đưa vào cơ sở dữ liệu hoạt động là các hoạt động của tập đoàn và việc phân tích dữ liệu đòi hỏi sự tham gia của các nguồn thông tin bên ngoài (ví dụ: báo cáo thống kê)
Khối lượng cơ sở dữ liệu phân tích ít nhất phải lớn hơn khối lượng cơ sở dữ liệu hoạt động. Để tiến hành phân tích và dự báo đáng tin cậy trong kho dữ liệu, bạn cần có thông tin về hoạt động của công ty và điều kiện thị trường trong nhiều năm Để xử lý nhanh chóng, cần có dữ liệu trong vài tháng qua
Kho dữ liệu phải chứa thông tin được trình bày thống nhất và nhất quán, càng gần với nội dung của cơ sở dữ liệu hoạt động càng tốt. Cần có một thành phần để trích xuất và “làm sạch” thông tin từ các nguồn khác nhau. Ở nhiều tập đoàn lớn, đồng thời tồn tại một số hệ thống thông tin vận hành với cơ sở dữ liệu riêng (vì lý do lịch sử). Cơ sở dữ liệu hoạt động có thể chứa thông tin tương đương về mặt ngữ nghĩa được trình bày ở các định dạng khác nhau, với các chỉ dẫn khác nhau về thời điểm nhận được, đôi khi thậm chí còn mâu thuẫn nhau.
Không thể dự đoán được tập hợp các truy vấn tới cơ sở dữ liệu phân tích. Kho dữ liệu tồn tại để trả lời các truy vấn đặc biệt từ các nhà phân tích. Bạn chỉ có thể tin tưởng vào thực tế là các yêu cầu sẽ không đến quá thường xuyên và sẽ liên quan đến lượng thông tin lớn. Kích thước của cơ sở dữ liệu phân tích khuyến khích việc sử dụng các truy vấn có tổng hợp (tổng, tối thiểu, tối đa, trung bình, v.v.) Hệ thống xử lý dữ liệu được tạo ra để giải quyết các vấn đề cụ thể. Thông tin từ cơ sở dữ liệu được chọn lọc thường xuyên và theo từng phần nhỏ. Thông thường, một tập hợp các truy vấn tới cơ sở dữ liệu vận hành đã được xác định trong quá trình thiết kế.
Khi độ biến thiên của cơ sở dữ liệu phân tích thấp (chỉ khi tải dữ liệu), thứ tự của mảng, phương pháp lập chỉ mục nhanh hơn để lấy mẫu hàng loạt và lưu trữ dữ liệu được tổng hợp trước sẽ trở nên hợp lý Về bản chất, các hệ thống xử lý dữ liệu rất khác nhau, được tính đến trong DBMS được sử dụng (cấu trúc cơ sở dữ liệu được chuẩn hóa, các hàng được lưu trữ không theo thứ tự, cây B để lập chỉ mục, giao dịch)
Thông tin cơ sở dữ liệu phân tích rất quan trọng đối với một công ty nên cần có mức độ bảo vệ chi tiết hơn (quyền truy cập riêng lẻ vào các hàng và/hoặc cột nhất định của bảng) Đối với các hệ thống xử lý dữ liệu, việc bảo vệ thông tin ở cấp độ bảng thường là đủ.

Mục tiêu của hệ thống OLTP là thu thập nhanh chóng và sắp xếp thông tin tối ưu nhất trong cơ sở dữ liệu, cũng như đảm bảo tính đầy đủ, phù hợp và nhất quán của nó. Tuy nhiên, các hệ thống như vậy không được thiết kế để phân tích hiệu quả, nhanh chóng và đa chiều nhất.

Tất nhiên, có thể xây dựng báo cáo dựa trên dữ liệu thu thập được, nhưng điều này đòi hỏi nhà phân tích kinh doanh phải liên tục tương tác với chuyên gia CNTT hoặc phải được đào tạo đặc biệt về lập trình và công nghệ máy tính.

Quá trình ra quyết định truyền thống trông như thế nào ở một công ty Nga sử dụng hệ thống thông tin được xây dựng trên công nghệ OLTP?

Người quản lý giao nhiệm vụ cho chuyên gia bộ phận thông tin theo hiểu biết của mình về vấn đề. Chuyên gia bộ phận thông tin, sau khi hiểu nhiệm vụ theo cách riêng của mình, sẽ đưa ra yêu cầu tới hệ thống vận hành, nhận báo cáo điện tử và chuyển đến người quản lý. Sơ đồ đưa ra các quyết định quan trọng này có những nhược điểm đáng kể sau:

  • một lượng dữ liệu không đáng kể được sử dụng;
  • quá trình này mất nhiều thời gian vì việc đưa ra các yêu cầu và giải thích một báo cáo điện tử là những công việc khá tẻ nhạt, trong khi người quản lý có thể cần đưa ra quyết định ngay lập tức;
  • Chu trình này phải được lặp lại nếu cần làm rõ dữ liệu hoặc xem xét dữ liệu từ một góc độ khác, cũng như nếu có thêm câu hỏi nào phát sinh. Hơn nữa, chu kỳ chậm chạp này phải được lặp lại và theo quy luật, nhiều lần, trong khi thậm chí còn dành nhiều thời gian hơn cho việc phân tích dữ liệu;
  • Sự khác biệt trong đào tạo chuyên môn và lĩnh vực hoạt động của chuyên gia công nghệ thông tin và người quản lý có tác động tiêu cực. Họ thường nghĩ theo những phạm trù khác nhau và kết quả là không hiểu nhau;
  • một tác động bất lợi được gây ra bởi một yếu tố như sự phức tạp của các báo cáo điện tử đối với nhận thức. Người quản lý không có thời gian để chọn số lượng quan tâm từ báo cáo, đặc biệt vì có thể có quá nhiều số lượng. Rõ ràng là công việc chuẩn bị dữ liệu thường rơi vào tay các chuyên gia trong bộ phận thông tin. Kết quả là, một chuyên gia có năng lực sẽ bị phân tâm bởi công việc biên soạn bảng, sơ đồ, v.v. thường xuyên và không hiệu quả, điều này tất nhiên không góp phần nâng cao kỹ năng của anh ta.

Chỉ có một cách duy nhất để thoát khỏi tình huống này và nó đã được Bill Gates xây dựng dưới dạng câu nói: “Thông tin trong tầm tay bạn”. Thông tin ban đầu phải có sẵn cho người tiêu dùng trực tiếp - nhà phân tích. Nó có thể truy cập trực tiếp. Và nhiệm vụ của nhân viên bộ phận thông tin là tạo ra một hệ thống thu thập, tích lũy, lưu trữ, bảo vệ thông tin và đảm bảo tính sẵn có của nó cho các nhà phân tích.

Ngành công nghiệp toàn cầu từ lâu đã quen thuộc với vấn đề này và trong gần 30 năm đã có các công nghệ OLAP được thiết kế đặc biệt để cho phép các nhà phân tích kinh doanh vận hành với dữ liệu tích lũy và trực tiếp tham gia phân tích của họ. Các hệ thống phân tích như vậy trái ngược với các hệ thống OLTP ở chỗ chúng loại bỏ sự dư thừa thông tin (thông tin “sụp đổ”). Đồng thời, rõ ràng chính sự dư thừa của thông tin sơ cấp sẽ quyết định tính hiệu quả của việc phân tích. DSS, kết hợp các công nghệ này, giúp giải quyết một số vấn đề:

  • Nhiệm vụ phân tích: tính toán các chỉ số cụ thể và đặc điểm thống kê của quy trình nghiệp vụ dựa trên thông tin hồi cứu có trong kho dữ liệu.
  • Trực quan hóa dữ liệu: trình bày tất cả thông tin có sẵn ở dạng đồ họa và dạng bảng thân thiện với người dùng.
  • Tiếp thu kiến ​​thức mới: xác định mối quan hệ và sự phụ thuộc lẫn nhau của các quy trình kinh doanh dựa trên thông tin hiện có (kiểm tra các giả thuyết thống kê, phân cụm, tìm kiếm mối liên hệ và mô hình thời gian).
  • Các vấn đề mô phỏng: mô hình toán học về hành vi của các hệ thống phức tạp trong một khoảng thời gian tùy ý. Nói cách khác, đây là những nhiệm vụ liên quan đến nhu cầu trả lời câu hỏi: “Điều gì sẽ xảy ra nếu…?”
  • Tổng hợp kiểm soát: xác định các hành động kiểm soát có thể chấp nhận được để đảm bảo đạt được mục tiêu nhất định.
  • Vấn đề tối ưu hóa: tích hợp các phương pháp mô phỏng, quản lý, tối ưu hóa và thống kê của mô hình hóa và dự báo.

Các nhà quản lý doanh nghiệp sử dụng các công cụ công nghệ OLAP, ngay cả khi không được đào tạo đặc biệt, vẫn có thể thu được tất cả thông tin cần thiết một cách độc lập và nhanh chóng để nghiên cứu các mô hình kinh doanh cũng như trong nhiều cách kết hợp và phần phân tích kinh doanh khác nhau. Một nhà phân tích kinh doanh có cơ hội nhìn thấy trước mặt mình danh sách các phép đo và chỉ số của hệ thống kinh doanh. Với giao diện đơn giản như vậy, nhà phân tích có thể xây dựng bất kỳ báo cáo nào, sắp xếp lại các phép đo (ví dụ: tạo các tab chéo - chồng một phép đo này lên một phép đo khác). Ngoài ra, anh ta còn có cơ hội tạo ra các chức năng của riêng mình dựa trên các chỉ báo hiện có, tiến hành phân tích “điều gì xảy ra nếu” - nhận kết quả bằng cách chỉ định sự phụ thuộc của bất kỳ chỉ báo nào về chức năng kinh doanh hoặc chức năng kinh doanh vào các chỉ báo. Trong trường hợp này, phản hồi tối đa của bất kỳ báo cáo nào không vượt quá 5 giây.

Để giải quyết các vấn đề về phân tích dữ liệu và tìm kiếm giải pháp, cần phải tích lũy và lưu trữ khối lượng dữ liệu đủ lớn. Cơ sở dữ liệu (DB) phục vụ các mục đích này.

Để lưu trữ dữ liệu theo bất kỳ mô hình miền nào, cấu trúc cơ sở dữ liệu phải tương ứng với mô hình này nhiều nhất có thể. Cấu trúc đầu tiên như vậy được sử dụng trong DBMS là cấu trúc phân cấp, xuất hiện vào đầu những năm 60 của thế kỷ trước.

Cấu trúc phân cấp liên quan đến việc lưu trữ dữ liệu dưới dạng cấu trúc cây.

Một nỗ lực nhằm cải thiện cấu trúc phân cấp là cấu trúc mạng của cơ sở dữ liệu, bao gồm việc biểu diễn cấu trúc dữ liệu dưới dạng mạng.

Cơ sở dữ liệu quan hệ là phổ biến nhất hiện nay. Để lưu trữ loại thông tin này, người ta đề xuất sử dụng các mô hình hậu quan hệ dưới dạng cấu trúc lưu trữ dữ liệu hướng đối tượng. Cách tiếp cận chung là lưu trữ bất kỳ thông tin nào dưới dạng đối tượng. Trong trường hợp này, bản thân các đối tượng có thể được tổ chức theo mô hình phân cấp. Thật không may, cách tiếp cận này, không giống như cấu trúc quan hệ dựa trên đại số quan hệ, chưa được chính thức hóa đầy đủ nên không cho phép nó được sử dụng rộng rãi trong thực tế.

Theo các quy tắc của Codd, DBMS phải đảm bảo thực hiện các hoạt động trên cơ sở dữ liệu, đồng thời cung cấp khả năng làm việc đồng thời cho nhiều người dùng (từ một số máy tính) và đảm bảo tính toàn vẹn dữ liệu. Để thực hiện các quy tắc này, DBMS sử dụng cơ chế quản lý giao dịch.

Giao dịch là một chuỗi các hoạt động trên cơ sở dữ liệu, được DBMS coi là một tổng thể duy nhất. Một giao dịch di chuyển cơ sở dữ liệu từ trạng thái tích hợp này sang trạng thái tích hợp khác.

Theo quy định, một giao dịch bao gồm các hoạt động thao tác dữ liệu thuộc các bảng khác nhau và có liên quan logic với nhau. Nếu khi thực hiện một giao dịch, các thao tác được thực hiện chỉ sửa đổi một phần dữ liệu và dữ liệu còn lại không bị thay đổi thì tính toàn vẹn sẽ bị vi phạm. Do đó, tất cả các hoạt động có trong giao dịch phải được hoàn thành hoặc không có hoạt động nào trong số đó phải được hoàn thành. Quá trình hoàn tác một giao dịch được gọi là khôi phục giao dịch. Việc lưu các thay đổi được thực hiện do hoạt động giao dịch được gọi là thực hiện giao dịch.

Thuộc tính của một giao dịch là chuyển cơ sở dữ liệu từ trạng thái tích hợp này sang trạng thái tích hợp khác cho phép chúng ta sử dụng khái niệm giao dịch như một đơn vị hoạt động của người dùng. Trong trường hợp người dùng đồng thời truy cập cơ sở dữ liệu, các giao dịch do những người dùng khác nhau khởi tạo không được thực hiện song song (điều này là không thể đối với một cơ sở dữ liệu), mà theo một số kế hoạch được xếp hàng đợi và thực hiện tuần tự. Do đó, đối với người dùng chủ động tạo giao dịch, sự hiện diện của giao dịch của những người dùng khác sẽ không nhìn thấy được, ngoại trừ một số hoạt động chậm lại so với chế độ một người dùng.


Có một số thuật toán cơ bản để lập lịch giao dịch. Trong các DBMS tập trung, các thuật toán phổ biến nhất là các thuật toán dựa trên việc đồng bộ hóa việc thu thập các đối tượng cơ sở dữ liệu.

Khi sử dụng bất kỳ thuật toán nào, có thể xảy ra tình huống xung đột giữa hai hoặc nhiều giao dịch để truy cập các đối tượng cơ sở dữ liệu. Trong trường hợp này, một hoặc nhiều giao dịch phải được khôi phục để duy trì kế hoạch. Đây là một trong những trường hợp khi người dùng DBMS nhiều người dùng thực sự có thể cảm nhận được sự hiện diện của các giao dịch của người dùng khác trong hệ thống.

Lịch sử phát triển DBMS gắn liền với việc cải tiến các phương pháp tiếp cận giải quyết các vấn đề về lưu trữ dữ liệu và quản lý giao dịch. Cơ chế quản lý giao dịch được phát triển trong các DBMS hiện đại đã biến chúng thành phương tiện chính để xây dựng hệ thống OLTP, nhiệm vụ chính của nó là đảm bảo thực hiện các hoạt động cơ sở dữ liệu.

3.1.3. Sử dụng công nghệ OLTP
trong các hệ thống hỗ trợ quyết định

Hệ thống xử lý giao dịch trực tuyến OLTP được đặc trưng bởi một số lượng lớn các thay đổi, nhiều người dùng truy cập đồng thời vào cùng một dữ liệu để thực hiện các hoạt động khác nhau - đọc, ghi, xóa hoặc sửa đổi dữ liệu. Khóa và giao dịch được sử dụng để đảm bảo hoạt động bình thường của nhiều người dùng. Hỗ trợ khóa và xử lý giao dịch hiệu quả là một trong những yêu cầu quan trọng nhất đối với hệ thống xử lý giao dịch trực tuyến.

Nhân tiện, DSS đầu tiên – hệ thống thông tin quản lý – cũng thuộc loại hệ thống này. Các hệ thống như vậy, theo quy định, được xây dựng trên cơ sở các DBMS quan hệ, bao gồm các hệ thống con để thu thập, lưu trữ và phân tích truy xuất thông tin, đồng thời chứa một bộ truy vấn được xác định trước cho công việc hàng ngày. Mỗi yêu cầu mới, không được lường trước khi thiết kế một hệ thống như vậy, trước tiên phải được người lập trình mô tả chính thức, mã hóa và chỉ sau đó mới được thực thi. Thời gian chờ đợi trong trường hợp này có thể là hàng giờ và hàng ngày, điều này không thể chấp nhận được để đưa ra quyết định nhanh chóng.

Việc sử dụng các hệ thống OLTP đã cho thấy sự kém hiệu quả trong việc sử dụng chúng để phân tích thông tin toàn diện. Các hệ thống như vậy giải quyết khá thành công các vấn đề thu thập, lưu trữ và truy xuất thông tin, nhưng chúng không đáp ứng được yêu cầu của DSS hiện đại. Các phương pháp tiếp cận liên quan đến việc tăng cường chức năng của hệ thống OLTP chưa mang lại kết quả khả quan. Nguyên nhân chính dẫn đến sự thất bại là do các yêu cầu trái ngược nhau đối với hệ thống OLTP và DSS.

Các yêu cầu chính đối với hệ thống OLTP và DSS như sau:

1. Mức độ chi tiết của dữ liệu được lưu trữ. Một truy vấn điển hình trong hệ thống OLTP có xu hướng tác động có chọn lọc đến các bản ghi riêng lẻ trong các bảng, được truy xuất một cách hiệu quả bằng cách sử dụng các chỉ mục.

2. Chất lượng dữ liệu. Theo quy định, hệ thống OLTP lưu trữ thông tin được người dùng hệ thống (người vận hành máy tính) trực tiếp nhập vào. Sự hiện diện của “yếu tố con người” trong quá trình nhập liệu làm tăng khả năng xảy ra sai sót dữ liệu và có thể tạo ra các sự cố cục bộ trong hệ thống.

3. Định dạng lưu trữ dữ liệu. Các hệ thống OLTP phục vụ các lĩnh vực công việc khác nhau không được kết nối với nhau. Chúng thường được triển khai trên các nền tảng phần mềm và phần cứng khác nhau. Dữ liệu giống nhau trong các cơ sở dữ liệu khác nhau có thể được trình bày dưới các dạng khác nhau và có thể không trùng khớp (ví dụ: dữ liệu về một khách hàng đã tương tác với các bộ phận khác nhau của công ty có thể không trùng khớp trong cơ sở dữ liệu của các bộ phận này).

4. Cho phép dữ liệu dư thừa. Cấu trúc cơ sở dữ liệu phục vụ hệ thống OLTP thường khá phức tạp. Nó có thể chứa hàng chục, thậm chí hàng trăm bảng tham chiếu lẫn nhau. Dữ liệu trong cơ sở dữ liệu như vậy được chuẩn hóa cao để tối ưu hóa các tài nguyên cần thiết. Các truy vấn phân tích tới cơ sở dữ liệu rất khó xây dựng và thực hiện cực kỳ kém hiệu quả vì chúng chứa các dạng xem kết hợp một số lượng lớn các bảng.

5. Quản lý dữ liệu. Yêu cầu chính đối với hệ thống OLTP là đảm bảo rằng các hoạt động sửa đổi được thực hiện trên cơ sở dữ liệu. Người ta cho rằng chúng phải được thực hiện ở chế độ thực và thường rất chuyên sâu.

6. Lượng dữ liệu được lưu trữ. Theo quy định, hệ thống phân tích được thiết kế để phân tích sự phụ thuộc về thời gian, trong khi hệ thống OLTP thường xử lý các giá trị hiện tại của một số tham số.

7. Bản chất của truy vấn dữ liệu. Trong các hệ thống OLTP, do chuẩn hóa cơ sở dữ liệu nên việc soạn các truy vấn là công việc khá phức tạp và đòi hỏi phải có trình độ chuyên môn cần thiết.

8. Thời gian xử lý yêu cầu dữ liệu. Các hệ thống OLTP thường hoạt động theo thời gian thực nên chúng có các yêu cầu xử lý dữ liệu nghiêm ngặt.

9. Bản chất của tải tính toán trên hệ thống. Như đã lưu ý trước đó, công việc với hệ thống OLTP thường được thực hiện trong thời gian thực.

10. Ưu tiên đặc điểm hệ thống. Đối với các hệ thống OLTP, ưu tiên hàng đầu là hiệu suất cao và tính sẵn có của dữ liệu vì chúng hoạt động với chúng trong thời gian thực. Đối với các hệ thống phân tích, nhiệm vụ có mức độ ưu tiên cao hơn là đảm bảo tính linh hoạt của hệ thống và tính độc lập của người dùng, tức là những gì nhà phân tích cần để phân tích dữ liệu.

Cần lưu ý rằng các yêu cầu trái ngược nhau đối với các hệ thống OLTP và các hệ thống tập trung vào phân tích sâu thông tin làm phức tạp thêm nhiệm vụ tích hợp chúng như các hệ thống con của một DSS duy nhất. Hiện nay, giải pháp phổ biến nhất cho vấn đề này là phương pháp lưu trữ dữ liệu.

Ý tưởng chung của kho dữ liệu là tách biệt cơ sở dữ liệu cho hệ thống và cơ sở dữ liệu để phân tích rồi thiết kế chúng theo yêu cầu tương ứng.

DSS giải quyết ba nhiệm vụ chính: thu thập, lưu trữ và phân tích thông tin được lưu trữ. Nhiệm vụ phân tích nói chung có thể bao gồm: phân tích truy xuất thông tin, phân tích hoạt động và phân tích dự đoán.

Các hệ thống con thu thập, lưu trữ thông tin và giải quyết các vấn đề về phân tích truy xuất thông tin hiện đang được triển khai thành công trong khuôn khổ các hệ thống phân tích truy xuất thông tin sử dụng DBMS. Để triển khai các hệ thống con thực hiện phân tích vận hành, khái niệm biểu diễn dữ liệu đa chiều được sử dụng. Hệ thống con khai thác dữ liệu thực hiện các phương pháp.

Để đơn giản hóa việc phát triển các chương trình ứng dụng sử dụng cơ sở dữ liệu, hệ thống quản lý cơ sở dữ liệu (DBMS) được tạo ra - phần mềm quản lý dữ liệu, lưu trữ dữ liệu và bảo mật dữ liệu.

DBMS có cơ chế quản lý giao dịch phát triển, khiến chúng trở thành phương tiện chính để tạo ra các hệ thống xử lý giao dịch trực tuyến (hệ thống OLTP). Các hệ thống như vậy bao gồm DSS đầu tiên giải quyết các vấn đề phân tích truy xuất thông tin - ISR.

Hệ thống OLTP không thể được sử dụng một cách hiệu quả để giải quyết các vấn đề về phân tích thông tin trí tuệ và phân tích hoạt động. Lý do chính là các yêu cầu trái ngược nhau đối với hệ thống OLTP và DSS.

Hiện nay, để tăng hiệu quả phân tích hoạt động và phân tích trí tuệ, khái niệm kho dữ liệu được sử dụng để kết hợp các hệ thống con OLTP và hệ thống con phân tích trong một hệ thống. Ý tưởng chung là phân bổ cơ sở dữ liệu cho các hệ thống con OLTP và cơ sở dữ liệu để thực hiện phân tích. Điều này đảm bảo một cách tiếp cận tối ưu để xử lý dữ liệu trong các hệ thống hỗ trợ quyết định.

Câu hỏi để tự kiểm soát

1. Liệt kê các nhiệm vụ chính mà hệ thống hỗ trợ quyết định giải quyết.

2. Phác thảo các hướng khái niệm để xây dựng kho dữ liệu trong các hệ thống hỗ trợ quyết định.

3. Chỉ định các loại cấu trúc để tổ chức kho dữ liệu trong DSS. Ưu điểm và nhược điểm của từng loại kết cấu là gì?

4. Chứng minh tính khả thi của việc sử dụng mô hình hậu quan hệ của hệ thống con để thu thập và xử lý thông tin trong DSS.

5. Khái niệm giao dịch được hiểu như thế nào trong hệ thống xử lý dữ liệu?

6. Thuộc tính chính của giao dịch trong hệ thống xử lý dữ liệu là gì?

7. Mô tả ngắn gọn cơ chế quản lý giao dịch trong hệ thống OLTP.

8. Xác định rõ vai trò, vị trí của hệ thống OLTP trong xử lý giao dịch trực tuyến. Tại sao hệ thống OLTP không hiệu quả trong việc giải quyết các vấn đề phân tích dự đoán và phân tích vận hành?

9. Các yêu cầu cơ bản đối với hệ thống OLTP là gì. Các yêu cầu mâu thuẫn đối với hệ thống OLTP là gì?

10. Kể tên các cách để tăng hiệu quả phân tích hoạt động và phân tích trí tuệ trong DSS.

So sánh các mô hình chuẩn hóa và không chuẩn hóa

Phân tích các tiêu chí cho mô hình dữ liệu chuẩn hóa và không chuẩn hóa

Chúng ta hãy tổng hợp các kết quả phân tích các tiêu chí mà chúng tôi muốn đánh giá tác động của mô hình hóa dữ liệu logic đến chất lượng của các mô hình dữ liệu vật lý và hiệu suất cơ sở dữ liệu:

Như có thể thấy từ bảng, các mối quan hệ được chuẩn hóa mạnh mẽ hơn sẽ được thiết kế tốt hơn (ba điểm cộng, một điểm trừ). Chúng phù hợp hơn với lĩnh vực chủ đề, dễ phát triển hơn và các hoạt động sửa đổi cơ sở dữ liệu được thực hiện nhanh hơn đối với chúng. Đúng, điều này đạt được phải trả giá bằng việc thực hiện các hoạt động truy xuất dữ liệu bị chậm lại.

Ưu điểm duy nhất của các mối quan hệ được chuẩn hóa yếu là nếu cơ sở dữ liệu chỉ được truy cập bằng các truy vấn để truy xuất dữ liệu thì đối với các mối quan hệ được chuẩn hóa yếu, các truy vấn đó sẽ được thực thi nhanh hơn. Điều này là do thực tế là trong các mối quan hệ như vậy, việc kết nối các mối quan hệ đã được thực hiện và thời gian không bị lãng phí khi truy xuất dữ liệu.

Vì vậy, việc lựa chọn mức độ chuẩn hóa các mối quan hệ phụ thuộc vào bản chất của các truy vấn mà cơ sở dữ liệu thường được truy cập nhất.

Có thể xác định các lớp hệ thống nhất định mà mô hình dữ liệu chuẩn hóa mạnh hoặc yếu phù hợp hơn.

Các mô hình dữ liệu được chuẩn hóa cao rất phù hợp cho cái gọi là Ứng dụng OLTP (Xử lý giao dịch trực tuyến (OLTP )- xử lý giao dịch nhanh chóng ). Ví dụ điển hình về ứng dụng OLTP là hệ thống kế toán kho, hệ thống đặt vé, hệ thống ngân hàng thực hiện các hoạt động chuyển tiền, v.v. Chức năng chính của các hệ thống như vậy là thực hiện một số lượng lớn các giao dịch ngắn hạn. Bản thân các giao dịch trông tương đối đơn giản, chẳng hạn như “rút một lượng tiền từ tài khoản A, thêm số tiền này vào tài khoản B”. Vấn đề là, thứ nhất, có rất nhiều giao dịch, thứ hai, chúng được thực hiện đồng thời (vài nghìn người dùng đồng thời có thể kết nối vào hệ thống), thứ ba, nếu xảy ra lỗi, giao dịch phải được khôi phục hoàn toàn và trả lại hệ thống về trạng thái trước khi bắt đầu giao dịch (không nên xảy ra tình trạng tiền rút từ tài khoản A nhưng lại không về tài khoản B). Hầu hết tất cả các truy vấn cơ sở dữ liệu trong ứng dụng OLTP đều bao gồm các lệnh chèn, cập nhật và xóa. Truy vấn chọn được thiết kế chủ yếu để cho phép người dùng chọn từ nhiều thư mục khác nhau. Do đó, hầu hết các yêu cầu đều được biết trước ở giai đoạn thiết kế hệ thống. Do đó, tốc độ và độ tin cậy của các hoạt động cập nhật dữ liệu ngắn là rất quan trọng đối với các ứng dụng OLTP. Mức độ chuẩn hóa dữ liệu trong ứng dụng OLTP càng cao thì nó càng có xu hướng nhanh hơn và đáng tin cậy hơn. Những sai lệch so với quy tắc này có thể xảy ra khi ở giai đoạn phát triển, một số truy vấn thường xuyên xảy ra được biết là yêu cầu kết nối các mối quan hệ và tốc độ thực hiện của chúng ảnh hưởng đáng kể đến hoạt động của ứng dụng. Trong trường hợp này, bạn có thể hy sinh việc chuẩn hóa để tăng tốc độ thực hiện các truy vấn đó.



Một loại ứng dụng khác được gọi là ứng dụng OLAP (Xử lý phân tích trực tuyến (OLAP ) - xử lý dữ liệu phân tích hoạt động ). Đây là một thuật ngữ tổng quát mô tả các nguyên tắc xây dựng hệ thống hỗ trợ quyết định (Hệ thống hỗ trợ quyết định - DSS ), Kho dữ liệu (Kho dữ liệu ), hệ thống khai thác dữ liệu (Khai thác dữ liệu ). Các hệ thống như vậy được thiết kế để tìm ra sự phụ thuộc giữa các dữ liệu (ví dụ: bạn có thể cố gắng xác định xem khối lượng bán hàng hóa có liên quan như thế nào đến đặc điểm của người mua tiềm năng), để tiến hành phân tích “điều gì sẽ xảy ra nếu…”. Các ứng dụng OLAP hoạt động trên lượng lớn dữ liệu đã được tích lũy trong các ứng dụng OLTP, được lấy từ bảng tính hoặc các nguồn dữ liệu khác. Các hệ thống như vậy được đặc trưng bởi các tính năng sau:

  • Dữ liệu mới được thêm vào hệ thống tương đối hiếm khi ở dạng khối lớn (ví dụ: mỗi quý một lần, dữ liệu dựa trên kết quả bán hàng hàng quý được tải xuống từ ứng dụng OLTP).
  • Dữ liệu được thêm vào hệ thống thường không bao giờ bị xóa.
  • Trước khi tải, dữ liệu phải trải qua nhiều quy trình “làm sạch” khác nhau, do thực tế là một hệ thống có thể nhận dữ liệu từ nhiều nguồn có định dạng trình bày khác nhau cho cùng một khái niệm; dữ liệu có thể không chính xác hoặc có sai sót.
  • Các truy vấn tới hệ thống không được kiểm soát và theo quy luật, khá phức tạp. Rất thường xuyên, một truy vấn mới được nhà phân tích đưa ra để làm rõ kết quả thu được từ truy vấn trước đó.
  • Tốc độ thực hiện truy vấn là quan trọng nhưng không quan trọng.

Dữ liệu từ các ứng dụng OLAP thường được biểu diễn dưới dạng một hoặc nhiều siêu khối, kích thước của chúng là dữ liệu tham chiếu và các ô của siêu khối lưu trữ dữ liệu thực tế. Ví dụ: bạn có thể xây dựng một siêu khối, các kích thước của nó là: thời gian (theo quý, năm), loại sản phẩm và chi nhánh công ty cũng như khối lượng bán hàng của các cửa hàng lưu trữ. Một siêu khối như vậy sẽ chứa dữ liệu về doanh số bán các loại hàng hóa khác nhau theo quý và bộ phận. Dựa trên dữ liệu này, bạn có thể trả lời các câu hỏi như “bộ phận nào có doanh số bán hàng tốt nhất trong năm nay?” hoặc “xu hướng bán hàng của các bộ phận khu vực Tây Nam Bộ năm nay so với năm trước như thế nào?”

Về mặt vật lý, một hypercube có thể được xây dựng dựa trên một mô hình dữ liệu đa chiều (MOLAP - OLAP đa chiều ) hoặc được xây dựng bằng mô hình dữ liệu quan hệ ( ROLAP - OLAP quan hệ ).

Quay trở lại bài toán chuẩn hóa dữ liệu, có thể nói rằng trong các hệ thống OLAP sử dụng mô hình dữ liệu quan hệ (ROLAP), nên lưu trữ dữ liệu ở dạng quan hệ chuẩn hóa yếu chứa các tổng cơ bản được tính toán trước. Sự dư thừa lớn và các vấn đề liên quan đến nó không đáng sợ ở đây, bởi vì cập nhật chỉ xảy ra khi một phần dữ liệu mới được tải. Trong trường hợp này, cả dữ liệu mới đều được thêm vào và kết quả được tính toán lại.

OLTP XỬ LÝ GIAO DỊCH TRỰC TUYẾN được thiết kế để phục vụ nhanh chóng các yêu cầu tương đối đơn giản từ một số lượng lớn người dùng. Các hệ thống này yêu cầu bảo vệ khỏi truy cập trái phép, tính toàn vẹn dữ liệu cũng như các lỗi phần cứng và lập trình.

Chúng được đặc trưng bởi thời gian chờ đợi thấp để hoàn thành các yêu cầu.

Phạm vi áp dụng: thanh toán, kế toán, đặt phòng, ngân hàng và hoạt động giao dịch chứng khoán

Giao dịch- đây là một số hành động đã hoàn thành trên cơ sở dữ liệu theo quan điểm của người dùng.

Hệ thống xử lý dữ liệu phân tích (ON LINE ANALIZIS PROCESSING) OLAP là hệ thống hỗ trợ quyết định tập trung vào việc thực hiện các truy vấn phức tạp hơn yêu cầu xử lý thống kê dữ liệu lịch sử được tích lũy trong một khoảng thời gian nhất định. Hệ thống phân tích bao gồm:

1. Công cụ xử lý thông tin dựa trên phương pháp trí tuệ nhân tạo

2. phương tiện trình bày dữ liệu bằng đồ họa.

Các hệ thống này được xác định bởi một khối lượng lớn dữ liệu lịch sử, cho phép trích xuất thông tin có ý nghĩa từ chúng, tức là. thu được kiến ​​thức từ dữ liệu.

Yêu cầu về tốc độ và chất lượng phân tích đã dẫn đến sự xuất hiện của các hệ thống xử lý phân tích (OLAP). Hiệu quả xử lý đạt được thông qua việc sử dụng công nghệ đa bộ xử lý mạnh mẽ, các phương pháp phân tích phức tạp và kho dữ liệu chuyên dụng.

Các lớp hệ thống nhất định (OLAP và OLTP), chúng dựa trên việc sử dụng DBMS, nhưng các loại truy vấn rất khác nhau.

Xử lý giao dịch trong hệ thống OLTP

Giao dịch - một chuỗi không thể phân chia của các hoạt động thao tác dữ liệu từ góc độ ảnh hưởng đến cơ sở dữ liệu. Đây có thể là thao tác đọc, xóa, chèn, v.v.

Giao dịch thực hiện một số hành động có ý nghĩa theo quan điểm của người dùng, ví dụ: chuyển tiền từ tài khoản, đặt chỗ, giao nhân viên mới.

Một giao dịch phải có 4 thuộc tính cơ bản:

1. tính nguyên tử, giao dịch phải được thực hiện như một thao tác truy cập cơ sở dữ liệu duy nhất, nó phải được hoàn thành hoàn toàn hoặc không được thực hiện chút nào.

2. tính nhất quán, đảm bảo tính toàn vẹn dữ liệu lẫn nhau.

3. cách ly, các giao dịch sẽ được thực hiện riêng biệt trên hệ thống người dùng.

4. độ bền, nếu giao dịch hoàn tất thành công thì những thay đổi mà nó thực hiện đối với dữ liệu sẽ không bị mất trong bất kỳ trường hợp nào.

Kết quả của một giao dịch có thể là cố địnhquay lại

cố định - Đây là hành động đảm bảo rằng mọi thay đổi đều được ghi lại trong cơ sở dữ liệu.

Khôi phục- nếu không thể hoàn thành giao dịch bình thường, cơ sở dữ liệu sẽ được trả về trạng thái ban đầu và mọi thay đổi sẽ bị hủy.


Khi quay lại và thực hiện một giao dịch, nó được sử dụng nhật ký giao dịch, trong đó tất cả các thay đổi được lưu.

Khi thực hiện bất kỳ thao tác nào làm thay đổi cơ sở dữ liệu, DBMS sẽ tự động lưu trạng thái của các hàng được sửa đổi trước và sau thao tác vào nhật ký giao dịch. Chỉ sau đó, những thay đổi được thực hiện đối với cơ sở dữ liệu.

Khi khôi phục, DBMS sử dụng nhật ký giao dịch để khôi phục những hàng đã được sửa đổi.

Ranh giới giao dịch- Đây là hoạt động đầu tiên và cuối cùng được bao gồm trong đó. Giả định rằng giao dịch bắt đầu bằng câu lệnh SQL đầu tiên, các câu lệnh sau tạo nên phần thân của giao dịch và phần thân có thể phân nhánh:

1. Công việc cam kết câu lệnh SQL

Toán tử khôi phục SQL

2. chỉ cần hoàn thành câu lệnh gọi là giao dịch.

Lưu điểm- được sử dụng trong các giao dịch dài, tức là phần thân của giao dịch có thể xác định các điểm mà tại đó trạng thái của cơ sở dữ liệu được lưu.

Sử dụng giao dịch là một cơ chế hiệu quả để tổ chức quyền truy cập nhiều người dùng vào cơ sở dữ liệu.

Các vấn đề:

1. cách tránh mất các thay đổi trong cơ sở dữ liệu trong tình huống có nhiều chương trình đọc cùng một dữ liệu, thay đổi và ghi vào cùng một nơi. Những thay đổi từ một chương trình có thể được lưu vào cơ sở dữ liệu, kết quả của tất cả các chương trình khác sẽ bị mất.

2. loại trừ khả năng đọc các thay đổi không được cam kết, ví dụ: khi một giao dịch thực hiện các thay đổi đối với cơ sở dữ liệu, chúng sẽ được đọc ngay lập tức trong các giao dịch khác, nhưng sau đó giao dịch khác bị gián đoạn bởi toán tử khôi phục.

Để loại bỏ điều này, hãy sử dụng tuần tự hóa (xử lý chung):

1. giao dịch không thể truy cập dữ liệu không được cam kết

2. kết quả thực hiện chung các giao dịch phải tương đương với kết quả thực hiện trình tự thực hiện các giao dịch đó.

Trong hệ quản trị cơ sở dữ liệu hiện đại, việc tuần tự hóa giao dịch được thực hiện thông qua cơ chế khóa: Trong quá trình thực hiện giao dịch 1, DBMS chặn phần cơ sở dữ liệu mà giao dịch 1 truy cập. Khóa được duy trì cho đến khi giao dịch 1 được xác nhận; nếu tại thời điểm này, giao dịch 2 khác truy cập vào dữ liệu bị khóa thì giao dịch 2 sẽ bị tạm dừng cho đến khi giao dịch 1 hoàn tất.

Giao dịch bế tắc

Để giao dịch t1 cập nhật quan hệ - o1. Tiếp theo, giao dịch t1 này cố gắng sửa đổi mối quan hệ o2 mà trước đó đã bị chặn bởi giao dịch t2. Giao dịch t1 được chuyển sang trạng thái chờ cho đến khi khóa trên quan hệ o2 được giải phóng; cùng lúc đó, giao dịch t2 cố gắng thay đổi dữ liệu của quan hệ o1, dữ liệu trước đó đã bị chặn bởi giao dịch t1. DBMS buộc phải đưa giao dịch T2 vào trạng thái chờ, do đó phát sinh tình trạng bế tắc giao dịch.

DBMS kiểm tra khóa định kỳ và nếu có bế tắc thì một trong các giao dịch sẽ bị hủy bỏ.

Công cụ khắc phục thảm họa

Một trong những yêu cầu chính đối với hệ thống thông tin hiện đại là độ tin cậy của việc lưu trữ dữ liệu. DBMS phải có khả năng khôi phục cơ sở dữ liệu sau bất kỳ lỗi phần cứng hoặc phần mềm nào. Có một nhật ký giao dịch cho việc này. Nguyên tắc phục hồi - kết quả của giao dịch trước khi thất bại phải được khôi phục, kết quả của giao dịch không được cam kết phải bị xóa.

Nếu nội dung của bộ nhớ ngoài bị phá hủy về mặt vật lý thì việc lưu trữ dữ liệu trùng lặp sẽ được triển khai để loại bỏ điều này.

    OLTP(xử lý giao dịch thời gian thực) có liên quan đến hoạt động của một hệ thống cụ thể. OLTP được đặc trưng bởi một số lượng lớn các giao dịch trực tuyến ngắn (CHÈN, CẬP NHẬT, XÓA). Trọng tâm chính của hệ thống OLTP là xử lý truy vấn rất nhanh, đảm bảo tính toàn vẹn dữ liệu trong môi trường đa truy cập và hiệu quả được đo bằng số giao dịch mỗi giây. Cơ sở dữ liệu OLTP có dữ liệu chi tiết và hiện tại, đồng thời lược đồ được sử dụng để lưu trữ cơ sở dữ liệu giao dịch là một mô hình thực thể (thường là 3NF). Nó bao gồm các Truy vấn được liên kết với một bản ghi riêng lẻ, chẳng hạn như "Cập nhật email" trong cơ sở dữ liệu của công ty.

    OLAP(xử lý phân tích trực tuyến) xử lý dữ liệu lịch sử hoặc dữ liệu lưu trữ. OLAP được đặc trưng bởi khối lượng giao dịch tương đối thấp. Các truy vấn thường rất phức tạp và liên quan đến việc tổng hợp. Đối với hệ thống OLAP, thời gian phản hồi là chỉ báo hiệu suất. Các ứng dụng OLAP được sử dụng rộng rãi bởi các kỹ thuật khai thác dữ liệu. Cơ sở dữ liệu OLAP lưu trữ dữ liệu lịch sử tổng hợp được lưu trữ trong các lược đồ đa chiều (thường là lược đồ hình sao). Đôi khi một truy vấn cần truy cập nhiều dữ liệu trong hồ sơ quản lý, chẳng hạn như lợi nhuận của công ty bạn năm ngoái là bao nhiêu.

    Câu trả lời rất ngắn gọn:

    Cơ sở dữ liệu khác nhau có cách sử dụng khác nhau. Tôi không phải là chuyên gia về cơ sở dữ liệu. Khi nghi ngờ, tôi chỉ sử dụng SQL.

    Câu trả lời ngắn:

    Hãy xem xét hai tình huống ví dụ:

    Cảnh 1:

    Bạn đang xây dựng một cửa hàng/trang web trực tuyến và muốn có thể:

    • lưu trữ dữ liệu người dùng, mật khẩu, giao dịch trước đó...
    • lưu trữ các sản phẩm hiện tại và giá liên quan của chúng.

    Bạn muốn tìm dữ liệu cho một người dùng cụ thể, thay đổi tên của anh ta... Về cơ bản thực hiện các thao tác INSERT, UPDATE, DELETE trên dữ liệu người dùng. Tương tự với các sản phẩm, v.v.

    Bạn muốn có thể thực hiện các giao dịch, có thể liên quan đến việc người dùng mua sản phẩm (đó là mối quan hệ). Sau đó, OLTP có thể phù hợp (nghĩ SQL RDBMS).

    Kịch bản 2:

    Bạn có một cửa hàng/trang web trực tuyến và bạn muốn tính toán những thứ như

    • "tổng số tiền chi tiêu cho tất cả người dùng"
    • "sản phẩm bán chạy nhất là gì"

    Đây là lĩnh vực phân tích/kinh doanh thông minh nên OLAP có lẽ phù hợp hơn.

    Nếu bạn đang nghĩ theo kiểu "Sẽ thật tuyệt nếu biết làm thế nào/cái gì/bao nhiêu"... và bao gồm toàn bộ "đối tượng" thuộc một hoặc nhiều loại (như tất cả người dùng và hầu hết các sản phẩm để biết số tiền đã được tổng chi tiêu), thì OLAP có lẽ phù hợp hơn.

    Câu trả lời dài hơn:

    Tất nhiên, nó không đơn giản như vậy. Vì vậy chúng ta phải đặt các thẻ nhỏ như OLTP và OLAP trước. Mỗi cơ sở dữ liệu phải được đánh giá độc lập vào cuối.

    Vậy đâu là điểm khác biệt cơ bản giữa OLAP và OLTP?

    Cơ sở dữ liệu tốt phải lưu trữ dữ liệu ở đâu đó. Không có gì đáng ngạc nhiên, cách lưu trữ dữ liệu phần lớn phản ánh khả năng sử dụng cơ sở dữ liệu nói trên. Dữ liệu thường được lưu trữ trên ổ cứng. Hãy coi ổ cứng là mảnh giấy lớn nhất mà chúng ta có thể đọc và ghi. Có hai cách để sắp xếp việc đọc và viết của chúng ta sao cho hiệu quả và nhanh chóng.

    Một trong những phương pháp- làm một cuốn sách giống như một cuốn danh bạ điện thoại. Trên mỗi trang của cuốn sách, chúng tôi lưu trữ thông tin về một người dùng cụ thể. Bây giờ thật tuyệt, chúng ta có thể dễ dàng tìm thấy thông tin cho một người dùng cụ thể! Chỉ cần vào trang! Chúng tôi thậm chí có thể có một trang đặc biệt ngay từ đầu để cho chúng tôi biết người dùng đang ở trang nào nếu chúng tôi muốn. Nhưng mặt khác, nếu chúng tôi muốn tìm, chẳng hạn như tất cả người dùng của chúng tôi đã chi bao nhiêu tiền, thì chúng tôi sẽ phải đọc từng trang, tức là. toàn bộ cuốn sách! Đây sẽ là sổ làm việc/cơ sở dữ liệu dựa trên hàng (OLTP). Trang tùy chọn ở đầu sẽ là chỉ mục.

    Cách khác dùng một tờ giấy lớn - làm sổ kế toán. Tôi không phải là kế toán, nhưng hãy tưởng tượng nếu chúng ta có một trang dành cho "chi phí", "mua hàng"... Điều này thật tốt vì bây giờ chúng ta có thể truy vấn rất nhanh những thứ như "cung cấp cho tôi tổng thu nhập" (chỉ cần đọc "mua hàng" " "). Chúng ta cũng có thể yêu cầu những điều thú vị hơn như "bán cho tôi mười sản phẩm" mà vẫn đạt hiệu suất chấp nhận được. Nhưng bây giờ hãy nghĩ xem việc tìm chi phí cho một người dùng cụ thể sẽ khó khăn biết bao. Bạn sẽ phải xem qua toàn bộ danh sách của tất cả các chi phí và lọc dữ liệu của người dùng cụ thể đó rồi tóm tắt nó. Về cơ bản nó có nghĩa là "đọc toàn bộ sổ làm việc". Nó sẽ là một cơ sở dữ liệu dựa trên cột (OLAP).

    Nó theo sau đó:

    • Cơ sở dữ liệu
    • OLTP được thiết kế để sử dụng cho nhiều giao dịch nhỏ và thường đóng vai trò là "nguồn thông tin xác thực duy nhất".

      Mặt khác, cơ sở dữ liệu

      OLAP phù hợp hơn cho việc phân tích, khai thác dữ liệu, ít truy vấn hơn nhưng thường lớn hơn (chúng hoạt động với nhiều dữ liệu hơn).

    Tất nhiên, nó liên quan nhiều hơn thế một chút và đó là cái nhìn tổng quan dài 20.000 foot về sự khác biệt của các cơ sở dữ liệu, nhưng nó giúp tôi không bị lạc trong biển từ viết tắt.

    Nói về từ viết tắt:

    Sự khác biệt khá đơn giản.

    OLTP (xử lý giao dịch trực tuyến).

    OLTP là một lớp hệ thống thông tin hỗ trợ và quản lý các ứng dụng giao dịch. OLTP cũng đã được sử dụng để xử lý địa chỉ trong đó hệ thống phản hồi ngay lập tức các yêu cầu của người dùng. Các ứng dụng xử lý giao dịch Internet có thông lượng cao và đầu vào hoặc cập nhật chuyên sâu trong quản lý cơ sở dữ liệu. Một số ví dụ về hệ thống OLTP bao gồm nhập đơn hàng, bán lẻ và hệ thống giao dịch tài chính.

    OLAP (xử lý phân tích trực tuyến)

    OLAP là một phần của danh mục thông tin kinh doanh rộng hơn, bao gồm cơ sở dữ liệu quan hệ, báo cáo và khai thác dữ liệu. Các ứng dụng OLAP điển hình bao gồm báo cáo kinh doanh về bán hàng, tiếp thị, báo cáo quản lý, quản lý quy trình kinh doanh (BPM), lập ngân sách và dự báo, báo cáo tài chính và các lĩnh vực tương tự.

    OLTP ( N- L tôi T tiền chuộc P xử lý) so với OLAP ( N- L tôi MỘT phân tích P)p>

    Chúng ta có thể chia hệ thống CNTT thành các hệ thống giao dịch ( OLTP) và phân tích ( OLAP). Nói chung, có thể giả định rằng OLTP hệ thống cung cấp dữ liệu đầu vào cho kho dữ liệu, trong khi hệ thống OLAP giúp phân tích nó.

    Bảng sau đây tóm tắt những khác biệt chính giữa thiết kế hệ thống OLTP và OLAP.