Hệ thống xử lý giao dịch công nghệ OLTP và OLAP. Thực hành triển khai các hệ thống OLTP phức tạp

Kho dữ liệuđược hình thành trên cơ sở ảnh chụp nhanh của cơ sở dữ liệu hoạt động được ghi lại trong một khoảng thời gian dài hệ thống thông tin và có thể có nhiều nguồn bên ngoài khác nhau. Kho dữ liệu sử dụng công nghệ cơ sở dữ liệu, OLAP, phân tích dữ liệu sâu và trực quan hóa dữ liệu.

Các đặc điểm chính của kho dữ liệu

  • chứa dữ liệu lịch sử;
  • lưu trữ thông tin chi tiết, cũng như dữ liệu tóm tắt một phần và toàn bộ;
  • dữ liệu chủ yếu là tĩnh;
  • một cách xử lý dữ liệu đặc biệt, không có cấu trúc và theo kinh nghiệm;
  • cường độ xử lý giao dịch trung bình và thấp;
  • cách sử dụng dữ liệu không thể đoán trước;
  • dành cho phân tích;
  • tập trung vào Các môn học;
  • hỗ trợ cho việc ra quyết định chiến lược;
  • phục vụ một số lượng tương đối nhỏ các nhân viên quản lý.

Thuật ngữ OLAP (Xử lý phân tích trực tuyến) được sử dụng để mô tả mô hình trình bày dữ liệu và theo đó là công nghệ xử lý dữ liệu đó trong kho dữ liệu. 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:

  • đa chiều Trình bày dữ liệ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:

  • khuyến mãi năng suất nhân viên sản xuất, 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, nhận dữ liệu hiện tại từ chúng, cho phép lưu kiểm soát tính toàn vẹn dữ liệu của công ty.
  • giảm tải cho hệ thống OLTP và Kho dữ liệu.

OLAP và OLTP. Đặc điểm và sự khác biệt chính

OLAP OLTP
Kho dữ liệu nên 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 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 để đáp ứng các yêu cầu đặ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 tổng hợp (tổng, tối thiểu, tối đa, giá trị trung bình vân vân.) 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, thông thường là đủ bảo vệ thông tinở cấp độ bảng

Quy tắc Codd cho hệ thống OLAP

Năm 1993, Codd xuất bản OLAP dành cho các nhà phân tích người dùng: Nó nên là gì. Trong đó, ông phác thảo các khái niệm cơ bản về phân tích trực tuyến và xác định 12 quy tắc mà các sản phẩm cung cấp khả năng phân tích trực tuyến phải đáp ứng.

  1. Biểu diễn đa chiều khái niệm. Cốt lõi của mô hình OLAP phải là đa chiều. Sơ đồ khái niệm đa chiều hoặc biểu diễn tùy chỉnh tạo điều kiện thuận lợi cho việc mô hình hóa và phân tích cũng như tính toán.
  2. Minh bạch. Người dùng có thể lấy tất cả dữ liệu cần thiết từ công cụ OLAP mà không cần biết nó đến từ đâu. Bất kể sản phẩm OLAP có phải là một phần của công cụ của người dùng hay không, thực tế này sẽ không được hiển thị đối với người dùng. Nếu OLAP được cung cấp bởi tính toán máy khách-máy chủ thì thực tế này, nếu có thể, cũng sẽ không được hiển thị đối với người dùng. OLAP phải được cung cấp trong bối cảnh kiến ​​trúc mở thực sự, cho phép người dùng, dù ở bất cứ đâu, giao tiếp thông qua một công cụ phân tích với máy chủ. Ngoài ra, cần đạt được tính minh bạch khi công cụ phân tích tương tác với môi trường cơ sở dữ liệu đồng nhất và không đồng nhất.
  3. Khả dụng. OLAP phải cung cấp mạch logicđể truy cập trong môi trường cơ sở dữ liệu không đồng nhất và thực hiện các phép biến đổi thích hợp để cung cấp dữ liệu cho người dùng. Hơn nữa, cần phải quan tâm trước về địa điểm, cách thức và loại tổ chức dữ liệu vật lý nào sẽ thực sự được sử dụng. Hệ thống OLAP chỉ nên truy cập dữ liệu thực sự cần thiết và không áp dụng nguyên tắc "phễu nhà bếp" chung đòi hỏi đầu vào không cần thiết.
  4. Không thay đổi hiệu suất khi phát triển các báo cáo. Hiệu suất khả năng tạo báo cáo sẽ không giảm đáng kể khi số thứ nguyên và kích thước cơ sở dữ liệu tăng lên.
  5. Kiến trúc máy khách-máy chủ. Nó yêu cầu sản phẩm không chỉ là máy khách-máy chủ mà còn thành phần máy chủ phải đủ thông minh để cho phép các máy khách khác nhau kết nối với nỗ lực và lập trình tối thiểu.
  6. Tính đa chiều chung. Tất cả các chiều phải bằng nhau, mỗi chiều phải tương đương về cả cấu trúc và năng lực vận hành. Đúng là các khả năng hoạt động bổ sung được phép cho các kích thước riêng lẻ (có lẽ là ngụ ý về thời gian), nhưng chức năng bổ sung đó phải được cung cấp cho bất kỳ kích thước nào. Cơ bản không nên như vậy cấu trúc dữ liệu, các định dạng tính toán hoặc báo cáo cụ thể hơn cho một chiều.
  7. Kiểm soát động ma trận thưa thớt. Các hệ thống OLAP phải tự động điều chỉnh lược đồ vật lý của chúng tùy thuộc vào loại mô hình, khối lượng dữ liệu và độ thưa thớt của cơ sở dữ liệu.
  8. Hỗ trợ nhiều người dùng. Một công cụ OLAP phải cung cấp khả năng chia sẻ(truy vấn và hoàn thành), tính toàn vẹn và bảo mật.
  9. Hoạt động chéo không giới hạn. Tất cả các loại hoạt động phải được cho phép đối với bất kỳ phép đo nào.
  10. Thao tác dữ liệu trực quan. Thao tác dữ liệu được thực hiện thông qua các hành động trực tiếp trên các ô ở chế độ xem mà không cần sử dụng menu và nhiều thao tác.
  11. Tùy chọn báo cáo linh hoạt. Thứ nguyên phải được đặt trong báo cáo theo cách người dùng cần.
  12. Vô hạn

Xử lý giao dịch trực tuyến (OnLine Transaction Treatment - OLTP) là phương tiện tương tác quan trọng nhất với thông tin nằm bên trong phần cứng thông minh. Trong khi đó, việc xây dựng các hệ thống OLTP phức tạp, hiệu suất cao không phải là một nhiệm vụ dễ dàng. Sự đa dạng của công nghệ và xu hướng thời trang thường khiến nhà phát triển bối rối khi lựa chọn một giải pháp cụ thể hoặc buộc họ phải “kéo dài” các công nghệ đã biết cho nhiệm vụ trước mắt, điều này đôi khi dẫn đến kết quả khó lường. Khi một số nền tảng xuất hiện trong một dự án, nhiệm vụ trở nên khó khăn hơn nhiều.

Từ quan điểm của các nhiệm vụ được áp dụng, bất kỳ hệ thống tương tác nào cũng có ba cấp độ chính: lưu trữ dữ liệu; logic ứng dụng; trình bày (giao diện người dùng cuối). Theo đó, từ quan điểm triển khai, hệ thống có thể bao gồm máy chủ dữ liệu, máy chủ logic ứng dụng (máy chủ ứng dụng) và một bộ giao diện để trình bày thông tin cho người dùng cuối. Theo quy định, DBMS kiểu SQL, cấu trúc tệp hoặc nguồn dữ liệu đặc biệt được sử dụng làm cơ sở cho máy chủ dữ liệu. Với các hình thức giao diện, mọi thứ cũng rõ ràng: bạn có thể triển khai các giao diện đồ họa, văn bản “màn hình xanh”, giao diện Web, v.v. Nhưng vấn đề triển khai một máy chủ ứng dụng không đơn giản như thoạt nhìn. Nếu bạn nhìn vào việc triển khai các hệ thống hiện có trong nước, có thể xác định được hai xu hướng:

  • logic được đặt cùng với các giao diện (máy khách “dày”);
  • logic được đặt ở phía máy chủ dữ liệu (phổ biến hơn nhiều).

Trong trường hợp sau, theo quy định, các DBMS kiểu SQL được sử dụng, được trang bị một số chức năng hỗ trợ máy chủ ứng dụng dưới dạng cơ chế thủ tục được lưu trữ. Khi được triển khai, sơ đồ ba tầng sẽ được chuyển thành kiến ​​trúc máy khách-máy chủ hai tầng. Đối với các hệ thống nhỏ thì đây là một giải pháp hoàn toàn có thể chấp nhận được, nhưng kiến ​​trúc này có một số nhược điểm, bao gồm khả năng mở rộng hạn chế. Việc triển khai nó, ngay cả trên nền tảng lớp S/390 mạnh mẽ, cho phép đạt được hiệu suất cao nhất không quá 200 giao dịch mỗi giây.

