Các mẫu dịch vụ thông tin, Phần 1: Mẫu liên hợp dữ liệu

Mẫu liên hợp ảo hóa dữ liệu từ nhiều nguồn thông tin khác nhau. Mẫu này tạo ra một khung nhìn tích hợp vào thông tin phân tán mà không tạo ra sự dư thừa dữ liệu trong khi liên hợp cả thông tin có cấu trúc lẫn thông tin không có cấu trúc. Bài này mô tả sự liên hợp của thông tin (dữ liệu) có cấu trúc, tập trung vào bối cảnh SOA. Đặc tả của mẫu này sẽ giúp các kiến trúc sư dữ liệu và ứng dụng đưa ra quyết định có đủ thông tin về kiến trúc dữ liệu và viết tài liệu hướng dẫn ra quyết định.

Dr. Guenter Sauter, Kiến trúc sư và giám đốc CNTT cao cấp, IBM Corporation

Ảnh của Guenter SauterTiến sĩ Guenter Sauter là kiến trúc sư và giám đốc CNTT cao cấp, ông lãnh đạo nhóm làm việc về các mẫu dịch vụ thông tin để giải quyết sự liên kết giữa việc quản lý thông tin và SOA. Ông cũng là kiến trúc sư trình diễn về quản lý thông tin, trình bày các khả năng trên toàn bộ danh mục Quản lý thông tin của IBM.



Bill Mathews, Kiến trúc sư CNTT cao cấp, IBM Corporation

Ảnh của Bill MathewsBill Mathews là một kiến trúc sư CNTT cao cấp tại IBM Financial Services Sector (Lĩnh vực dịch vụ tài chính của IBM) ở châu Mỹ và giữ vai trò lãnh đạo kiến trúc về Tích hợp thông tin. Ông đã có hơn 25 năm kinh nghiệm trong ngành CNTT và là một Kiến trúc sư CNTT có chứng chỉ xuất sắc của tập đoàn Open và có các chứng chỉ Nhà tư vấn và Kiến trúc sư CNTT của IBM. Ông hoạt động trong các lĩnh vực chuyên môn sau: tích hợp thông tin, tích hợp ứng dụng doanh nghiệp và phát triển ứng dụng Web. Bill có bằng Cử nhân khoa học về Khoa học Máy tính của trường Đại học Hofstra và bằng thạc sĩ về quản trị kinh doanh của trường Union College.



Mei Selvage, Kỹ sư phần mềm, IBM Corporation

Ảnh của Mei SelvageMei Selvage là một kiến trúc sư dữ liệu SOA có kinh nghiệm thực hành rộng trong nhiều lĩnh vực quản lý thông tin và Kiến trúc hướng dịch vụ (SOA). Cô có nhiệm vụ làm cầu nối giữa SOA và quản lý thông tin. Cô quan tâm nghiên cứu về: quản lý thông tin và các mẫu tích hợp (của dữ liệu có cấu trúc lẫn không có cấu trúc), mô hình hóa dữ liệu, siêu dữ liệu, tìm kiếm khía cạnh, sự cộng tác giữa con người và SOA.



Dr. Eoin Lane, Kỹ sư phần mềm cao cấp, IBM

Ảnh của Eoin LaneTiến sĩ Eoin Lane, kỹ sư giải pháp cao cấp, là người lãnh đạo về thu thập và phát triển mẫu ứng dụng trong các cam kết chính về SOA của IBM và dẫn dắt các mẫu đó thông qua quá trình quản trị mẫu của IBM để đẩy nhanh việc chọn sử dụng chúng. Eoin cũng chuyên về lĩnh vực Phát triển dựa trên mô hình (MDD - Model Driven Development), phát triển dựa trên tài sản và Đặc tả tài sản tái sử dụng (RAS - Reusable Asset Specification) để giúp việc phát triển SOA dễ dàng.



26 04 2013

Giới thiệu

Nhiều tổ chức phải vật lộn với sự khác biệt và sự phân tán thông tin. Trong nhiều trường hợp, người dùng mất rất nhiều thời gian để tìm kiếm và tổng hợp, liên kết và chỉnh sửa thông tin liên quan bằng thủ công thay vì tiến hành sử dụng những thông tin ấy.

Thách thức này cũng xuất hiện khi thực hiện một kiến trúc hướng dịch vụ (SOA). Thông thường, các dịch vụ cốt lõi yêu cầu thông tin chất lượng, được tổng hợp từ nhiều nguồn khác nhau.

Có một số ý tưởng và công nghệ để giải quyết những nhu cầu tích hợp đó. Liên hợp dữ liệu (Data Federation) là một trong số đó. Liên hợp dữ liệu nhằm mục đích kết nối dữ liệu có hiệu quả từ nhiều nguồn thông tin không đồng nhất, trong khi vẫn giữ nguyên dữ liệu tại chỗ -- không tạo sự dư thừa dữ liệu. Mẫu liên hợp dữ liệu hỗ trợ các hoạt động dữ liệu dựa vào một khung nhìn (ảo) nhất thời, có tích hợp, ở đây dữ liệu thực được lưu trữ trong nhiều nguồn khác nhau. Dữ liệu nguồn vẫn nằm dưới sự kiểm soát của các hệ thống nguồn và được rút ra theo yêu cầu để truy cập liên hợp.

Bài này nêu bật giá trị của cách tiếp cận liên hợp dữ liệu. Sau khi mô tả bối cảnh áp dụng liên hợp dữ liệu của mình, chúng tôi sẽ thảo luận các vấn đề cũng như giải pháp được mẫu này giải quyết. Chúng tôi nêu các đặc trưng ứng dụng của mẫu này dựa trên các yêu cầu không chức năng (xem phần Các vấn đề cần xem xét). Một số cách sử dụng đã biết về mẫu này minh họa trải nghiệm của chúng tôi trong lúc áp dụng mẫu này. Chúng tôi sẽ kết luận bằng cách tóm tắt các vùng tiêu điểm, các vùng rủi ro và những hạn chế của mẫu này.


Tuyên bố giá trị của cách tiếp cận liên hợp dữ liệu

Tính trong suốt của sự không đồng nhất bên dưới

Với liên hợp dữ liệu, người dùng sẽ thấy một giao diện thống nhất duy nhất. Tính trong suốt về vị trí có nghĩa là ứng dụng sử dụng mẫu này không cần biết rõ nơi lưu trữ dữ liệu. Nó cũng chẳng cần biết cơ sở dữ liệu nguồn hỗ trợ ngôn ngữ hay giao diện lập trình nào, nhờ tính trong suốt thực hiện ứng dụng. Ví dụ, nếu sử dụng SQL, thì với ứng dụng, nguồn dữ liệu hỗ trợ ngôn ngữ SQL nào là điều không quan trọng. Ứng dụng cũng không cần biết cách lưu trữ dữ liệu về mặt vật lý ra sao do tính độc lập của dữ liệu vật lý và sự phân mảnh và tính trong suốt về bản sao -- hay giao thức mạng nào được sử dụng, còn gọi là tính trong suốt về mạng.

Lợi thế về thời gian đưa ra thị trường

Một ứng dụng, là một người dùng của máy chủ liên hợp dữ liệu, có thể giao tiếp với chỉ một nguồn dữ liệu ảo. Nếu không sử dụng mẫu liên hợp, ứng dụng đó phải tương tác với nhiều nguồn riêng lẻ thông qua các giao diện khác nhau và các giao thức khác nhau. Các nghiên cứu đã cho thấy rằng việc sử dụng mẫu liên hợp dữ liệu giúp làm giảm đáng kể thời gian phát triển khi phải tích hợp nhiều nguồn. Xem phần Tài nguyên để biết thêm thông tin.