Trong một số triển khai, các nhà phát triển tách máy chủ ứng dụng thành một thành phần riêng biệt. Nhưng những triển khai này, theo quy luật, chỉ đại diện cho một tập hợp các chương trình ứng dụng không dựa vào bất kỳ dịch vụ đặc biệt nào mà sử dụng các cơ chế hệ điều hành tiêu chuẩn, nói chung, không đưa hệ thống lên một mức chất lượng khác so với hai -kiến trúc tầng. Điều này đúng với hầu hết mọi nền tảng, ngoại trừ AS/400 và VM/ESA, nơi bản thân hệ điều hành là máy chủ giao dịch. Trên các nền tảng khác, chức năng tương tự chỉ có thể đạt được bằng cách sử dụng các sản phẩm đặc biệt bổ sung, trong số những sản phẩm khác sẽ được thảo luận trong bài viết này.

Khảm công nghệ

Bắt đầu với nền tảng PC, sử dụng công nghệ Borland và Microsoft trong giai đoạn đầu, công ty chúng tôi đã triển khai một số dự án theo kiến ​​trúc hai tầng. Khi quy mô của các dự án tăng lên và bao gồm một số nền tảng, câu hỏi đặt ra là tìm kiếm và tối ưu hóa các công nghệ được sử dụng để xây dựng hệ thống với các đặc tính tiêu dùng cần thiết.

Sau khi thử nghiệm nhiều công nghệ và công cụ khác nhau, chúng tôi đã chọn các công nghệ của IBM, nơi cung cấp nhiều giải pháp phần cứng và phần mềm mở. Xét rằng chúng tôi triển khai các dự án OLTP cho những khách hàng thường sử dụng công nghệ của Microsoft, Oracle và các công ty khác, khả năng chia sẻ giải pháp từ IBM và các nhà cung cấp thay thế là rất hữu ích (Hình 1).

Để triển khai các vấn đề hệ thống đặc biệt tinh tế, chúng tôi cũng sử dụng lập trình bằng C++ hoặc Cobol, nhưng việc này chiếm không quá 1-2% tổng khối lượng công việc.

Giám sát giao dịch CICS của IBM

Trình giám sát giao dịch CICS (Hệ thống kiểm soát thông tin tùy chỉnh), có lịch sử phong phú, đã trở thành công ty dẫn đầu trong lĩnh vực của mình sau hơn 30 năm tồn tại. Middleware là xương sống đáng tin cậy để xây dựng hệ thống OLTP.

Trình giám sát giao dịch là một sản phẩm khá phức tạp cung cấp chức năng giám sát tính toàn vẹn dữ liệu khi thực hiện các thao tác. Một hệ thống OLTP phức tạp có thể có một số nguồn dữ liệu (DBMS, tệp, v.v.); Trình giám sát giao dịch cho phép chương trình ứng dụng hoạt động đồng thời với chúng và thay đổi trạng thái của chúng. Hơn nữa, nếu trong khuôn khổ giao dịch, ít nhất một nguồn dữ liệu không được chuyển sang trạng thái tiếp theo thì các nguồn còn lại sẽ được trả về trạng thái trước khi bắt đầu giao dịch. Điều này đảm bảo tính toàn vẹn của dữ liệu và ngăn chặn sự không nhất quán của dữ liệu trong các nguồn. Dịch vụ này không có sẵn trên hầu hết các hệ điều hành. Trong trường hợp này, nguồn dữ liệu có thể là cục bộ hoặc phân tán, nằm trên nhiều máy chủ và nền tảng khác nhau. Nếu hệ thống sử dụng trình giám sát giao dịch thì nhà phát triển sẽ không phải trả chi phí đáng kể để hỗ trợ các chức năng giám sát tính toàn vẹn ở cấp logic ứng dụng.

Được triển khai trên hầu hết tất cả các nền tảng chính, CICS cho phép bạn xây dựng một môi trường giao dịch phức tạp, phân tán và không đồng nhất. CICS sử dụng giao diện X/Open XA để giao tiếp với các trình quản lý tài nguyên khác nhau và giao diện với các sản phẩm từ các nhà cung cấp DBMS lớn. Việc sử dụng trình giám sát giao dịch giúp hệ thống có khả năng mở rộng cao hơn so với các giải pháp đặt DBMS làm trung tâm. Do đó, dựa trên các phiên bản tiêu chuẩn của CICS, có thể xây dựng các hệ thống có hiệu suất cao nhất là 500 giao dịch mỗi giây và với sự trợ giúp của các phiên bản đặc biệt (ví dụ: phần mềm Cơ sở xử lý giao dịch, được sử dụng trong hệ thống đặt vé máy bay trực tuyến) và với tải đỉnh cao hơn.

Lưu ý rằng TPC, các thử nghiệm trong ngành về hiệu suất DBMS cao nhất ( www.tpc.org), được thực hiện bằng cách sử dụng màn hình giao dịch, cho phép bạn có được các chỉ báo tốt nhất. Tại sao? Trình giám sát giao dịch đóng vai trò là “bộ tăng áp” cho DBMS, trong số những thứ khác, giúp tăng tốc việc thực hiện các truy vấn SQL do các tính năng thiết kế của cả lõi của nó và giao diện với DBMS (giao diện trong máy khách hai tầng- kiến trúc máy chủ rất hạn chế về hiệu suất). Điều này cho phép bạn giảm thiểu thời gian cần thiết để gửi yêu cầu trước khi nó được nhân DBMS xử lý. Ngoài ra, trình giám sát giao dịch giải quyết vấn đề cân bằng tải tốt hơn DBMS.

CICS hỗ trợ năm loại tương tác cấp cao giữa các máy chủ, có thể được tổ chức trên bất kỳ giao thức mạng nào (TCP/IP, SNA, NetBIOS, v.v.).

  • Chức năng vận chuyển (FS). Sửa đổi nguồn dữ liệu (tệp) ở xa máy chủ CICS cục bộ. Khi một giao dịch trên máy chủ CICS cục bộ truy cập vào một nguồn như vậy, nó sẽ tự động chuyển hướng yêu cầu đến máy chủ sở hữu nguồn dữ liệu đó. Tính toàn vẹn dữ liệu được đảm bảo trong trường hợp có bất kỳ lỗi nào.
  • Định tuyến giao dịch (TR). Chuyển hướng cuộc gọi giao dịch giữa các máy chủ CICS. Bạn có thể "di chuyển" một giao dịch từ máy chủ này sang máy chủ khác và chỉ cần xác định lại tham chiếu trên máy chủ CICS mà không cần thay đổi mã chương trình.
  • Xử lý không đồng bộ (AP). Chạy giao dịch không đồng bộ trên máy chủ CICS khác. Giao dịch mới bắt đầu “tự hoạt động” và quyền kiểm soát ngay lập tức quay trở lại giao dịch đang gọi.
  • Liên kết chương trình phân tán (DPL). Gọi một giao dịch từ xa và trả lại quyền kiểm soát sau khi giao dịch được gọi kết thúc. Kiểu tương tác này trong các hệ thống ứng dụng được sử dụng thường xuyên nhất.
  • Xử lý giao dịch phân tán (DTP).Đối thoại trực tuyến giữa hai giao dịch chạy trên các máy chủ CICS khác nhau. Từ quan điểm phát triển và gỡ lỗi, đây là loại tương tác kỳ lạ và phức tạp nhất.

Tất cả các loại tương tác được liệt kê đều đồng bộ: các bên phải hoạt động tại thời điểm thực hiện. Điều này không phải lúc nào cũng thuận tiện trong trường hợp hệ thống phân tán có khả năng liên lạc kém. Để giải quyết vấn đề này cần sử dụng phần mềm có kiểu tương tác không đồng bộ, điển hình là MQSeries.

Máy chủ xếp hàng giao dịch MQSeries

Khái niệm đằng sau phần mềm trung gian MOM, cụ thể là MQSeries, khá đơn giản. Ứng dụng xếp hàng một số cấu trúc dữ liệu (tin nhắn) trên máy chủ MQSeries cục bộ và thoát. Tin nhắn được lưu trữ từ hàng đợi cục bộ được tác nhân kênh MQSeries gửi đến máy chủ MQSeries từ xa và được lưu trữ ở đó trong hàng đợi đầu vào. Trong trường hợp này, tin nhắn sẽ bị xóa khỏi hàng đợi cục bộ. MQSeries đảm bảo việc truyền tải giao dịch - tin nhắn sẽ không bị mất hoặc được truyền hai lần (đây là ưu điểm chính so với các hệ thống thư thường được sử dụng để thực hiện các chức năng xử lý phân tán). Sau khi nhận được tin nhắn trên máy chủ từ xa, chương trình ứng dụng có thể đọc nó bất cứ lúc nào thuận tiện và thực hiện các hành động cần thiết; Cho đến khi ứng dụng đọc được tin nhắn này, nó sẽ được lưu trữ trong MQSeries.

MQSeries có thể được kết nối với màn hình giao dịch CICS cùng với DBMS. Trong trường hợp này, CICS đóng vai trò là điều phối viên giao dịch bên ngoài (Điều phối viên giao dịch bên ngoài - ETC), giúp loại bỏ các tình huống do lỗi nào đó, dữ liệu trong DBMS đã bị thay đổi và tin nhắn không được gửi hoặc ngược lại - dữ liệu đã bị thay đổi không thay đổi, nhưng thông báo thay đổi đã được gửi đi. Điều này cuối cùng dẫn đến tình trạng dữ liệu không khớp trên các nút phân tán của hệ thống OLTP. Sử dụng màn hình giao dịch cho phép bạn tránh những tình huống như vậy.

Dẫn đầu thị trường MOM (hơn 70%), MQSeries bổ sung cho CICS khả năng xây dựng môi trường giao dịch phân tán không đồng nhất phức tạp với kiểu tương tác không đồng bộ.

Cơ sở dữ liệu phổ quát DB2

DB2 là DBMS hàng đầu của IBM. Việc sử dụng nó làm nền tảng của máy chủ dữ liệu cho các hệ thống OLTP giúp thực hiện xử lý và lưu trữ dữ liệu phức tạp trên các mảng lớn. Các chức năng này được chuyển đến máy chủ dữ liệu, giải phóng máy chủ ứng dụng. Nhưng nếu bạn cần tạo một hệ thống trong đó việc lưu trữ và xử lý dữ liệu không phức tạp lắm đồng thời đặt ra các yêu cầu về hiệu suất và giảm thiểu tài nguyên (mã hạt nhân DBMS yêu cầu tài nguyên đáng kể), thì bạn có thể sử dụng cấu trúc tệp được kết nối với CICS máy chủ giao dịch. Ví dụ, nhiều hệ thống OLTP lớn nổi tiếng của phương Tây dành cho máy tính lớn S/390 được xây dựng trên cơ sở CICS và VSAM.

Máy chủ ứng dụng WebSphere

Dòng sản phẩm phần mềm WebSphere Application Server bao gồm ba phiên bản - Tiêu chuẩn, Nâng cao và Doanh nghiệp. Nếu chúng ta nói về hỗ trợ giao dịch, thì phiên bản Tiêu chuẩn không có dịch vụ này, phiên bản Nâng cao hỗ trợ Dịch vụ giao dịch Java (JTS), cũng như các thông số kỹ thuật của JavaBeans dành cho doanh nghiệp và phiên bản Doanh nghiệp chứa các trình kết nối đặc biệt để tương tác với “tất cả các bánh xe”. thúc đẩy các hệ thống giao dịch như CICS.

Khi nói về WebSphere, chúng thường chỉ muốn nói đến thành phần Internet của sản phẩm này - Máy chủ ứng dụng, một máy chủ ứng dụng đa nền tảng mạnh mẽ hỗ trợ hầu hết tất cả các thông số kỹ thuật và giao thức đã biết.

Trong các dự án thực tế, chúng tôi tránh lập trình logic nghiệp vụ bằng ngôn ngữ Java, vì việc triển khai máy chủ ứng dụng, chẳng hạn như ở định dạng Enterprise JavaBeans, dẫn đến giảm đáng kể hiệu suất ứng dụng và buộc phải phát triển bằng ngôn ngữ thế hệ thứ ba, điều này ít hơn hiệu quả so với bộ công cụ VisualAge Generator. Tuy nhiên, việc sử dụng trình duyệt Web tại nơi làm việc mang lại những lợi ích nhất định cho các hệ thống tương tác: không cần phải trả tiền cho các giấy phép bổ sung cho máy khách; có thể hiển thị thông tin đồ họa; không cần phải sao chép ứng dụng qua các vị trí của khách hàng.

Việc kết nối trình duyệt với các hệ thống phụ trợ mạnh mẽ yêu cầu sử dụng máy chủ Internet. Máy chủ ứng dụng WebSphere có thể được coi là một loại bộ điều hợp cho phép mã từ trình duyệt, thông qua lệnh gọi servlet, truy cập vào giao dịch trong CICS và trả kết quả về trình duyệt, tạo trang HTML ngoại vi một cách nhanh chóng.

Lưu ý rằng OS/390 hỗ trợ giao diện Hỗ trợ Web CICS, qua đó trình duyệt có thể kết nối trực tiếp với máy chủ CICS. Nhưng để thống nhất kiến ​​trúc trên các nền tảng và do công cụ phát triển ứng dụng VisualAge Generator xây dựng các hệ thống bằng Máy chủ ứng dụng WebSphere, chúng tôi cũng đang sử dụng sản phẩm đó trên S/390. Điều này giúp giải quyết vấn đề chuyển mã của các ứng dụng đó giữa các nền tảng.

Phát triển trên VisualAge Generator

VisualAge Generator là một công cụ phát triển ứng dụng nhanh chóng. Sản phẩm này chính là “chất keo” cho phép bạn kết hợp khá đơn giản tất cả các công nghệ nêu trên vào một bức tranh duy nhất.

Các công cụ phát triển được sử dụng rộng rãi thường hỗ trợ chu trình tạo ứng dụng cổ điển. Đối với bất kỳ thay đổi nào trong mã nguồn, cần phải thực hiện lại toàn bộ chu trình, việc này đòi hỏi một lượng thời gian đáng kể. Ngoài ra, ngay từ khi bắt đầu phát triển, bạn cần phải có một nền tảng đích để chạy và gỡ lỗi mã thời gian chạy, điều này sẽ làm phức tạp và làm chậm quá trình gỡ lỗi logic ứng dụng (Hình 2).

Chu trình phát triển ứng dụng sử dụng VisualAge Generator trông hơi khác một chút (Hình 3). Môi trường phát triển này dựa trên Máy ảo vạn năng (UVM), là nền tảng cho các môi trường phát triển như VisualAge cho Smalltalk và VisualAge cho Java, trên đó có cài đặt VisualAge Generator.

Để chạy và gỡ lỗi ứng dụng, không cần phải biên dịch và xây dựng ứng dụng. Để gỡ lỗi hoạt động của các dạng logic và giao diện, họ sử dụng chu trình “nhỏ” (hoạt động 1 và 2), giúp giảm thời gian phát triển và không yêu cầu nền tảng đích. Trong chu trình này, 80-90% công việc được hoàn thành và bạn có thể thực hiện bằng máy tính có Windows NT hoặc OS/2, có thể cài đặt VisualAge Generator Developer.

Sau khi ứng dụng được gỡ lỗi, bạn có thể chuyển sang tạo mã thời gian chạy cho cả nền tảng máy chủ và máy khách. Trong trường hợp này, nền tảng đích chỉ cần thiết tại thời điểm thực hiện thao tác 3. Tôi lưu ý rằng mặc dù VisualAge Generator có thể tạo các ứng dụng thuộc bất kỳ kiến ​​​​trúc nào, mục đích chính của nó là phát triển các hệ thống đa cấp với sự phân tách rõ ràng giữa máy chủ dữ liệu , máy chủ ứng dụng và lớp trình bày. Các giao diện đồ họa, văn bản và dựa trên Web được hỗ trợ dưới dạng giao diện máy khách. Chu kỳ tạo mã máy khách thực thi ngắn hơn nhiều so với các thành phần máy chủ. Trên thực tế, thế hệ này được thực hiện trong một bước, do đó tất cả các thành phần cần thiết được tạo ra để chạy ứng dụng ở phía máy khách.

Hơn 20 nền tảng được hỗ trợ làm nền tảng đích cho máy chủ ứng dụng, bao gồm CICS và MQSeries. Khi mã thời gian chạy của máy chủ đã được tạo, nó có thể được gỡ lỗi từ bên trong môi trường VisualAge Generator, tức là. kiểm tra chức năng của mã cuối cùng (một vòng lặp lớn các hoạt động 3, 4, 5, 6).