Giảm chi phí phát triển và bảo trì

Những người dùng tiềm năng có thể cần thông tin tích hợp giống nhau -- hay tương tự. Theo cách tiếp cận, mỗi người dùng có cách thực hiện của riêng mình để tổng hợp thông tin từ nhiều nguồn khác nhau. Một cách khác là, khung nhìn tích hợp được phát triển một lần và nó được sử dụng nhiều lần và được bảo trì ở một nơi duy nhất, như thế tạo ra một điểm thay đổi duy nhất. Cách tiếp cận này làm giảm các chi phí phát triển và bảo trì.

Lợi thế về hiệu năng

Trong nhiều trường hợp, việc thực hiện mẫu liên hợp dữ liệu với sự tập trung cụ thể vào công nghệ xử lý dữ liệu tiên tiến đã chứng tỏ các đặc tính hiệu năng cao hơn so với phương pháp tổng hợp thông tin truyền thống (xem phần Tài nguyên để biết thêm thông tin). Nhờ sử dụng các khả năng xử lý truy vấn tiên tiến, máy chủ liên hợp có thể phân phối tải công việc một cách tối ưu giữa chính nó và các nguồn khác nhau. Nó sẽ xác định dùng máy chủ nào chạy phần tải công việc nào để có hiệu quả nhất và tối ưu hóa thời gian đáp ứng.

Lợi thế về khả năng tái sử dụng

Sau khi áp dụng mẫu liên hợp dữ liệu cho một kịch bản tích hợp cụ thể, có thể cung cấp kết quả truy cập liên hợp cụ thể này như là một dịch vụ cho nhiều người dùng. Ví dụ, một kịch bản tích hợp có thể yêu cầu lấy ra dữ liệu yêu cầu bồi thường bảo hiểm có cấu trúc và không có cấu trúc từ rất nhiều nguồn. Trong ví dụ này, mẫu liên hợp dữ liệu có thể cung cấp các giải pháp cho dữ liệu yêu cầu bồi thường tích hợp rồi gửi dữ liệu yêu cầu bồi thường đó qua một cổng thông tin đến một đại lý yêu cầu bồi thường. Sau đó chính truy cập liên hợp ấy có thể được sử dụng như là một dịch vụ cho những người dùng khác như là các quy trình tự động dùng cho các đơn yêu cầu bồi thường tiêu chuẩn hoặc các ứng dụng web hướng về khách hàng chẳng hạn.

Việc quản trị được cải thiện

Quản trị là một nền tảng quan trọng cho vòng đời SOA. Quá trình quản trị được cải thiện bằng việc sử dụng các mẫu theo hướng tăng cường các cách thực hành tốt nhất với các kết quả có thể dự đoán trước. Việc sử dụng lại các mẫu linh hoạt đã được kiểm chứng trong việc phát triển và tạo ra các hệ thống có thể vừa bảo đảm tính nhất quán và chất lượng, lại vừa làm giảm chi phí bảo trì nhờ có một nguồn duy nhất để cập nhật những thay đổi.


Bối cảnh

Việc sáp nhập và mua lại giữa các công ty và tổ chức thường yêu cầu các kiến trúc sư dữ liệu và ứng dụng tích hợp các nguồn dữ liệu khác nhau vào một khung nhìn thống nhất về dữ liệu. Những người dùng thông tin tích hợp này là các ứng dụng truyền thống cần tương tác trực tiếp với các cơ sở dữ liệu và đòi hỏi truy cập vào một tập hợp rộng lớn hơn các nguồn dữ liệu. Việc quyết định cách nào là tốt nhất để cung cấp khung nhìn thống nhất này phải dựa vào tính sẵn có của công cụ, dựa vào kinh nghiệm, chuyên môn và văn hóa của tổ chức. Khi sử dụng các kiến trúc di sản truyền thống, thời gian, công sức và chi phí liên quan đến việc tích hợp có thể vượt quá lợi nhuận kinh doanh. Khi được thực hiện trong một môi trường dựa trên dịch vụ, một cách tiếp cận các dịch vụ thông tin dựa trên-mẫu có thể nâng cao các đặc tính tái sử dụng của hệ thống theo thời gian.

Các dịch vụ thông tin là phần cốt lõi của SOA. Những dịch vụ thông tin như vậy cung cấp quyền truy cập CRUD (Create-Read-Update-Delete: Tạo-Đọc-Cập nhật-Xóa) vào các thông tin miền ứng dụng. Chúng cũng làm lộ diện các khả năng xử lý thông tin như là các kết quả của các thuật toán phân tích và tính điểm, các quy tắc làm sạch dữ liệu, v.v. Với mục đích của bài này, chúng tôi sẽ tập trung vào các dịch vụ tích hợp thông tin để cung cấp một khung nhìn thống nhất về dữ liệu, thường liên quan đến việc tích hợp một mảng khó hiểu các nguồn dữ liệu tầng sau khác nhau và các dịch vụ.

Khi áp dụng mẫu liên hợp dữ liệu, chúng ta cần phân biệt giữa hai bối cảnh, bối cảnh không-SOA, truyền thống được giải quyết bằng nhiều ứng dụng trước đây và bối cảnh SOA là trọng tâm của bài này. Điều quan trọng cần lưu ý rằng SOA là một cách tiếp cận kiến trúc dẫn đến các dịch vụ tái sử dụng, mở rộng khả năng của các việc thực hiện không-SOA hiện có trong nhiều trường hợp.

Bối cảnh truyền thống

Trong bối cảnh mà chúng ta gọi là truyền thống, một ứng dụng tạo báo cáo trong một ngân hàng có thể cần phân tích các giao dịch thẻ tín dụng. Khi xem xét khối lượng của dữ liệu này -- có hàng triệu giao dịch mỗi ngày -- để lưu trữ tất cả thông tin này trong kho phân tích thật không hiệu quả. Nhiều dữ liệu cũ hơn rất ít được truy cập, như là thông tin về ngữ cảnh nhất định, chẳng hạn như là một hành trình bay. Việc lưu trữ tất cả dữ liệu giao dịch thẻ tín dụng -- cả hiện tại và đã cũ, cả cốt lõi và chỉ liên quan -- trong kho đều có ảnh hưởng tiêu cực đến hiệu năng. Một giải pháp tốt hơn là tách riêng hai kiểu dữ liệu: dữ liệu thường hay sử dụng, các giao dịch thẻ tín dụng gần đây hơn thì lưu trữ vào một kho trong khi thông tin cũ hơn thì lưu trữ vào các băng từ chẳng hạn. Tuy nhiên, ứng dụng tạo báo cáo không cần biết rõ về việc phân phối dữ liệu này, vì chúng có thể được cung cấp thông qua cách tiếp cận liên hợp dữ liệu.

Hình 1. Mẫu liên hợp dữ liệu truyền thống
Mẫu liên hợp dữ liệu truyền thống

Trong bối cảnh truyền thống, các ứng dụng thường sử dụng các giao diện và các giao thức quan hệ chuẩn để tương tác với máy chủ liên hợp, ví dụ như SQL và JDBC/ODBC. Máy chủ liên hợp, đến lượt nó, kết nối thông qua các bộ thích ứng hoặc các trình bao bọc (wrapper) khác nhau tới một loạt các nguồn dữ liệu, ví dụ như là các cơ sở dữ liệu quan hệ, các tài liệu XML, các ứng dụng đóng gói và các hệ thống quản lý nội dung và cộng tác. Máy chủ liên hợp là một cơ sở dữ liệu ảo có đủ mọi khả năng của một cơ sở dữ liệu quan hệ. Ứng dụng hoặc người dùng yêu cầu có thể thực hiện bất kỳ các yêu cầu truy vấn nào trong phạm vi các quyền hạn truy cập của mình. Sau khi truy vấn xong, máy chủ liên hợp trả về một tập hợp kết quả có chứa tất cả các bản ghi đáp ứng tiêu chí lựa chọn. Điều này được minh họa trong Hình 1. Người ta dự định dùng hình này để minh họa rằng việc triển khai thực hiện truyền thống có thể dựa trên một giao diện lập trình ứng dụng (API) quan hệ bằng cách sử dụng SQL (JDBC/ODBC) hoặc XQuery.

Bối cảnh SOA

Trong một bối cảnh SOA, một dịch vụ getCustomerCreditCardData có thể cần lấy ra thông tin toàn diện về một khách hàng và các giao dịch thẻ tín dụng gần đây của khách hàng đó. Thông tin này có thể không nằm trong một hệ thống duy nhất. Người ta có thể lưu trữ thông tin khách hàng trong một hệ thống quản lý dữ liệu chủ của khách hàng hoặc trong nhiều kho lưu trữ và các giao dịch thẻ tín dụng có thể được lưu trữ trong một nguồn dữ liệu khác. Liên hợp dữ liệu nối thông tin từ nhiều nguồn khác nhau để nó có thể xuất hiện như là một dịch vụ cho người dùng.

Trong bối cảnh SOA này, máy chủ liên hợp có thể hoạt động như một nhà cung cấp dịch vụ và/hoặc một người dùng dịch vụ có sử dụng các giao diện SOA thích hợp. Lưu ý rằng điều này không loại trừ khả năng máy chủ cung cấp sự hỗ trợ cho các giao diện quan hệ, truyền thống. Độ rộng hỗ trợ là một quyết định thực hiện nằm ngoài phạm vi của cuộc thảo luận này. Khi máy chủ liên hợp dữ liệu trưng ra nhiều thông tin tích hợp như là một nhà cung cấp dịch vụ, một người dùng dịch vụ có thể truy cập thông tin tích hợp thông qua một giao diện dịch vụ như WSDL và HTTP/SOAP hoặc các kết buộc đã được chấp thuận khác. Để tích hợp, máy chủ liên hợp dữ liệu có thể tiêu thụ các dịch vụ do nhiều nguồn thông tin cung cấp.

Ý nghĩ phía sau việc sử dụng mẫu liên hợp dữ liệu trong bối cảnh SOA là sử dụng và sử dụng lại thông tin tích hợp, có nghĩa là, các dịch vụ tích hợp thông tin theo cách có thể mở rộng cho nhiều người dùng. Việc mô hình hóa và định nghĩa các dịch vụ là một khía cạnh quan trọng của SOA. Cách thực hành tốt nhất đã được thừa nhận phổ biến là thiết kế các dịch vụ sao cho chúng cung cấp việc tái sử dụng và/hoặc tính tương thích trên toàn doanh nghiệp và/hoặc hỗ trợ quy trình nghiệp vụ về thông tin hoặc chức năng. Rất nhiều nếu như không phải là hầu hết các dự án SOA thành công đều tập trung trước hết vào chức năng nghiệp vụ quan trọng nhất, sử dụng rộng rãi nhất được trưng ra như là các dịch vụ. Do vai trò then chốt của các dịch vụ này, nên chúng thường bao trùm nhiều hệ thống tầng sau. Vì thế, việc thu thập thông tin từ nhiều nguồn không đồng nhất là một yêu cầu và khả năng quan trọng mà SOA phải dựa vào. Dịch vụ không phải là một truy vấn như trong bối cảnh truy cập dữ liệu truyền thống, mà đúng hơn nó là một yêu cầu đối với một thực thể (hoặc các thực thể) nghiệp vụ, có thể do dịch vụ liên hợp thực hiện thông qua một loạt các truy vấn và các dịch vụ khác.

Hình 2. Mẫu liên hợp dữ liệu trong một bối cảnh SOA
Mẫu liên hợp dữ liệu SOA

Việc tạo nên các dịch vụ tích hợp thông tin trong SOA đòi hỏi chức năng bổ sung chứa đựng quyền truy cập liên hợp trong một giao diện hướng-dịch vụ. Việc này được thực hiện thông qua thành phần Information Service Enablement (Hỗ trợ dịch vụ thông tin). Mục đích của thành phần này là thể hiện các truy vấn liên hợp nhất định trong một giao diện hướng-dịch vụ. Ví dụ, có thể viết một truy vấn liên hợp bằng SQL và có thể xác định quyền truy cập vào thông tin sản phẩm. Thông qua thành phần Information Service Enablement, truy vấn liên hợp này có thể xuất hiện như là một dịch vụ do SCA hoặc WSDL định nghĩa, chẳng hạn. Sau đó có thể chia sẻ dịch vụ này để thực hiện quyền truy cập vào dữ liệu sản phẩm trong toàn doanh nghiệp và ngoài doanh nghiệp.

Các giải pháp áp dụng mẫu liên hợp dữ liệu trong bối cảnh truyền thống sử dụng lợi thế về bản chất khai báo và linh hoạt của SQL. Với các ủy quyền về bảo mật thích hợp, những người dùng có thể truy cập bất kỳ dữ liệu nào trong nguồn thông qua hầu hết các truy vấn SQL khác nhau. Những người dùng có tính linh hoạt rất cao để truy cập vào cái gì và định dạng trả về kết quả là gì. Mặc dù tính linh hoạt này là một lợi thế rất lớn trong nhiều tình huống, nhưng nó cũng làm tăng độ phức tạp cho những người dùng. Nhưng người dùng phải hiểu mô hình dữ liệu nguồn và cách xây dựng kết quả từ mô hình nguồn bên dưới này. Mô hình dữ liệu nguồn càng lớn, nhiệm vụ này có thể càng trở nên phức tạp.

Một cách tiếp cận SOA tập trung trước hết vào việc định nghĩa và chia sẻ một số lượng tương đối hạn chế các chức năng nghiệp vụ quan trọng nhất như là các dịch vụ trong và trên toàn doanh nghiệp. Vì vậy, các giao diện hướng-dịch vụ được tập trung nhiều hơn vào số lượng hạn chế trong số các yêu cầu thông tin cụ thể cần được thể hiện. Các nhà phát triển được hưởng lợi từ trọng tâm hẹp và rõ ràng này do họ cần ít thời gian hơn để thiết kế yêu cầu thông tin. Họ có thể chỉ cần chọn một dịch vụ thích hợp trong số tương đối ít các tùy chọn đó.


Đặt vấn đề

Trong môi trường dựa vào thông tin hiện nay, điều rất phổ biến với các kiến trúc sư và các nhà phát triển là thực hiện một giải pháp liên hợp dữ liệu. Họ phải đối mặt với những thách thức do một số quyết định về kiến trúc gây ra, có thể là do những hạn chế có bản chất về kỹ thuật, nghiệp vụ hoặc theo hợp đồng. Kịch bản này gồm một số trong những hạn chế phổ biến như vậy. Đầu tiên, dữ liệu cần thiết để hỗ trợ các yêu cầu truy cập thông tin của dự án lưu trú trong nhiều nguồn và phải được tích hợp và cung cấp như một kết quả duy nhất tới người dùng. Tiếp theo, không thể nhân bản hoặc sao chép các nguồn dữ liệu đích để thực hiện yêu cầu truy cập. Cuối cùng, giải pháp này phải tích hợp trong một SOA hiện có trong khi vẫn hỗ trợ các ứng dụng không-SOA truyền thống như mô tả trong Hình 3.

Hình 3. Truy cập giao diện không đồng nhất
Truy cập giao diện không đồng nhất