VisualAge Generator không bao gồm các công cụ để phát triển và lập trình máy chủ dữ liệu, chẳng hạn như DBMS. Tuy nhiên, với cấu trúc cơ sở dữ liệu được tạo sẵn, bạn có thể tự động tạo toàn bộ cấu trúc ứng dụng, bao gồm các thành phần máy chủ và máy khách, bằng cách sử dụng công cụ Mẫu trình tạo VisualAge (VAGT), được bao gồm trong bản phân phối. Bằng cách xác định trước một số điều kiện, bạn có thể tự động tạo gần như toàn bộ cơ sở hạ tầng ứng dụng, chiếm tới 80% công việc lập trình. Điều này giúp nhà phát triển không phải tạo các thành phần theo cách thủ công như chương trình máy chủ, quy trình, đối tượng kinh doanh, thành phần biểu mẫu, trình xử lý ngoại lệ, v.v. Xét rằng trong các dự án thực tế có hàng trăm, hàng nghìn phần tử như vậy, VAGT giảm đáng kể thời gian tạo mã ứng dụng. Tiếp theo, bạn chỉ cần điền vào các ứng dụng logic nghiệp vụ phù hợp, được viết bằng ngôn ngữ 4GL.

“Khái quát hóa tổng thể”

Trong bộ lễ phục. Hình 4 cho thấy kiến ​​trúc chung của hệ thống OLTP phân tán, dựa trên các công nghệ được mô tả.

Cơ sở của hệ thống là CICS (ví dụ: CICS A trên nền tảng Windows NT, CICS B trên nền tảng S/390). Hai máy chủ giao dịch này có thể tương tác cả đồng bộ (TR, AC, FS, DPL, DTP) và không đồng bộ thông qua MQSeries (trình quản lý MQ1 và MQ2 cho các nền tảng tương ứng). Người quản lý hàng đợi được kết nối với máy chủ CICS tương ứng của họ thông qua giao diện XA. Ngoài ra, nhiều nguồn dữ liệu khác nhau được kết nối với máy chủ CICS (trên Windows NT - DB2 và/hoặc Oracle DBMS và Microsoft SQL Server, trên cấu trúc tệp S/390 - DB2 và VSAM, được xác định trong CICS thông qua Định nghĩa tài nguyên trực tuyến).

Máy chủ ứng dụng WebSphere (WSAS) hoạt động như một bộ chuyển đổi cuộc gọi từ máy khách Web sang hệ thống phụ trợ (giao dịch P1, P2, P3), được viết bằng VisualAge Generator.

Máy chủ VisualAge Generator (VAGen Srv) là một sản phẩm phụ thuộc vào nền tảng cần thiết để chạy các chương trình được phát triển trên VisualAge Generator.

Có thể kết nối trực tiếp tới CICS đối với các máy khách có giao diện người dùng dựa trên đồ họa hoặc văn bản. Trong trường hợp này, các chương trình P1, P2 trong CICS A có thể được định nghĩa là từ xa, sau đó các lệnh gọi của chúng trong CICS A sẽ được tự động chuyển hướng bằng phương thức TR sang CICS B và khởi chạy ở đó. P3 là giao dịch cục bộ trong CICS A có thể gửi tin nhắn đến CICS B thông qua MQSeries.

Phải nói rằng các phiên bản CICS như CICS A và CICS B (trong CICS chúng được chỉ định bằng thuật ngữ “khu vực”) có thể không chỉ được đặt trên các máy khác nhau mà còn trên cùng một máy chủ hoặc trong một cụm. Công việc của các khu vực bị cô lập và sự “sa ngã” của một khu vực không ảnh hưởng đến công việc của những khu vực khác. Điều này cũng mang lại lợi thế về khả năng mở rộng, cho phép phân chia nhiệm vụ giữa các khu vực về mặt chuyên môn. Cách tiếp cận này thường được thực hiện trên các hệ thống S/390, đặc biệt là trong các cụm Sysplex. Hệ thống thực có hàng trăm khu vực và hàng chục nghìn giao dịch.

Tuy nhiên, bản thân công nghệ nếu không có các công cụ thích hợp sẽ không mang lại “khí thải” như mong đợi. Giả sử CICS rất tốt, nhưng nếu bạn cố gắng triển khai một hệ thống bằng C++ hoặc Cobol, điều đó sẽ yêu cầu nhà phát triển logic nghiệp vụ phải có kiến ​​thức tốt về cả ngôn ngữ lập trình và API CICS, tương tự như API của hệ điều hành. Sẽ dành rất nhiều thời gian để tạo các thành phần cơ sở hạ tầng (mô tả chức năng, biến, v.v.) và gỡ lỗi một dự án như vậy. Nhưng nếu bạn sử dụng VisualAge Generator, nó sẽ giúp nhà phát triển logic nghiệp vụ không cần phải biết CICS, cho phép anh ta tập trung vào các nhiệm vụ trực tiếp của mình. Tất nhiên, để triển khai các dự án phức tạp, cần phải có kiến ​​​​thức về CICS, nhưng yêu cầu này không còn áp dụng cho tất cả các nhà phát triển mà dành cho hai hoặc ba chuyên gia chịu trách nhiệm về môi trường thời gian chạy ứng dụng.

Sự “kết hợp” giữa công nghệ và công cụ mang lại kết quả tối ưu; Việc xem xét các sản phẩm riêng lẻ bên ngoài bối cảnh ứng dụng hệ thống đối với các nhà phát triển các giải pháp phức tạp không đóng hộp không có nhiều ý nghĩa. Theo cách tương tự, việc đánh giá DBMS bên ngoài khuôn khổ vấn đề ứng dụng sẽ ít có tác dụng. Giả sử bạn là một fan hâm mộ lớn của Oracle. Nhưng điều gì sẽ xảy ra nếu khách hàng yêu cầu một ứng dụng cho nền tảng AS/400 mục tiêu? Hoặc bạn rất yêu thích DB2 nhưng hệ thống ứng dụng của khách hàng trên S/390 sử dụng VSAM và khách hàng hoàn toàn hài lòng, chỉ cần thay màn hình “xanh” bằng trình duyệt Web, chẳng hạn như: nó không chỉ hiển thị dữ liệu chữ và số.

Triển khai hệ thống OLTP cho Vneshtorgbank

Sự phức tạp của dự án này không nằm ở khối lượng mã viết (mã logic ứng dụng do khách hàng cung cấp), mà nằm ở kiến ​​thức về chiều sâu kỹ thuật vận hành của các cơ chế khác nhau của hệ thống giao dịch. Dự án này được đặc trưng bởi cả nền tảng và công nghệ đa dạng cũng như kiến ​​thức cần thiết về hoạt động của các cơ chế cụ thể cần thiết để tích hợp với một số gói ứng dụng làm sẵn.

S/390 được sử dụng làm nút trung tâm của hệ thống OLTP; có thể sử dụng cụm Sysplex. Với tư cách là một “cỗ máy ngân hàng”, một gói từ Altel được sử dụng, triển khai trên cơ sở CICS TS, VSAM và có giao diện “xanh” ở định dạng 3270. Ngoài nút trung tâm, ngân hàng còn có vài chục nút ngoại vi sử dụng máy chủ AS/400 và Windows NT (Hình 5).

Tương tác máy chủ được thực hiện thông qua MQSeries. Để tách biệt các nhà phát triển logic ứng dụng khỏi các cơ chế gọi giao dịch từ các quy trình máy chủ được viết bằng 4GL trong VisualAge Generator, một phương pháp và một bộ chương trình đã được sử dụng để họ có thể truy cập các chức năng từ 4GL. Trong nỗ lực thống nhất các giao diện truy cập dữ liệu và giảm chi phí tại nơi làm việc, khách hàng đưa ra yêu cầu sử dụng giao diện Web. Đồng thời, công việc thông qua trình duyệt Web không nên được thực hiện trên cơ sở một đối một, như thông qua thiết bị đầu cuối 3270, mà thông qua một trang HTML được tạo bởi một số màn hình 3270. Đồng thời, cần phải đảm bảo khả năng tương thích với hệ thống an ninh. Tất cả điều này đã dẫn đến một số vấn đề cần phải được giải quyết một cách tổng thể.

Vấn đề số 1.Để gọi giao dịch CICS hoạt động trên màn hình xanh, giao thức Giao diện trình bày bên ngoài (EPI) chạy trên luồng 3270. Khi giao dịch như vậy được gọi, CICS sử dụng thiết bị đầu cuối, cấu trúc xác định kết nối và là thuộc tính chính cho sự giao dịch. Do đó, cấu trúc này chứa trường TERMID (định danh thiết bị đầu cuối) gồm bốn ký tự, được các giao dịch sử dụng cho hệ thống bảo mật của riêng họ. Loại kết nối này được gọi là kết nối đầu cuối trong CICS.

Tuy nhiên, kết nối được xây dựng cho hoạt động của trình duyệt Web KHÔNG phải là thiết bị đầu cuối, tức là KHÔNG có cấu trúc như vậy cho kết nối này (theo cách hiểu của giao dịch 3270), điều này sẽ ngay lập tức dẫn đến giao dịch không thành công.