Các mục tiêu của giải pháp

Như mô tả trong phần đặt vấn đề, mục tiêu của giải pháp này là tránh dư thừa dữ liệu trong khi cung cấp một khung nhìn tích hợp trên các nguồn không đồng nhất. Máy chủ liên hợp dữ liệu -- đó là, thành phần thực hiện mẫu liên hợp dữ liệu -- phải cung cấp các giao diện truy vấn chuẩn cho bối cảnh SOA không truyền thống. Điều này bảo đảm rằng rất nhiều các ứng dụng cơ sở dữ liệu truyền thống có thể tiêu dùng dữ liệu liên hợp. Máy chủ liên hợp cũng phải cung cấp khả năng tối ưu hóa truy vấn để đáp ứng yêu cầu một cách hiệu quả nhất. Sự phân tán và tính đa dạng của dữ liệu trong bối cảnh này đòi hỏi chú trọng nhiều vào cách chuyển dịch truy cập tốt nhất vào khung nhìn tích hợp và cách phân tích và phân phối tải công việc. Khi hỗ trợ truy cập ghi vào khung nhìn tích hợp, máy chủ liên hợp phải đồng bộ hóa thao tác dữ liệu trong các nguồn khác nhau thành một đơn vị công việc logic. Điều này bảo đảm đáp ứng được tiêu chuẩn nguyên tử, nhất quán, cô lập và độ bền (ACID) cho các giao dịch và tuân thủ tính toàn vẹn tham chiếu.

Ngoài những mục tiêu trên để giải quyết bối cảnh truyền thống này, cách tiếp cận này phải vừa vặn trong một SOA. Điều này sẽ cho phép rất nhiều người dùng trong và ngoài doanh nghiệp sử dụng lại có hiệu quả (các) khung nhìn tích hợp. Những người dùng tiềm năng của truy cập liên hợp trong một SOA là các ứng dụng, các cổng thông tin và các hoạt động trong một quy trình nghiệp vụ cần truy cập vào thông tin phân tán. Ví dụ, một nhà sản xuất có thể định nghĩa một dịch vụ để lấy ra thông tin kiểm kê thời gian thực từ các nguồn không đồng nhất. Sau đó, các ứng dụng nội bộ cũng như các ứng dụng của các đối tác kinh doanh bên ngoài truy cập vào dịch vụ tương tự, sử dụng một cách thực hiện nhất quán và hiệu quả nhất của truy cập liên hợp này.


Mô tả giải pháp

Trong cả bối cảnh truyền thống cũng như bối cảnh SOA, máy chủ liên hợp dữ liệu cung cấp một giải pháp để nối và xử lý hiệu quả thông tin từ các nguồn không đồng nhất. Mẫu này thực hiện một cách tiếp cận tích hợp thời gian thực, đồng bộ cho dữ liệu phân tán. Máy chủ liên hợp dữ liệu chịu trách nhiệm tiếp nhận một truy vấn gửi tới khung nhìn tích hợp của các nguồn khác nhau. Nó biến đổi truy vấn bằng cách sử dụng các thuật toán tối ưu hóa phức tạp để chia nhỏ truy vấn đó thành một loạt các hoạt động con gọi là phân vùng và viết lại truy vấn, áp dụng các hoạt động con cho các nguồn thích hợp, thu thập các kết quả từ mỗi nguồn, lắp ráp các kết quả tích hợp và cuối cùng trả các kết quả tích hợp về nơi khởi nguồn của truy vấn đó. Trình tự xử lý này diễn ra đồng bộ và theo thời gian thực.

Các đặc điểm thời gian thiết kế

Mẫu liên hợp dữ liệu đòi hỏi ánh xạ các phần tử dữ liệu từ các nguồn dữ liệu khác nhau trong phạm vi của khung nhìn tích hợp. Ví dụ, có thể lưu trữ thông tin khách hàng, như là tên và địa chỉ của người nắm giữ chính sách, như trong ví dụ đã nói ở trên, trong một bảng duy nhất của một cơ sở dữ liệu và trong nhiều bảng của một cơ sở dữ liệu khác. Để xây dựng một khung nhìn tích hợp, cần ánh xạ các kiểu biểu diễn khác nhau tới khung nhìn chung. Ánh xạ này có thể do các tác nhân con người thực hiện thủ công hoặc được trợ giúp của các công cụ tiên tiến dựa trên các thuật toán ánh xạ khác nhau, cũng đã nắm bắt bất kỳ yêu cầu chuyển đổi cần thiết nào. Điều này cho phép máy chủ liên hợp dữ liệu thu nhận các truy vấn đối với khung nhìn tích hợp và tính toán số lượng và các kiểu hoạt động con tối ưu cần thực hiện.

Khi áp dụng mẫu liên hợp dữ liệu trong một bối cảnh SOA, cần tạo nên một tập hợp các truy vấn liên hợp và đăng ký nó như là các dịch vụ trong SOA. Ví dụ, có thể tạo nên khung nhìn tích hợp như là một dịch vụ để lấy ra thông tin có cấu trúc và không có cấu trúc quan trọng về một người nắm giữ chính sách, ví dụ tên, địa chỉ, tình trạng, các tài liệu yêu cầu bồi thường, các dự toán sửa chữa và đánh giá rủi ro và chia sẻ khung nhìn đó giữa nhiều người dùng. Kết quả của việc ánh xạ trong thời gian thiết kế thường là các khung nhìn liên hợp điển hình, tương tự như các khung nhìn cơ sở dữ liệu quan hệ, sau đó có thể được triển khai hoặc được tạo ra trên máy chủ liên hợp.

Thời gian vận hành

Máy chủ liên hợp dữ liệu nhận một yêu cầu hướng đến khung nhìn tích hợp. Theo định nghĩa ánh xạ, máy chủ liên hợp chia nhỏ truy vấn liên hợp thành nhiều hoạt động con. Có nhiều phần tử ảnh hưởng đến bước này:

  • Dữ liệu cần thiết để đáp ứng truy vấn liên hợp lưu trú ở đâu?
  • Những hoạt động nào cần thiết để chuyển đổi các biểu diễn không đồng nhất của các nguồn, như các kiểu dữ liệu khác nhau, hay như mô hình chuẩn hóa so với mô hình không chuẩn hóa chẳng hạn, thành khung nhìn tích hợp chung?

Máy chủ liên hợp sử dụng thông tin ánh xạ để giải quyết những câu hỏi này. Có một số các yếu tố khác, ảnh hưởng đến việc xử lý truy vấn liên hợp cần có thông tin, vượt ra ngoài đặc tả ánh xạ như là:

  • Các hệ thống quản lý các nguồn dữ liệu hỗ trợ những hoạt động nào và máy chủ liên hợp phải bù đắp cho những hoạt động nào nữa?
  • Những hệ quả hiệu năng là gì khi thực hiện một tập hợp các hoạt động trong các nguồn so với máy chủ liên hợp? Máy chủ liên hợp nên ủy thác các hoạt động nào cho các nguồn để khai thác tốt hơn các khả năng của các nguồn, để giảm chuyển tải dữ liệu và để tối ưu hóa hiệu năng tổng thể?

Câu trả lời cho những câu hỏi trên đòi hỏi phải có kiến thức về hệ thống nguồn và các khả năng xử lý truy vấn của nó. Để giải quyết câu hỏi về khả năng xử lý truy vấn, máy chủ liên hợp cũng phải sử dụng rất nhiều thông tin về môi trường vận hành cũng như các số liệu thống kê về các cơ sở dữ liệu nguồn.

Một khi máy chủ liên hợp đã xác định chiến lược tốt nhất để thực hiện tất cả các hoạt động con, nó sẽ kết nối với các nguồn dữ liệu -- thông tin có cấu trúc và không có cấu trúc -- để lấy ra dữ liệu có liên quan và nhiều khả năng sẽ sử dụng giao diện đặc trưng của các nguồn ấy. Theo kế hoạch thực hiện truy vấn tổng thể, các hoạt động con sau đó sẽ được áp dụng vào các nguồn. Máy chủ liên hợp thu nhận và tổng hợp kết quả đó thành kết quả của khung nhìn tích hợp, rồi trả kết quả cho người dùng.

Trong bối cảnh SOA, người dùng gửi lên một yêu cầu theo một định dạng yêu cầu đã định sẵn tới máy chủ liên hợp. Máy chủ liên hợp chuyển đổi yêu cầu này thành các truy vấn SQL tương ứng hoặc các định nghĩa khung nhìn để hỗ trợ dịch vụ. Từ đây trở đi, bắt đầu thực hiện các bước phân tích, tối ưu hóa và thực hiện truy vấn tương tự như mô tả ở trên. Sự khác biệt duy nhất trong bối cảnh SOA là ở bước cuối cùng. Máy chủ liên hiệp dịch kết quả của cách tiếp cận liên hợp dữ liệu truyền thống thành một đáp ứng dịch vụ rồi trả nó về cho người dùng dịch vụ thông qua giao diện dịch vụ đã định sẵn.

Hình 4. Sơ đồ trình tự để liên hợp dữ liệu
Sơ đồ trình tự để liên hợp dữ liệu

Có thể thực hiện chức năng của mẫu liên hợp dữ liệu bằng cách sử dụng các công nghệ có liên quan đến cơ sở dữ liệu như là trình tối ưu hóa hoặc bổ sung hoặc bằng các ứng dụng cây-nhà-lá-vườn. Do sự phức tạp của việc tối ưu hóa truy vấn đối với các nguồn không đồng nhất, nên một cách thực hành tốt nhất cấp ngành là sử dụng một cách thực hiện liên hợp dữ liệu có sử dụng công nghệ tối ưu hóa truy vấn được hầu hết các hệ thống quản lý cơ sở dữ liệu cung cấp.


Các vấn đề cần xem xét

Khi áp dụng mẫu liên hợp dữ liệu, điều quan trọng là cần hiểu rõ các đặc điểm của nó và các yêu cầu không chức năng mô tả dưới đây ảnh hưởng đến nó ra sao. Điều quan trọng cần lưu ý rằng chúng ta đã vạch ra các yêu cầu không chức năng nhưng không tính đến các mẫu bộ nhớ đệm và các mẫu nhân bản dữ liệu. Chúng ta tin tưởng rằng khi chọn dùng các mẫu bắt đầu bằng các mẫu cơ bản -- trong ví dụ này là Liên hợp dữ liệu -- rồi có thể mở rộng thêm bằng các mẫu bổ sung để xử lý các yêu cầu không chức năng bổ sung và chức năng cần thiết cho dịch vụ này. Có thể sử dụng các mẫu bộ nhớ đệm và các mẫu sao chép dữ liệu để bổ sung vào liên hợp dữ liệu hoặc trong việc tạo ra một mẫu hỗn hợp. Nên sử dụng thận trọng các mẫu như vậy và bất kỳ mẫu khác nào có thể được dùng trong thực hiện tổng thể do các mẫu đó có thể cản trở việc thực hiện một số yêu cầu không chức năng do ngay từ đầu đã chọn liên hợp dữ liệu cho chúng rồi. Ví dụ, các mẫu có thể làm tăng độ trễ dữ liệu và tạo ra dư thừa dữ liệu. Cần hiểu rõ những điểm thỏa hiệp dựa trên các yêu cầu không chức năng và các quyết định kiến trúc.

Tất cả đặc điểm của các yêu cầu không chức năng đều áp dụng cho cả bối cảnh không-SOA truyền thống cũng như bối cảnh SOA. Chúng bao gồm:

Bảo mật dữ liệu

Chỉ những người dùng và các ứng dụng có các ủy quyền thích hợp trong các nguồn tích hợp mới được phép truy cập khung nhìn tích hợp. Điều này có thể bị hạn chế hơn nữa. Một trong những lý do chính để áp dụng mẫu này là sử dụng các hệ thống nguồn hiện có với dữ liệu và các khả năng của chúng. Kết quả là, các kiến trúc sư thường cũng có ý định sử dụng các cơ chế bảo mật hiện tại như xác thực và cấp quyền của các hệ thống nguồn. Do bản chất không đồng nhất và phân tán của môi trường này, nên có một số vấn đề liên quan đến việc đăng nhập một lần duy nhất và kiểm soát truy cập chung có thể phát sinh nằm ngoài phạm vi của mẫu liên hợp dữ liệu. Để giải quyết những vấn đề này, các kiến trúc sư sẽ cần kết hợp mẫu liên hợp dữ liệu với các mẫu liên quan đến bảo mật.

Độ trễ của dữ liệu

Mẫu liên hợp dữ liệu cho phép truy cập tích hợp, thời gian thực tới các nguồn có mức lưu hành dữ liệu cao nhất.

Tính dễ thay đổi của dữ liệu nguồn

Do việc truy cập thời gian thực tới nguồn dữ liệu khi nhận được yêu cầu chuyển đến khung nhìn tích hợp, nên liên hợp dữ liệu sẽ luôn luôn trả về thông tin nguồn mới nhất. Do mẫu liên hợp dữ liệu không tạo ra các bản sao của dữ liệu nguồn, nên các thay đổi của nguồn đã không được lan truyền hay xử lý theo cách tiếp cận này.

Chất lượng và tính nhất quán của dữ liệu

Với sự gia tăng thường xuyên về việc làm sạch dữ liệu phức tạp, các hoạt động tiêu chuẩn hóa và chuyển đổi cần được thực hiện, nên xác suất của một ảnh hưởng tiêu cực đến thời gian đáp ứng tổng thể tăng lên. Điều này là do bản chất đáp ứng đồng bộ, thời gian thực với các yêu cầu trong mẫu liên hợp dữ liệu. Khi đáp ứng với một truy vấn tích hợp, bất kỳ sự chuyển đổi tăng thêm nào sẽ đều có nghĩa là tải công việc tăng thêm. Cách thực hành tốt nhất là giảm thiểu sự phức tạp và số lượng các chuyển đổi trường bắt buộc.

Tính sẵn dùng của dữ liệu

Tính sẵn dùng của dữ liệu tích hợp phụ thuộc vào tính sẵn sàng của máy chủ liên hợp dữ liệu và các máy chủ nguồn tích hợp tại thời điểm yêu cầu. Nếu một trong số các máy chủ hoặc bất kỳ kết nối nào giữa máy chủ liên hợp và máy chủ nguồn bị hỏng, thì khung nhìn tích hợp sẽ không có sẵn để dùng.

Ảnh hưởng của các thay đổi mô hình lên mô hình tích hợp

Một lợi ích rất có ý nghĩa đối với mẫu liên hợp dữ liệu là khả năng che dấu đi nhiều thay đổi mô hình, để có thể thực hiện các thay đổi đó trong các hệ thống nguồn. Khả năng thích ứng với những thay đổi trong máy chủ liên hợp có thể làm giảm xác suất trưng ra những thay đổi này cho người khởi đầu hoặc người dùng dịch vụ. Hơn nữa, có thể thực hiện những thay đổi trong khung nhìn tích hợp mà không đòi hỏi lan truyền bất kỳ các thay đổi nào đến các mô hình dùng cho các nguồn dữ liệu.

Tần suất thực hiện giao dịch