Để gọi 3270 giao dịch từ các kết nối không phải thiết bị đầu cuối hoặc từ các giao dịch CICS khác được gọi thông qua giao thức Giao diện cuộc gọi bên ngoài (ECI), Trình giám sát CICS cho OS/390 đã triển khai một cơ chế có tên là 3270 Bridge. Một lệnh EXEC CICS START BREXIT mới đã được thêm vào và khi giao dịch 3270 được kích hoạt thông qua lệnh này, CICS tạo ra một cấu trúc đặc biệt được gọi là Cơ sở cầu nối, cái gọi là thiết bị đầu cuối thay thế, được “trình bày” cho giao dịch 3270 tại thời điểm nó được thực hiện. khởi tạo. Nhưng khi tạo thiết bị đầu cuối thay thế, CICS sẽ tạo một mã định danh độc lập cho trường TERMID theo logic bên trong của nó. TERMID được tạo này không liên quan gì đến ID kết nối người dùng thực tế. Điều này dẫn đến vấn đề số 2.

Lệnh EXEC CICS START BREXIT cũng không được VisualAge Generator hỗ trợ - bạn không thể đặt các tham số như vậy để nó tạo lệnh gọi vì nó chỉ xuất hiện trong các phiên bản CICS mới nhất (bắt đầu từ phiên bản 1.3). Để giải quyết vấn đề này, một chương trình đã được viết bằng Cobol lấy các tham số cần thiết và kích hoạt giao dịch thông qua lệnh mới này. Đây là một ví dụ về việc sử dụng Cobol làm ngôn ngữ thế hệ thứ ba để triển khai các chức năng hệ thống tinh vi. Chương trình Cobol có thể được gọi từ các giao dịch ứng dụng được viết bằng 4GL trong VisualAge Generator.