Một yêu cầu gửi đến một máy chủ liên hợp được thực hiện đồng bộ. Ngay sau khi nhận được phản hồi, người yêu cầu có thể gọi ra một yêu cầu tiếp theo. Máy chủ liên hợp cần hỗ trợ nhiều yêu cầu đồng thời do nhiều người yêu cầu khởi xướng. Các yêu cầu liên tiếp với tần suất cao cần có các đặc tính hiệu năng giống như một yêu cầu duy nhất. Một trường hợp ngoại lệ có thể xảy ra nếu một nguồn -- hoặc một đầu nối giữa máy chủ liên hợp và nguồn -- có những đặc tính riêng gây ra sự suy giảm hiệu năng đáp ứng khi được truy cập thường xuyên. Khả năng của máy chủ liên hợp thực hiện các giao dịch ở tốc độ cao được xác định bằng tốc độ ở đó máy chủ liên hợp có thể truy cập vào các hệ thống nguồn và khả năng đáp ứng của các hệ thống nguồn.

Sự tương tranh của giao dịch

Trong nhiều trường hợp, máy chủ liên hợp dữ liệu có những đặc tính rất giống với một máy chủ cơ sở dữ liệu hoặc máy chủ nội dung. Các đặc tính hiệu năng của máy chủ liên hợp dữ liệu cũng như các máy chủ nguồn tích hợp xác định khả năng quản lý có hiệu quả việc truy cập đồng thời.

Hiệu năng và thời gian đáp ứng giao dịch

Có nhiều yêu tố quyết định thời gian đáp ứng giao dịch, gồm:

  • Độ phức tạp của truy vấn liên hợp: để thực hiện truy vấn máy chủ liên hợp cần thực hiện bao nhiêu hoạt động con như lọc, nối, sắp xếp và v.v.
  • Các khả năng xử lý và tối ưu hóa truy vấn của máy chủ liên hợp dữ liệu: thiết kế máy chủ liên hợp để nhận một truy vấn liên hợp, chia nhỏ nó thành các hoạt động con và tối ưu hóa nó tinh vi đến mức nào, chẳng hạn, trước tiên áp dụng một hoạt động con nào đó như là bộ lọc để rút gọn tập hợp dữ liệu rồi thực hiện các hoạt động con khác như sắp xếp.
  • Khối lượng dữ liệu: Khối lượng dữ liệu càng lớn, mỗi hoạt động con càng dài nên truy vấn đầy đủ cũng sẽ kéo dài.
  • Băng thông mạng: Thông lượng của một kết nối mạng giữa máy chủ liên hợp và một nguồn ảnh hưởng đến việc máy chủ liên hợp có thể truy cập nguồn nhanh đến mức nào và do đó cũng ảnh hưởng đến thời gian đáp ứng tổng thể của truy vấn liên hợp.
  • Sử dụng CPU: Những khác biệt trong việc sử dụng tài nguyên của các máy tính có máy chủ liên hợp và các nguồn dữ liệu chạy trên đó chắc chắn phải tác động đến việc thực hiện các hoạt động con của truy vấn liên hợp tổng thể tại máy chủ liên hợp so với tại nguồn, nếu có thể.
  • Các khả năng xử lý truy vấn tại các máy chủ nguồn: một số máy chủ nguồn dữ liệu có những đặc tính riêng và những hạn chế riêng về cách chúng xử lý và tối ưu hóa các truy vấn có ảnh hưởng đến hiệu năng tổng thể.
  • Khả năng của máy chủ liên hiệp để nhận biết các chiến lược truy vấn tối ưu cho mỗi nguồn dữ liệu: nếu máy chủ liên hợp nhận biết các khả năng xử lý truy vấn của các máy chủ nguồn, nó có thể xác định kiểu các hoạt động con nào cần ủy thác và các hoạt động con nào cần thực hiện ở tầng máy chủ liên hợp.

Thời gian đáp ứng của một truy vấn vào một cơ sở dữ liệu ảo, do mẫu liên hợp dữ liệu thực hiện -- lấy dữ liệu từ các nguồn phân tán -- có thể chậm hơn so với truy vấn tương tự vào một cơ sở dữ liệu vật lý duy nhất với các khả năng tương tự. Sự chênh lệch về thời gian đáp ứng sẽ khác nhau tùy thuộc vào các yếu tố được liệt kê ở trên. Kết quả là, các mẫu thay thế, cung cấp tập hợp dữ liệu tích hợp trong một cơ sở dữ liệu vật lý duy nhất, có thể cho phép cải thiện các thời gian đáp ứng. Một số cách thực hiện mẫu liên hợp dữ liệu có khả năng gửi một số hoặc tất cả các hoạt động con (các truy vấn con) song song với các hệ thống nguồn tích hợp. Việc xử lý song song của hoạt động con có thể cải thiện đáng kể thời gian đáp ứng.

Lược tả tạo-đọc-cập nhật-xóa (CRUD)

Hầu hết các việc thực hiện liên hợp dữ liệu đều hỗ trợ một mức độ truy cập đọc và viết khác nhau. Một số việc thực hiện phối hợp một đơn vị công việc logic cho các hoạt động viết, được gọi là một cam kết hai giai đoạn. Trong hầu hết các trường hợp, mẫu liên hợp dữ liệu thường được sử dụng để truy cập đọc do sự phức tạp của truy cập viết. Nếu không có sự hỗ trợ cam kết hai giai đoạn, bên yêu cầu có trách nhiệm bảo đảm tính nhất quán giữa các nguồn khi cập nhật dữ liệu. Vì cam kết hai giai đoạn thường đòi hỏi một trình quản lý giao dịch, nên mức hỗ trợ cho truy cập viết có thể khác nhau tùy thuộc vào cách thực hiện của trình quản lý giao dịch cộng thêm với các khả năng chức năng của máy chủ nguồn về áp dụng và cam kết các thay đổi.

Khối lượng dữ liệu cho mỗi giao dịch

Khối lượng dữ liệu cần được di chuyển từ nguồn ở xa đến máy chủ liên hợp cho mỗi giao dịch ảnh hưởng đến thời gian đáp ứng: khối lượng dữ liệu càng lớn, thời gian đáp ứng càng chậm. Để tối ưu hóa truy vấn liên hợp là rất quan trọng đối với máy chủ liên hợp sao cho chỉ phải chuyển tải lượng dữ liệu tối thiểu giữa máy chủ liên hợp và các nguồn, đặc biệt là khi khối lượng dữ liệu liên hợp lớn. Điều cũng rất quan trọng là hiểu được các khả năng và băng thông do cơ sở hạ tầng mạng hỗ trợ và ảnh hưởng có thể có đối với khối lượng và tần suất chuyển tải dữ liệu.

Thời gian phân phối giải pháp

Như đã mô tả trong tuyên bố giá trị, liên hợp dữ liệu có thể cải thiện đáng kể thời gian phân phối khi tích hợp nhiều nguồn khác nhau.

Tập hợp kỹ năng và kinh nghiệm

Mẫu liên hợp dữ liệu tập trung vào việc tích hợp các nguồn dữ liệu và đưa ra một hình ảnh hệ thống duy nhất thông qua một giao diện hướng-dữ liệu. Khi thể hiện thông tin tích hợp như là các dịch vụ, các nhà phát triển cũng sẽ cần hiểu các khái niệm, các tiêu chuẩn và các công nghệ SOA.

Khả năng tái sử dụng

Có thể sử dụng lại logic định nghĩa truy cập và tổng hợp dữ liệu trên các dự án khác nhau.

Chi phí bảo trì nhiều nguồn dữ liệu

Liên hợp dữ liệu không làm giảm chi phí bảo trì nhiều nguồn dữ liệu nhưng có thể đạt được các lợi ích lớn hơn do việc tích hợp và sử dụng lại các nguồn dữ liệu hiện có.

Chi phí phát triển

Chi phí này tương đối rẻ nếu sử dụng các công cụ liên hợp loại tốt nhất, giả sử đã có sẵn một cơ sở hạ tầng máy chủ liên hợp.

Kiểu các mô hình đích

Bài này đã tập trung vào liên hợp dữ liệu có cấu trúc. Ngày nay, mô hình phổ biến nhất là mô hình quan hệ với tiêu chuẩn SQL. XML và XQuery là các tiêu chuẩn mới nổi vì được chọn dùng ngày càng nhiều trong quản lý thông tin. Nhiều việc thực hiện mẫu liên hợp dữ liệu thường hỗ trợ ít nhất một trong những mô hình đó, đôi khi là cả hai. Hầu hết các việc thực hiện mẫu liên hợp dữ liệu đều tập trung tương đối mạnh vào một mô hình -- hoặc một số rất ít mô hình -- trong số các mô hình đích để xử lý các yêu cầu có hiệu quả nhất.

Đơn vị công việc logic và phân phối có bảo đảm

Trong kiến trúc tham khảo SOA của IBM một bus dịch vụ doanh nghiệp (ESB - Enterprise Service Bus) là một thành phần quan trọng của cơ sở hạ tầng. Một trong những trách nhiệm của ESB là tạo ra sự phân phối dữ liệu có bảo đảm. Do tính phức tạp của việc phối hợp một đơn vị công việc logic, chẳng hạn như thông qua giao thức cam kết hai giai đoạn trong một môi trường liên hợp, nên không phải tất cả mọi việc thực hiện mẫu liên hợp dữ liệu đều hỗ trợ chức năng này. Khi sử dụng các máy chủ liên hợp có hỗ trợ chức năng này, cần phân tích kỹ lưỡng các máy chủ liên hợp về chiến lược khóa cơ sở dữ liệu của chúng để tránh ảnh hưởng tiêu cực đến hiệu năng của các hệ thống nguồn.

Sử dụng tài nguyên

Các máy chủ liên hợp chỉ sử dụng tài nguyên khi nó xử lý một yêu cầu đã nhận được từ người dùng. Độ phức tạp của yêu cầu cũng xác định mức độ sử dụng trên máy chủ liên kết: yêu cầu càng phức tạp, thì nhiệm vụ tìm kiếm phương án tối ưu về cách làm thế nào để phân tích yêu cầu liên hiệp này thành các hoạt động con càng phức tạp hơn. Một yếu tố khác trong việc sử dụng tài nguyên là tỷ lệ phần trăm của các hoạt động con cần được thi hành trong máy chủ liên hợp, ví dụ như để bù đắp chức năng thiếu hụt trong các hệ thống nguồn, so với các hoạt động con có thể được đẩy xuống các hệ thống nguồn. Ngoài ra, số lượng dữ liệu nhận được từ các hệ thống nguồn và số lượng dữ liệu cần chuyển qua máy chủ liên hợp ảnh hưởng đến việc sử dụng tài nguyên.

Các khả năng chuyển đổi

Tiêu điểm của mẫu liên hợp là để nguyên dữ liệu tại chỗ và cung cấp một khung nhìn tích hợp, ảo, thời gian thực. Cách tiếp cận giải pháp theo mẫu này không có bất kỳ hạn chế nào về những chuyển đổi nào có thể được áp dụng. Sử dụng các chuyển đổi cơ bản theo nhiều cách thực hiện khác nhau để biến đổi các định dạng nguồn không đồng nhất thành khung nhìn chung ở tầng liên hợp. Tuy nhiên, các chuyển đổi phức tạp có ảnh hưởng tiêu cực đến hiệu năng của mẫu liên hợp và làm cho mẫu này ít áp dụng được cho các kịch bản chuyển đổi đó. Vì vậy, hầu hết việc thực hiện mẫu liên hợp dữ liệu tập trung ít hơn vào các khả năng chuyển đổi phức tạp và tập trung nhiều hơn vào các công nghệ tối ưu hóa truy vấn.

Kiểu các giao thức, các giao diện, mô hình nguồn

Liên hợp dữ liệu giải quyết các vấn đề về tích hợp dữ liệu từ các mô hình nguồn không đồng nhất và bao gồm các khái niệm để ánh xạ các mô hình nguồn khác nhau ấy đến mô hình chung ở tầng liên hợp. Nhiều việc thực hiện mẫu liên hợp dữ liệu khác nhau tùy theo các khả năng của chúng để có thể tích hợp các mô hình nguồn cụ thể vào.

Phạm vi và kích cỡ của các mô hình nguồn

Kích cỡ của các mô hình nguồn, số lượng và kiểu các thuộc tính có thể ảnh hưởng tiêu cực đến nhiệm vụ ánh xạ trong thời gian chạy khi ánh xạ các nguồn bên dưới đến khung nhìn tích hợp. Ví dụ, phạm vi càng rộng, số lượng các thuộc tính cần được truy cập càng lớn, thì càng mất nhiều thời gian để nhận biết các phần tử tương ứng.

Ảnh hưởng của tải công việc của máy chủ liên hợp (khối lượng giao dịch) đến các nguồn

Với mỗi yêu cầu nhận được, máy chủ liên hợp chuyển tiếp các hoạt động con đến các hệ thống nguồn. Điều này ảnh hưởng tiêu cực đến việc sử dụng tài nguyên tại các hệ thống nguồn khi chúng cần đáp ứng với các hoạt động con từ máy chủ liên hợp. Máy chủ liên hợp nhận được càng nhiều yêu cầu, thì sẽ càng gửi nhiều hoạt động con tới các nguồn tích hợp.


Kết luận

Chúng tôi đã mô tả mẫu liên hợp dữ liệu như là một cách tiếp cận đến các hoạt động dữ liệu dựa trên một khung nhìn (ảo) tạm thời và tích hợp, ở đây dữ liệu thực được lưu trữ trong nhiều nguồn đa dạng. Trong bài này, chúng tôi đã tập trung chủ yếu vào bối cảnh SOA. Chúng tôi sẽ kết luận bằng cách tóm tắt khi nào áp dụng và khi nào không áp dụng mẫu liên hợp dữ liệu và liệt kê những hạn chế quan trọng.

Các lĩnh vực trọng tâm để áp dụng mẫu liên hợp dữ liệu

  • Khi thời gian đưa ra thị trường là một trong những ưu tiên phát triển hàng đầu, liên hợp dữ liệu cung cấp quyền truy cập vào các nguồn thông tin một cách nhanh chóng mà không cần các thay đổi cơ sở hạ tầng quản lý thông tin dài dòng.
  • Liên hợp dữ liệu hỗ trợ các yêu cầu về nhân bản và sao chép dữ liệu bằng cách cho phép truy cập vào dữ liệu khi nó lưu trú trong nguồn. Những yêu cầu này có thể đáp ứng với các quy định hoặc các quy tắc hạn chế di chuyển hoặc nhân bản dữ liệu, ví dụ như dữ liệu thuê bao hoặc việc trộn lẫn thông tin cá nhân từ các nước khác nhau.
  • Truy cập thời gian thực tới thông tin phân tán như thể từ một nguồn duy nhất. Thông tin có thể là dữ liệu có cấu trúc và dữ liệu không có cấu trúc.
  • Cách tiếp cận tích hợp thông tin linh hoạt và có thể mở rộng cho một môi trường thay đổi động, trong sự tiến hóa lược đồ cụ thể: do không có sự dư thừa dữ liệu, các thay đổi trong lược đồ liên hợp làm giảm ảnh hưởng của các thay đổi với các hệ thống tích hợp.
  • Ưu điểm của liên hợp dữ liệu được khai thác tốt nhất khi nhận một số lượng vừa phải các yêu cầu dựa trên tập hợp kết quả có kích cỡ hạn chế từ nhiều nguồn dữ liệu bổ sung, nhất quán.