Vấn đề số 2.Để gọi giao dịch 3270, cơ chế Bridge 3270 được sử dụng để tạo ra một thiết bị đầu cuối thay thế. Nhưng một số trường, bao gồm TERMID, được chính CICS khởi tạo mà không bị ràng buộc theo bất kỳ cách nào với kết nối máy khách mà giao dịch này được gọi từ đó. CICS, đối với mỗi cuộc gọi như vậy, đặt TERMID thành một giá trị từ?(AAA? đến?(999?), tăng giá trị này một cách tuần tự. Sử dụng chiến lược bảo mật có từ thời tiền SQL - mỗi khách hàng được chỉ định đăng nhập thông qua VTAM (Phương thức truy cập viễn thông ảo) là một mã định danh gồm tám ký tự được gọi là LU (Đơn vị logic) để kiểm tra VTAM. Bốn ký tự cuối cùng từ LU được lấy để tạo TERMID. Giao dịch chịu trách nhiệm nhận dạng người dùng lấy tên người dùng và mật khẩu từ bàn phím, lấy TERMID và tìm trong tệp bên trong của nó, tìm kiếm sự trùng khớp giữa tên người dùng và TERMID. Điều này đảm bảo rằng một người dùng nhất định chỉ có thể truy cập hệ thống từ một máy tính cụ thể, vì khi định cấu hình kết nối SNA trên máy chủ Bên cạnh đó, địa chỉ MAC của card mạng của máy khách cũng đã được đăng ký. Nhưng các kết nối web hoạt động bỏ qua VTAM và không có thiết bị đầu cuối. Làm cách nào để vượt qua TERMID hoặc thứ gì đó thay thế nó để giảm thiểu việc thực hiện lại giao dịch?

Vấn đề này đã được giải quyết bằng cách tận dụng Khu vực người dùng bảng điều khiển đầu cuối (TCTUA), giao dịch xác thực người dùng chính 3270 của chúng tôi và khởi tạo TCTUA được viết bằng VisualAge Generator. Điều này dẫn đến việc giảm thiểu việc thực hiện lại giao dịch, cụ thể là thay thế từ ?TERMID? trên ?TCTUA? trong văn bản “kobolny”.

Ngoài ra, còn có vấn đề khi triển khai lệnh gọi tới một chuỗi 3270 giao dịch trong một giao dịch 4GL duy nhất với quá trình xử lý kết quả trung gian: cần phải xử lý và chuyển các tham số (“màn hình”) cho mỗi lệnh gọi 3270.

Hệ thống OLTP phân tán có tích hợp chương trình cũ

Dự án này đã trở thành một ví dụ về cách sử dụng các công nghệ được mô tả để cung cấp các chức năng mới cho các hệ thống hiện có. Điều này không yêu cầu phải viết lại mã của chương trình.

Panasonic sử dụng phần mềm PSI cho AS/400 và Windows NT. Đồng thời, trên AS/400, chương trình đã sử dụng các bảng riêng và các bảng từ hệ thống J.D. ERP làm cấu trúc dữ liệu. Edwards đang chạy trên máy chủ này. Máy chủ AS/400 được đặt tại Helsinki và máy chủ NT ở Moscow và Kyiv và không được kết nối bằng các đường dây rất đáng tin cậy. Trong khi đó, logic của chương trình PSI phải đảm bảo rằng thông tin được chuyển đến các nút thông qua máy chủ AS/400. Phiên bản hiện tại sử dụng cơ chế sao chép cơ sở dữ liệu, điều này không thể chấp nhận được trong điều kiện đường truyền kém.

Để giải quyết vấn đề này, một mô hình hệ thống truyền tải giữa các máy chủ dựa trên MQSeries đã được đề xuất. Điều này không yêu cầu thay đổi mã của ứng dụng PSI hiện có, ứng dụng này chịu trách nhiệm tương tác với người dùng cuối, nhưng được đề xuất sử dụng các cơ chế kích hoạt cơ sở dữ liệu. Nghĩa là, các trình kích hoạt đã được “đính kèm” vào các bảng cần thiết, đối với mỗi thao tác (chèn, xóa, chỉnh sửa) sẽ gửi các thông báo tương ứng đến hệ thống MQSeries. Những tin nhắn này, một lần trên AS/400, đã được gửi đến tất cả các nút khác trong hệ thống.

Giải pháp này hỗ trợ sử dụng nhiều cơ sở dữ liệu (trong môi trường NT) và thư viện (trong môi trường AS/400) để gỡ lỗi hoặc cho các mục đích khác. Đồng thời, bằng cách sử dụng các tiện ích đặc biệt, bạn có thể chỉ định vị trí và địa điểm dữ liệu cho một bảng cụ thể sẽ được chuyển. Tập hợp và cấu trúc của các bảng trong cơ sở dữ liệu được xác định nghiêm ngặt. Để thực hiện dự án này, cả MQSeries và VisualAge Generator cũng như lập trình C++ đều tham gia. Trên NT, các trình giám sát kích hoạt MQSeries được triển khai dưới dạng dịch vụ NT và trên AS/400, các trình kích hoạt DB2 đã được triển khai.

Trong dự án này, ở giai đoạn đầu, mỗi thao tác trong cơ sở dữ liệu tạo ra một thông báo có mã thao tác tương ứng (I - chèn, D - xóa, U - cập nhật), mã này được giải mã tại các nút từ xa. Nhưng trên thực tế, hóa ra chương trình PSI thay đổi các trường chính, điều này thường không được khuyến khích. Điều này làm cho không thể thực hiện thao tác U (“thay đổi”) trên nút từ xa vì bản ghi có trường khóa đã thay đổi chưa tồn tại ở đó và DBMS không thể tìm thấy nó. Không thể chèn các trường khóa của riêng bạn vào cấu trúc bảng vì các bảng ứng dụng J.D. đã được sử dụng. Edwards, cấu trúc không thể thay đổi. Sau khi phân tích tình huống, để giải quyết vấn đề với số lần làm lại tối thiểu, người ta đề xuất rằng thay vì một tin nhắn có mã U, trình kích hoạt tương ứng bắt đầu gửi một cặp tin nhắn: tin nhắn đầu tiên - có mã D (“xóa”) và giá trị khóa cũ; thứ hai - với mã I (“chèn”) và một giá trị khóa mới.

Hệ thống này truyền khoảng 60 nghìn tin nhắn mỗi ngày với độ dài trung bình khoảng 2 KB. Dự án được hoàn thành trong 8 tuần bởi 4 kỹ sư.

Văn học

Masaharu Murozumi, Một thách thức đối với hệ thống OLTP chia sẻ dữ liệu máy khách/máy chủ DB2 với khối lượng giao dịch cao. IBM, 2000

G. Ladyzhensky, Công nghệ máy khách-máy chủ và giám sát giao dịch. "Hệ thống mở", 1994, số 3

M. Ruzinkevich, A. Tsikocki, Định nghĩa và thực hiện các luồng giao dịch. "DBMS", 1995, số 2

E. Cobb, J. Hamilton, G. Sharman, Tôi có cần Trình giám sát xử lý giao dịch và cơ sở dữ liệu không? IBM, 1996

Nikolay Ignatovich, IBM MQSeries: kiến ​​trúc hệ thống xếp hàng tin nhắn. "Hệ thống mở", 1999, số 9-10

Nikolay Ignatovich, Tích hợp các công nghệ quản lý dữ liệu trong DB2. "Hệ thống mở", 2001, số 7-8

P. Wakelin, S. Day, S. Read, F. McKenna, Cổng giao dịch CICS V3.1. Trình kết nối WebSphere cho CICS. SG24-6133-00, IBM, 2001

Ilya Afanasyev ( [email được bảo vệ]) - Tổng giám đốc công ty Digital Empire, (Moscow).

Các loại Middleware chính

  • Màn hình xử lý giao dịch phân tán. Giám sát việc thực hiện luồng giao dịch chuyên sâu trong các hệ thống xử lý giao dịch trực tuyến trong môi trường đa nền tảng.
  • Cuộc gọi thủ tục từ xa (RPC).Đồng bộ hóa mối quan hệ của các tiến trình bằng cách gọi chúng từ xa. Giao dịch không được hỗ trợ.
  • Kết nối cơ sở dữ liệu. Một truy vấn SQL được gửi qua phần mềm này có thể được xử lý bởi một số DBMS từ các nhà sản xuất khác nhau.
  • Môi giới yêu cầu đối tượng (ORB). Trao đổi các đối tượng phần mềm giữa các nền tảng khác nhau và qua các giao thức khác nhau.

Tất cả các loại middleware trên chỉ hỗ trợ kết nối đồng bộ; Nếu mất kết nối, hoạt động sẽ dừng và không tự động tiếp tục.

Middleware dựa trên việc truyền thông điệp (middleware định hướng thông điệp - MOM). Nhắn tin không đồng bộ giữa các ứng dụng có thể chạy trên các nền tảng khác nhau. Trao đổi được thực hiện với việc giao hàng được đảm bảo; Nếu mất kết nối, thao tác sẽ tự động tiếp tục sau khi khôi phục.

Tổng quan về CNTT được thiết kế để xử lý dữ liệu vận hành và phân tích

Sau khi nghiên cứu thành công tài liệu, bạn sẽ biết:

    khái niệm và mục đích chính của hệ thống OLTP;

    khái niệm và mục đích chính của hệ thống OLAP;

    Các lớp hệ thống OLAP;

    nhiệm vụ được giải quyết bởi hệ thống OLTP và OLAP.

Sau khi nghiên cứu chủ đề này, bạn sẽ có thể:

    phân biệt các vấn đề được giải quyết bằng hệ thống OLTP và OLAP;

    điều hướng các lớp của hệ thống OLAP.

Sau khi nghiên cứu tài liệu bạn bạn sẽ có những kỹ năng việc sử dụng hệ thống OLTP và OLAP trong công việc của người quản lý.

Các khái niệm cơ bản của chủ đề 7

    công nghệ tập trung vào xử lý dữ liệu hoạt động (giao dịch). Những công nghệ này tạo thành nền tảng của hệ thống thông tin máy tính được thiết kế để xử lý dữ liệu nhanh chóng. Những hệ thống như vậy được gọi là hệ thống OLTP (xử lý giao dịch trực tuyến);

    công nghệ tập trung vào phân tích dữ liệu và ra quyết định. Những công nghệ này tạo thành nền tảng của CISU được thiết kế để phân tích dữ liệu tích lũy. Những hệ thống như vậy được gọi là hệ thống OLAP (xử lý phân tích trực tuyến).

hệ thống OLAP

Mục đích chính của hệ thống OLAP: phân tích đa chiều năng động của dữ liệu lịch sử và hiện tại, ổn định theo thời gian; phân tích xu hướng; mô hình hóa và dự báo tương lai. Những hệ thống như vậy, theo quy định, tập trung vào việc xử lý các yêu cầu tùy tiện, không theo quy định. BẰNG các đặc điểm chính những hệ thống này có thể lưu ý những điều sau đây:

    hỗ trợ biểu diễn dữ liệu đa chiều, sự bình đẳng của tất cả các chiều, tính độc lập về hiệu suất khỏi số lượng chiều;

    minh bạch cho người sử dụng về cấu trúc, phương pháp lưu trữ và xử lý dữ liệu;

    tự động ánh xạ cấu trúc dữ liệu logic tới các hệ thống bên ngoài;

    xử lý động các ma trận thưa thớt một cách hiệu quả.

Thuật ngữ OLAP thường được xác định bằng DSS (Hệ thống hỗ trợ quyết định). Và như một từ đồng nghĩa với thuật ngữ “giải pháp” họ sử dụng Kho dữ liệu - “kho dữ liệu”. Điều này đề cập đến một tập hợp các giải pháp tổ chức, phần mềm và phần cứng để cung cấp cho các nhà phân tích thông tin dựa trên dữ liệu từ các hệ thống xử lý giao dịch cấp thấp hơn và các nguồn khác.

“Kho dữ liệu” cho phép bạn xử lý dữ liệu được tích lũy trong thời gian dài. Dữ liệu này không đồng nhất (và không nhất thiết phải có cấu trúc). Kho dữ liệu được đặc trưng bởi tính chất đa chiều của các truy vấn. Khối lượng dữ liệu khổng lồ, sự phức tạp trong cấu trúc của cả dữ liệu và truy vấn - tất cả những điều này đòi hỏi phải sử dụng các phương pháp đặc biệt để truy cập thông tin.

Trong các nguồn khác, khái niệm Hệ thống hỗ trợ quyết định (DSS) được coi là rộng hơn. Kho dữ liệu và các công cụ xử lý phân tích trực tuyến có thể đóng vai trò là một trong những thành phần của kiến ​​trúc DSS.

OLAP luôn bao gồm xử lý truy vấn tương tác và phân tích thông tin nhiều lần tiếp theo, cho phép chúng tôi xác định các xu hướng khác nhau, không phải lúc nào cũng rõ ràng, được quan sát trong lĩnh vực chủ đề.

Đôi khi, có sự khác biệt giữa OLAP theo nghĩa hẹp - vì các hệ thống chỉ cung cấp lựa chọn dữ liệu trong các phần khác nhau và OLAP theo nghĩa rộng hoặc đơn giản là OLAP, bao gồm:

    hỗ trợ nhiều người dùng chỉnh sửa cơ sở dữ liệu.

    các chức năng mô hình hóa, bao gồm các cơ chế tính toán để thu được kết quả dẫn xuất, cũng như tổng hợp và kết hợp dữ liệu;

    dự báo, xác định xu hướng và phân tích thống kê.

Mỗi loại hệ thống này yêu cầu một tổ chức dữ liệu cụ thể, cũng như các công cụ phần mềm đặc biệt để đảm bảo thực hiện hiệu quả các nhiệm vụ trước mắt.

Các công cụ OLAP cung cấp phân tích thông tin doanh nghiệp trên nhiều thông số, chẳng hạn như loại sản phẩm, vị trí địa lý của người mua, thời gian giao dịch và người bán, mỗi thông số cho phép tạo phân cấp lượt xem. Do đó, về thời gian, bạn có thể sử dụng các khoảng thời gian hàng năm, hàng quý, hàng tháng và thậm chí hàng tuần và hàng ngày; Sự phân chia theo địa lý có thể theo thành phố, tiểu bang, vùng, quốc gia hoặc toàn bộ bán cầu nếu cần thiết.

Hệ thống OLAP có thể được chia thành ba lớp.

1 lớp. Phức tạp và đắt tiền nhất trong số chúng dựa trên các công nghệ được cấp bằng sáng chế máy chủ cơ sở dữ liệu đa chiều. Các hệ thống này cung cấp một chu trình xử lý OLAP đầy đủ và ngoài thành phần máy chủ, còn bao gồm giao diện máy khách tích hợp của riêng chúng hoặc sử dụng các chương trình bảng tính bên ngoài để phân tích dữ liệu. Các sản phẩm thuộc loại này phù hợp nhất để sử dụng trong kho thông tin lớn. Việc bảo trì của họ đòi hỏi cả một đội ngũ nhân viên tham gia vào cả việc cài đặt, bảo trì hệ thống và tạo chế độ xem dữ liệu cho người dùng cuối. Thông thường các gói này khá đắt. Ví dụ về các sản phẩm thuộc loại này bao gồm hệ thống Essbase của Arbor Software, Express của IRI (hiện là một phần của Oracle), Lightship của Pilot Software và các sản phẩm khác.

Hệ thống OLAP loại 2 - hệ thống OLAP quan hệ(ROLAP). Ở đây, các DBMS quan hệ cũ được sử dụng để lưu trữ dữ liệu và lớp siêu dữ liệu do quản trị viên hệ thống xác định được tổ chức giữa cơ sở dữ liệu và giao diện máy khách. Thông qua phần mềm trung gian này, thành phần máy khách có thể tương tác với cơ sở dữ liệu quan hệ như thể nó là cơ sở dữ liệu đa chiều. Giống như các công cụ hạng nhất, hệ thống ROLAP rất phù hợp để làm việc với các kho thông tin lớn, yêu cầu chi phí bảo trì đáng kể bởi các chuyên gia từ bộ phận thông tin và cung cấp công việc ở chế độ nhiều người dùng. Các sản phẩm thuộc loại này bao gồm IQ/Tầm nhìn của IQ Software, DSS/Server và DSS/Agent của MicroStrategy và DecisionSuite của Information Advantage.

Các công cụ ROLAP triển khai các chức năng hỗ trợ quyết định trong một tiện ích bổ sung trên bộ xử lý cơ sở dữ liệu quan hệ.

Các sản phẩm phần mềm đó phải đáp ứng một số yêu cầu, cụ thể:

    có trình tạo biểu thức SQL được tối ưu hóa OLAP mạnh mẽ cho phép bạn sử dụng các câu lệnh SQL SELECT nhiều lượt và/hoặc các truy vấn con tương quan;

    có đủ phương tiện được phát triển để thực hiện quá trình xử lý không tầm thường, cung cấp xếp hạng, phân tích so sánh và tính toán tỷ lệ phần trăm trong một lớp;

    tạo các biểu thức SQL được tối ưu hóa cho DBMS quan hệ đích, bao gồm hỗ trợ cho các phần mở rộng ngôn ngữ có sẵn trong đó;

    cung cấp các cơ chế mô tả mô hình dữ liệu bằng cách sử dụng siêu dữ liệu và cho phép sử dụng siêu dữ liệu này để xây dựng các truy vấn trong thời gian thực;

    bao gồm một cơ chế cho phép bạn đánh giá chất lượng của việc xây dựng các bảng tổng hợp về tốc độ tính toán, tốt nhất là tích lũy số liệu thống kê về việc sử dụng chúng.

Hệ thống OLAP lớp 3 - Công cụ báo cáo và truy vấn trên máy tính để bàn, được bổ sung các chức năng OLAP hoặc được tích hợp với các công cụ bên ngoài để thực hiện các chức năng đó. Các hệ thống tiên tiến này lấy dữ liệu từ các nguồn thô, biến đổi nó và đặt nó vào cơ sở dữ liệu đa chiều động chạy trên PC của người dùng cuối. Cách tiếp cận này cho phép thực hiện mà không cần cả máy chủ cơ sở dữ liệu đa chiều đắt tiền và lớp siêu dữ liệu trung gian phức tạp cần thiết cho các công cụ ROLAP, đồng thời đảm bảo đủ hiệu quả phân tích. Những công cụ máy tính để bàn này phù hợp nhất để làm việc với cơ sở dữ liệu nhỏ, đơn giản. Chúng yêu cầu ít kỹ năng bảo trì hơn so với các hệ thống OLAP khác và gần ngang bằng với các môi trường xử lý truy vấn thông thường. Những công ty chủ chốt trong lĩnh vực thị trường này bao gồm Brio Technology với hệ thống Brio Query Enterprise, Business Objects với sản phẩm cùng tên và Cognos với PowerPlay.

hệ thống OLTP

hệ thống OLTP, là một phương tiện có hiệu quả cao để thực hiện xử lý vận hành, hóa ra lại ít được sử dụng cho các nhiệm vụ xử lý phân tích. Điều này được gây ra bởi những điều sau đây.

    Bằng cách sử dụng hệ thống OLTP truyền thống, bạn có thể xây dựng báo cáo phân tích và thậm chí là dự báo về bất kỳ mức độ phức tạp nào nhưng được quy định trước. Ngoài ra, bất kỳ yêu cầu không được kiểm soát nào của người dùng cuối, theo quy luật, đều yêu cầu kiến ​​​​thức về cấu trúc dữ liệu và trình độ chuyên môn khá cao của lập trình viên;

    Nhiều chức năng cần thiết cho hệ điều hành là dư thừa cho các nhiệm vụ phân tích và đồng thời có thể không phản ánh lĩnh vực chủ đề. Giải quyết hầu hết các vấn đề phân tích đòi hỏi phải sử dụng các công cụ chuyên dụng bên ngoài để phân tích, dự báo và lập mô hình. Cấu trúc cứng nhắc của cơ sở dữ liệu không cho phép đạt được hiệu suất chấp nhận được trong trường hợp lựa chọn và sắp xếp phức tạp và do đó, cần nhiều thời gian để tổ chức các cổng.

    Không giống như các hệ thống giao dịch, hệ thống phân tích không yêu cầu và do đó không cung cấp các phương tiện đã phát triển để đảm bảo tính toàn vẹn, sao lưu và phục hồi dữ liệu. Điều này không chỉ cho phép đơn giản hóa các công cụ triển khai mà còn giảm chi phí nội bộ và do đó cải thiện hiệu suất khi truy xuất dữ liệu.

Các vấn đề được giải quyết bằng hệ thống OLTP và OLAP

Chúng tôi sẽ xác định các nhiệm vụ được giải quyết một cách hiệu quả bởi từng hệ thống dựa trên các đặc điểm so sánh của hệ thống OLTP và OLAP (Bảng 7.1, 7.2).

Bảng 7.1.
Các vấn đề được giải quyết bằng hệ thống OLTP và OLAP

đặc trưng

Tốc độ cập nhật dữ liệu

Tần số cao, khẩu phần nhỏ

Tần số thấp, “khẩu phần” lớn

Nguồn dữ liệu

Chủ yếu là nội bộ

Liên quan đến hệ thống phân tích, chủ yếu là bên ngoài

Tuổi dữ liệu

Hiện tại (vài tháng)

Trong lịch sử (qua các năm) và dự kiến

Mức độ tổng hợp dữ liệu

Dữ liệu chi tiết

Dữ liệu tổng hợp chủ yếu

Khả năng hoạt động phân tích

Báo cáo theo quy định

Trình tự các báo cáo tương tác, các thay đổi động về mức độ tổng hợp và các lát dữ liệu

Mục đích của hệ thống

Ghi lại, tìm kiếm hoạt động và xử lý dữ liệu, xử lý phân tích theo quy định

Làm việc với dữ liệu lịch sử, xử lý phân tích, dự báo, lập mô hình

Bảng 7.2.
So sánhOLTP vàOLAP

đặc trưng

Hoạt động chiếm ưu thế

Nhập liệu, tìm kiếm

Phân tích dữ liệu

Bản chất của yêu cầu

Nhiều giao dịch đơn giản

Giao dịch phức tạp

Dữ liệu được lưu trữ

Vận hành, chi tiết

bao trùm một khoảng thời gian lớn, tổng hợp

Loại hoạt động

Hoạt động, chiến thuật

Phân tích, chiến lược

Loại dữ liệu

Có cấu trúc

Nhiều loại khác nhau

Kết luận chính

    Trong lĩnh vực quản lý CNTT, có hai lĩnh vực bổ sung cho nhau:

    • các công nghệ tập trung vào xử lý dữ liệu vận hành (giao dịch) - hệ thống OLTP (xử lý giao dịch trực tuyến);

      công nghệ tập trung vào phân tích dữ liệu và ra quyết định - hệ thống OLAP (xử lý phân tích trực tuyến).

    Mục đích chính của hệ thống OLAP là phân tích dữ liệu lịch sử và hiện tại đa chiều, ổn định theo thời gian, phân tích xu hướng, lập mô hình và dự báo trong tương lai.

    Hệ thống OLAP có thể được chia thành ba lớp.

    1 lớp. Máy chủ cơ sở dữ liệu đa chiều. Các hệ thống này cung cấp một chu trình xử lý OLAP đầy đủ và ngoài thành phần máy chủ, còn bao gồm giao diện máy khách tích hợp của riêng chúng hoặc sử dụng các chương trình bảng tính bên ngoài để phân tích dữ liệu.

    lớp 2. Hệ thống OLAP quan hệ (ROLAP). Ở đây, các DBMS quan hệ cũ được sử dụng để lưu trữ dữ liệu và lớp siêu dữ liệu do quản trị viên hệ thống xác định được tổ chức giữa cơ sở dữ liệu và giao diện máy khách. Thông qua phần mềm trung gian này, thành phần máy khách có thể tương tác với cơ sở dữ liệu quan hệ như thể nó là cơ sở dữ liệu đa chiều.

    lớp 3. Các công cụ truy vấn và báo cáo dành cho máy tính để bàn, được cải tiến với các chức năng OLAP hoặc được tích hợp với các công cụ bên ngoài thực hiện các chức năng đó. Các hệ thống này lấy dữ liệu từ các nguồn nguồn, chuyển đổi chúng và đặt chúng vào cơ sở dữ liệu đa chiều động chạy trên PC của người dùng cuối.

Các hệ thống OLTP, là một phương tiện hiệu quả cao để thực hiện xử lý trực tuyến, hóa ra lại ít được sử dụng cho các nhiệm vụ xử lý phân tích.

Kho dữ liệu - "kho dữ liệu". Điều này đề cập đến một tập hợp các giải pháp tổ chức, phần mềm và phần cứng để cung cấp cho các nhà phân tích thông tin dựa trên dữ liệu từ các hệ thống xử lý giao dịch cấp thấp hơn và các nguồn khác.

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

    Hai lĩnh vực bổ sung lẫn nhau nào tồn tại trong lĩnh vực quản lý CNTT?

    Xây dựng mục đích chính của hệ thống OLAP

    Xây dựng mục đích chính của OL T P-systems

    Ý nghĩa của từ Kho dữ liệu là gì?

Nhiệm vụ cho công việc độc lập

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 đó một 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 một DBMS 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.

 Hệ thống OLTP và OLAP Trong tiểu mục trước đã lưu ý rằng để thể hiện đầy đủ lĩnh vực chủ đề, dễ phát triển và bảo trì cơ sở dữ liệu, các mối quan hệ phải được giảm xuống dạng chuẩn thứ ba (có các hình thức chuẩn hóa các bậc cao hơn, nhưng trong thực tế chúng hiếm khi được sử dụng), thì phải có tính chuẩn hóa cao. Tuy nhiên, các mối quan hệ được chuẩn hóa yếu cũng có những ưu điểm của chúng, ưu điểm chính là nếu cơ sở dữ liệu chủ yếu chỉ được truy cập bằng các truy vấn và việc sửa đổi và bổ sung dữ liệu rất hiếm khi được thực hiện thì việc lấy mẫu của chúng sẽ nhanh hơn nhiều. Điều này được giải thích là do trong các mối quan hệ được chuẩn hóa yếu, kết nối của chúng đã được thực hiện và thời gian của bộ xử lý không bị lãng phí vào việc này. Có hai loại hệ thống mà các quan hệ được chuẩn hóa mạnh và yếu là 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ác ứng dụng OLTP - Xử lý giao dịch trực tuyến (OLTP) - ứng dụng xử lý giao dịch trực tuyến. 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 vận hành và các hệ thống khác. 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 khá đơn giản, nhưng vấn đề là có rất nhiều giao dịch như vậy, chúng được thực hiện đồng thời và nếu xảy ra lỗi, giao dịch phải được khôi phục và đưa hệ thống về trạng thái trước khi giao dịch bắt đầu. . 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. Các truy vấn lựa chọn chủ yếu nhằm mục đích cung cấp cho người dùng sự lựa chọn dữ liệu từ nhiều loại thư mục khác nhau. Vì vậy, 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. Điều quan trọng đối với các ứng dụng OLTP là tốc độ và độ tin cậy của các hoạt động cập nhật dữ liệu ngắn. Mức độ chuẩn hóa dữ liệu trong các ứng dụng OLTP càng cao thì tốc độ càng nhanh 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. Một loại ứng dụng khác là ứng dụng OLAP - On-Line Analytical Treatment (OLAP) - ứng dụng xử lý dữ liệu phân tích hoạt động. Đây là thuật ngữ khái quát đặc trưng cho nguyên tắc xây dựng các hệ thống hỗ trợ ra quyết định - Decision Support System (DSS), kho dữ liệu - Data Warehouse, các hệ thống khai thác dữ liệu - Data Mining. Các hệ thống như vậy được thiết kế để tìm ra sự phụ thuộc giữa dữ liệu, tiến hành phân tích động dựa trên nguyên tắc “điều gì sẽ xảy ra nếu…” và các nhiệm vụ tương tự. Ứng dụng OLAP hoạt động với lượng lớn dữ liệu được tích lũy trong doanh nghiệp hoặc lấy từ các nguồn khác. Các hệ thống như vậy được đặc trưng bởi các tính năng sau: * việc thêm dữ liệu mới vào hệ thống xảy ra tương đối hiếm khi xảy ra ở các khối lớn, chẳng hạn như mỗi tháng hoặc một quý một lần; * dữ liệu được thêm vào hệ thống, theo quy định, không bao giờ bị xóa; * trước khi tải, dữ liệu trải qua nhiều quy trình chuẩn bị khác nhau liên quan đến việc đưa chúng sang các định dạng nhất định và những thứ tương tự; * các yêu cầu tới hệ thống không được kiểm soát và khá phức tạp; * tốc độ thực hiện truy vấn là quan trọng nhưng không quan trọng. Cơ sở dữ liệu ứ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 đại diện cho dữ liệu tham chiếu và các ô của chính siêu khối lưu trữ các giá trị của dữ liệu này. Về mặt vật lý, một siêu khối có thể được xây dựng trên cơ sở mô hình dữ liệu đa chiều đặc biệt - OLAP đa chiều (MOLAP) hoặc được biểu diễn bằng mô hình dữ liệu quan hệ - OLAP quan hệ (ROLAP). Trong các hệ thống OLAP sử dụng mô hình dữ liệu quan hệ, việc lưu trữ dữ liệu dưới dạng các mối quan hệ được chuẩn hóa yếu chứa các tổng cơ bản được tính toán trước sẽ rất hữu ích. Dự phòng dữ liệu và các vấn đề liên quan không phải là vấn đề ở đây vì chúng được cập nhật khá hiếm và cùng với việc cập nhật dữ liệu, kết quả sẽ được tính toán lại. Các đặc điểm và phạm vi nhiệm vụ được giải quyết hiệu quả theo từng công nghệ được minh họa bằng bảng so sánh sau: Đặc điểmOLTPOLAPMục đích của hệ thốngĐăng ký, tìm kiếm hoạt động và xử lý giao dịch, phân tích được quy định Làm việc với dữ liệu lịch sử, xử lý phân tích, dự báo, mô hình hóa Dữ liệu được lưu trữHoạt động, chi tiếtBao trùm một khoảng thời gian lớn về thời gian, tổng hợpLoại dữ liệuCấu trúcCác loại khác nhau"Tuổi" của dữ liệuHiện tại (vài tháng) Lịch sử (qua nhiều năm) và dự báo Tần suất cập nhật dữ liệu Cao, trong các “phần” nhỏ Nhỏ, trong các “phần” lớn Mức độ tổng hợp dữ liệu Dữ liệu chi tiết Được tổng hợp chủ yếu dữ liệu Hoạt động chiếm ưu thế Nhập, tìm kiếm, cập nhật dữ liệu Phân tích dữ liệu Phương pháp sử dụng dữ liệu Có thể dự đoán Không thể đoán trước Tương tác với người dùng Ở cấp độ giao dịch Ở cấp độ toàn bộ cơ sở dữ liệu dữ liệu Loại hoạt động Hoạt động, chiến thuật Phân tích, chiến lược Ưu tiên Hiệu suất cao Tính sẵn sàng cao Tính linh hoạt Quyền tự chủ của người dùng Loại người dùng Số lượng lớn nhân viên cấp điều hành Số lượng nhân viên cấp điều hành tương đối ít So sánh OLTP và OLAP Đặc điểm của OLTP OLAP Bản chất của truy vấn Nhiều giao dịch đơn giản Giao dịch phức tạp Dữ liệu được lưu trữ Hoạt động, chi tiết Bao trùm một khoảng thời gian lớn, tổng hợp Loại hoạt động Hoạt động, chiến thuật Phân tích, chiến lược -gical Kiểu dữ liệu Có cấu trúc Đa loại Đặc điểm hệ thống Hệ thống kế toán (OLTP) OLAP Tương tác với người dùng Ở cấp độ giao dịch Ở cấp độ toàn bộ cơ sở dữ liệu Dữ liệu được sử dụng khi người dùng truy cập hệ thống Bản ghi riêng lẻ Nhóm bản ghi Thời gian phản hồi Giây Từ vài giây đến vài phút Sử dụng tài nguyên phần cứng Ổn định Động Bản chất của dữ liệu Chủ yếu là chính (mức độ chi tiết thấp nhất) Chủ yếu phái sinh (giá trị tóm tắt) Bản chất của quyền truy cập cơ sở dữ liệu Đường dẫn truy cập tĩnh hoặc được xác định trước và các mối quan hệ dữ liệu Đường dẫn truy cập động và không xác định và các mối quan hệ dữ liệu Tính biến đổi của dữ liệu Cao (dữ liệu được cập nhật với mọi giao dịch) Thấp (dữ liệu hiếm khi được cập nhật trong khi truy vấn) Ưu tiên Hiệu suất cao Tính sẵn sàng cao Tính linh hoạt Quyền tự chủ của người dùng