Các vùng nhiều rủi ro nếu áp dụng mẫu liên hợp dữ liệu

  • Các kịch bản tích hợp đòi hỏi phải có các chuyển đổi phức tạp để xây dựng khung nhìn tích hợp sẽ có ảnh hưởng tiêu cực đến thời gian đáp ứng đặc biệt là theo cách tiếp cận này.
  • Tải công việc tăng lên có thể ảnh hưởng tiêu cực đến các máy chủ nguồn khi chúng phải trả về dữ liệu được yêu cầu trong một truy vấn liên hợp. Để xử lý một yêu cầu với khung nhìn tích hợp, máy chủ liên hợp sẽ gửi các hoạt động con tới các nguồn tích hợp. Các hoạt động con đó càng phức tạp và chúng được gửi đến các nguồn càng thường xuyên, thì các máy chủ nguồn cần quản lý tải công việc bổ sung càng nhiều.
  • Các kịch bản dẫn đến tập hợp kết quả trung gian lớn đang được di chuyển từ các nguồn dữ liệu đích đến máy chủ liên hợp có thể có các ảnh hưởng đáng kể đến hiệu năng.
  • Các tình huống trong đó có các ứng dụng đòi hỏi một mức độ sẵn sàng tương đối cao về dữ liệu tích hợp có thể không phải là các ứng cử viên tốt để áp dụng mẫu này. Tính sẵn dùng của dữ liệu tích hợp hoàn toàn tùy thuộc vào tính sẵn sàng của tất cả các máy chủ liên hợp và các máy chủ nguồn tham gia vào tiến trình cũng như tính sẵn sàng, khả năng và sự đáp ứng của mạng.

Những hạn chế khi áp dụng mẫu liên hợp dữ liệu

  • Nhiều việc thực hiện mẫu liên hợp dữ liệu đã hạn chế các khả năng thao tác dữ liệu. Nhiều việc thực hiện sử dụng SQL như là ngôn ngữ lập trình và chỉ có thể hỗ trợ các chuyển đổi SQL.
  • Hiệu năng chủ yếu phụ thuộc vào sự tinh vi trong việc thực hiện riêng của nhà cung cấp về khả năng lưu trữ trong bộ nhớ đệm, sự hiểu biết các nguồn dữ liệu không đồng nhất và đề ra các truy vấn liên hợp và đường dẫn thi hành tối ưu.
  • Truy cập đọc-viết vào các nguồn thông tin khác nhau - đặc biệt khi phối hợp một đơn vị công việc logic - bị hạn chế bởi các hỗ trợ riêng của nhà cung cấp.

Bản đồ sản phẩm

Các sản phẩm sau đây của IBM thực hiện mẫu này:

  • InfoSphere Federation Server cho phép các ứng dụng liên hợp dữ liệu giữa các nguồn trên nền tảng phân tán (LINUX / UNIX / WINDOWS). Thông qua một giao diện SQL, những người dùng có thể truy cập các thông tin liên hợp từ nhiều nguồn dữ liệu như Netezza, Teradata, Informix, Oracle, SQL Server, DB2 cho tất cả các nền tảng (LUW, i, z/OS), Microsoft Excel, các tệp XML, v.v. Cũng có thể kết hợp sản phẩm này với hai sản phẩm sau đây để tổng hợp dữ liệu có cấu trúc, không có cấu trúc và các tài sản có giá trị từ các nền tảng máy tính lớn.
  • InfoSphere Classic Federation Server for z/OS cung cấp một giao diện SQL thông qua nhiều nguồn dữ liệu trên máy tính lớn, chẳng hạn như DB2®, IMS, VSAM, IDMS, Adabas, v.v. Một trong những khả năng quan trọng của sản phẩm này là ánh xạ cấu trúc dữ liệu của máy tính lớn vào mô hình quan hệ mà không cần viết mã, do đó các nhà phát triển có ít kiến thức về máy tính lớn có thể truy cập dữ liệu máy tính lớn một cách linh hoạt và có hiệu quả.
  • InfoSphere Information Services Director thể hiện các khả năng quản lý thông tin như là các dịch vụ. Nó đóng gói logic tích hợp thông tin, các quy tắc làm sạch, truy cập thông tin v.v như là các dịch vụ. Điều này cách ly nhà phát triển ra khỏi nhà cung cấp bên dưới của chức năng này. Điều liên quan nhất tới bài viết này là khả năng của sản phẩm này trưng ra một truy cập liên hợp thông qua một giao diện hướng dịch vụ như EJB, JMS hoặc các dịch vụ Web. Sản phẩm này cung cấp cơ sở hạ tầng nền tảng gồm cân bằng tải và khả năng chịu lỗi với Information Services (Các dịch vụ thông tin). Nó thực hiện thành phần Hỗ trợ dịch vụ thông tin (Information Service Enablement) như minh họa trong Hình 2.
  • IBM Content Integrator cung cấp một giao diện thống nhất trên các hệ thống quản lý nội dung liên hợp. Các hoạt động truy cập nội dung điển hình được cung cấp qua nhiều nguồn nội dung; trong số này có IBM DB2™ Content Manager (Trình quản lý nội dung DB2 của IBM).

Lời cảm ơn

Chúng tôi xin cảm ơn Jonathan Adams, Kyle Brown, Lou Thomason và Fan Lu về sự hỗ trợ của họ trong lúc viết bài này và trong việc phát triển mẫu này.

Tài nguyên

Bình luận

developerWorks: Đăng nhập

Các trường được đánh dấu hoa thị là bắt buộc (*).


Bạn cần một ID của IBM?
Bạn quên định danh?


Bạn quên mật khẩu?
Đổi mật khẩu

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Ở lần bạn đăng nhập đầu tiên vào trang developerWorks, một hồ sơ cá nhân của bạn được tạo ra. Thông tin trong bản hồ sơ này (tên bạn, nước/vùng lãnh thổ, và tên cơ quan) sẽ được trưng ra cho mọi người và sẽ đi cùng các nội dung mà bạn đăng, trừ khi bạn chọn việc ẩn tên cơ quan của bạn. Bạn có thể cập nhật tài khoản trên trang IBM bất cứ khi nào.

Thông tin gửi đi được đảm bảo an toàn.

Chọn tên hiển thị của bạn



Lần đầu tiên bạn đăng nhập vào trang developerWorks, một bản trích ngang được tạo ra cho bạn, bạn cần phải chọn một tên để hiển thị. Tên hiển thị của bạn sẽ đi kèm theo các nội dung mà bạn đăng tải trên developerWorks.

Tên hiển thị cần có từ 3 đến 30 ký tự. Tên xuất hiện của bạn phải là duy nhất trên trang Cộng đồng developerWorks và vì lí do an ninh nó không phải là địa chỉ email của bạn.

Các trường được đánh dấu hoa thị là bắt buộc (*).

(Tên hiển thị cần có từ 3 đến 30 ký tự)

Bằng việc nhấn Gửi, bạn đã đồng ý với các điều khoản sử dụng developerWorks Điều khoản sử dụng.

 


Thông tin gửi đi được đảm bảo an toàn.


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=70
Zone=SOA và dịch vụ Web, Information Management
ArticleID=900702
ArticleTitle=Các mẫu dịch vụ thông tin, Phần 1: Mẫu liên hợp dữ liệu
publish-date=04262013