Hệ thống tích hợp dữ liệu Tukwila được thiết kế có khả năng thích ứng với tốc độ truyền dữ liệu trong mạng Intranet và Internet (10 đến 100 MBps), và với nhiều nguồn dữ liệu. MiniCon là một thuật toán tính lại câu truy vấn một cách hiệu quả, nó ánh xạ đầu vào của truy vấn từ lược đồ toàn cục tới các nguồn dữ liệu. Tiếp theo, Tukwila tiến hành tính toán lại bản đồ dựa trên việc thực thi tối ưu hoá bộ phận. Hệ thống sử dụng toán tử X-Scan để thực hiện việc tích hợp quá trình xử lý dữ liệu XML. X-Scan cũng có khả năng xử lý mềm dẻo các dữ liệu không phải là XML. X-Scan kết nối các phần từ câu truy vấn, trả về kết quả dưới dạng các luồng dữ liệu thông qua mạng. XML được coi là một chuẩn cung cấp một định dạng dữ
Trang 72
liệu chung nhất cho nhiều nguồn khác nhau. Phiên bản mới nhất của Tukwila đang xây dựng một kiến trúc xử lý truy vấn mềm dẻo cho XML, và có thể dễ dàng kết hợp dữ liệu XML với tất cả các kiểu dữ liệu khác trong một tài liệu XML mới.
Kiến trúc của Tukwila (tài liệu [16]) được thể hiện trong hình vẽ 3.6, bao gồm các phần :
Câu truy vấn (Queries): Đưa câu truy vấn vào lược đồ trung gian.
Danh sách nguồn dữ liệu (Data source catalog): Danh sách chứa thông tin siêu dữ liệu về các nguồn dữ liệu. Đầu tiên là mô tả ngữ nghĩa của nội dung trong các nguồn dữ liệu. Thứ hai là thông tin về từng cặp nguồn dữ liệu có tính chất chồng chéo dữ liệu (ví dụ, khả năng dữ liệu d xuất hiện trong nguồn S1 nếu như chắc chắn d tồn tại trong nguồn S2). Cuối cùng, danh sách có thể chứa các số liệu thông kê chính về dữ liệu, ví dụ như: các yêu cầu truy cập một nguồn dữ liệu, qui mô của các mối tương quan trong các nguồn dữ liệu, tính chọn lọc của thông tin.
Tính toán lại truy vấn (Query Reformulation): Câu truy vấn trên lược đồ trung gian được đưa vào phần tính toán lại truy vấn trong Tukwila. Phần tính toán lại truy vấn thực hiện nhiệm vụ biến đổi câu truy vấn ban đầu thành một tập các câu truy vấn liên tiếp nhau tới các lược đồ nguồn dữ liệu
Bộ đánh giá truy vấn (Query Optimizer): Phần đánh giá truy vấn chuyển các câu truy vấn con vào một bản đồ thực thi truy vấn. Phần đánh giá truy vấn có khả năng viết lại một phần bản đồ nếu như nhận thấy các thông tin trả về có lỗi hoặc không chắc chắn, và nó cũng có khả năng tạo ra các qui tắc để định nghĩa các hành động thích ứng trong quá trình hệ thống hoạt động.
Bộ thực thi truy vấn (Query execution engine): phần thực thi truy vấn xử lý bản đồ truy vấn được sinh ra bởi phần đánh giá truy vấn. Phần thực thi
Trang 73
tập trung thời gian vào kết quả truy vấn và thiết kế toán tử làm thuận tiện và tối ưu cho việc lấy kết quả này.
Phần đánh giá Nguồn dữ liệu XML Lưu trữ tạm thời Ứng dụng người dùng Đánh giá truy vấn Bộ sinh XML Toán tử X-Scan Toán tử truy vấn Phần quản lý cây XML Quản lý trang Dữ liệu XML Bản đồ truy vấn Bộ kết quả
Hình 3.7: Kiến trúc của phần thực thi truy vấn Tukwila. Sau khi bản đồ truy vấn đến từ bộ đánh giá, dữ liệu đƣợc đọc từ các nguồn XML và chuyển thành các bộ kết quả nhờ phép toán x-scan. Các cây con đƣợc lƣu trữ trong một phần quản lý cây, và các bộ kết quả chứa các liên hệ tới các cây này. Phép toán truy vấn kết nối các cây và thêm các thẻ thông tin, sau đó chúng đƣợc đƣa vào một bộ sinh XML và trả về một chuỗi kết quả XML.
Trình bao bọc (Wrapper): Phần thực thi truy vấn tương tác với các nguồn dữ liệu thông qua các trình bao bọc. Trình bao bọc nắm giữ tương tác với các nguồn dữ liệu và biến đổi định dạng dữ liệu từ các nguồn tới các định dạng dữ liệu được sử dụng Tukwila.
Trang 74
Các toán tử trong Tukwila được tổ chức dưới dạng các đơn vị kênh liên lạc gọi là các thành phần. Tại điểm cuối của thành phần kết quả được tính toán, và các phần chưa được tính toán của câu truy vấn có thể được tính toán lại. Một bản đồ bao gồm một tập thứ tự các thành phần và một tập các luật toàn cục. Các phần phản ánh các ràng buộc trên thứ tự thực thi như là các luồng dữ liệu độc lập. Các luật toàn cục mã hoá các điều kiện thực thi, giống như việc chọn lựa tập các thành phần liên quan sau khi từng cái đã hoàn thành. Các thành phần không liên quan nằm trong thứ tự có thể được thực thi một cách độc lập.
Một thành phần chứa một cây kênh liên lạc đầy đủ của các toán tử vật lý và một tập các luật cục bộ. Mỗi một điểm nút của cây là một toán tử xác định: (1) toán tử đại số tại các nút (ví dụ như phép chọn, phép nối), (2) các phép toán bổ sung (ví dụ phép nối tự nhiên, phép nối hai kênh liên lạc), (3) các con của nút, (4) bộ nhớ chỉ định cho toán tử, và (5) đánh giá về kết quả.
Luật là các kỹ thuật chính để thể hiện các cách hoạt động thích ứng trong Tukwila:
Đánh giá lại: Tại cuối mỗi thành phần, nếu như kết quả đánh giá thành phần khác với kích thước thực tế, việc đánh giá sẽ được tự động gọi lại. Kế hoạch cho các tình huống ngẫu nhiên: Tại mỗi điểm cuối thành phần,
bộ phận thực thi có thể kiểm tra các thuộc tính của kết quả để có thể chọn thành phần tiếp theo.
Các toán tử thích ứng: việc thực hiện trong vấn đề tràn bộ nhớ khi kết nối hai kênh liên lạc cũng được thể hiện bằng các luật.
Lập lại chương trình: Qui tắc này được sử dụng khi một bản đồ thực thi tồn tại truy xuất nguồn dữ liệu vượt quá thời gian.
Các luật Tukwila có dạng “when <sự kiện> if <điều kiện> then <hoạt động> ”. Ví dụ: sử dụng luật gọi đánh giá để tính thành phần tiếp theo khi kết quả đánh giá
Trang 75
when closed(frag1) if card(join1) > 2 * est card(join1) then replan
Thông thường, luật trong Tukwila là một bộ (<sự kiện>, <điều kiện>, <hành động>). Sư kiện là điểm bắt đầu luật. Khi sự kiện xảy ra thì sẽ kiểm tra điều kiện. Nếu điều kiện đúng thì hành động được thực hiện.
Bộ phận thực thi truy vấn trong Tukwila không chỉ làm nhiệm vụ thực hiện bản đồ truy vấn, mà nó còn tập hợp thống kê về các toán tử và nắm bắt các trường hợp ngoại lệ. Hệ thống sẽ đưa bản đồ thực thi truy vấn từ phần đánh giá và gửi các luật tới phần điều khiển sự kiện.Tiếp theo mỗi một thành phần được thực hiện theo quá trình riêng của nó.
Như vậy, hệ thống Tukwila thực hiện việc truy vấn thông qua các module độc lập (wrappers, execution system, optimizer) truyền thông với nhau.
Hệ thống Tukwila được lập trình dựa trên các chuẩn hiện có bao gồm TCP, XML và Unicode. Tất cả việc truyền thông giữa các module đều xảy ra trên một giao diện socket. Bộ thực thi truy vấn của Tukwila có khoảng 25000 dòng lệnh và được viết bằng ngôn ngữ C++ trong môi trường Windows NT/Pentium II; bộ đánh giá và trình bao bọc được viết bằng ngôn ngữ Java và có thể chạy trên bất kỳ hệ thống nào có hỗ trợ ngôn ngữ này.
Trang 76
CHƢƠNG 4 - QUI TRÌNH PHÁT TRIỂN HỆ THỐNG TÍCH HỢP DỮ LIỆU.
Hệ thống tích hợp dữ liệu là một hệ thống lớn, liên quan đến nhiều nền tảng kỹ thuật khác nhau. Để xây dựng được một hệ thống tích hợp dữ liệu tốt, điều quan trọng là cần phải nắm bắt công nghệ và hiểu rõ các yêu cầu cần đặt ra đối với hệ thống (tham khảo [1],[2],[3],[17]). 1. Xác định 2. Phân tích 3. Thiết kế 4. Thực hiện 5. Kiểm thử hệ thống 6. Chấp nhận 7. Vận hành Hình 4.1 Các bƣớc phát triển một hệ thống tích hợp dữ liệu
Trong chương này sẽ trình bày quá trình xây dựng một hệ thống tích hợp dữ liệu đơn giản (Có thể tham khảo thêm thứ tự các bước chính trong việc xây dựng hệ
Trang 77
chủ yếu vào các yếu tố kỹ thuật. Quá trình phát triển một hệ thống tích hợp dữ liệu thông qua các bước sau:
Bƣớc Nội dung Mục đích Các hoạt động chính
1 Xác định Hiểu vấn đề.
Đánh giá ước lượng ban đầu. Đánh giá khối lượng công việc. Thời gian thực hiện.
- Xác định vấn đề. - Xác định mục tiêu. - Xác định kết quả. - Đánh giá mức độ rủi ro.
2 Phân tích Hệ thống tổng thể cần phải làm gì. Xây dựng các tài liệu tổng thể về việc phát triển, phân tích hệ thống. - Khảo sát. - Thiết kế mức tổng thể. - Đánh giá lại. 3 Thiết kế Từng thành phần cầu thành của hệ thống, hệ thống sẽ làm việc như thế nào. Các giải pháp và chi tiết cụ thể.
- Thiết kế hệ thống.
- Quyết định mua hoặc tự xây dựng.
- Rà soát chi tiết. - Đánh giá lại. 4 Thực hiện Xây dựng các thành phần cấu thành - Lập trình. - Mua. - Sở thích hoá. - Kiểm thử từng phần. 5 Kiểm thử hệ thống Hệ thống làm việc tốt, không lỗi. - Tích hợp. - Đảm bảo chất lượng. 6 Chấp nhận Hệ thống. được chấp nhận.
- Thực hiện qui trình demo đã định.
7 Vận hành Vận hành và hoàn thiện - Vận hành. - Chuyển đổi. - Đào tạo.
Trang 78
- Hỗ trợ.
- Rút kinh nghiệm
Bƣớc 1: Khởi tạo và lập kế hoạch xây dựng hệ thống tích hợp dữ liệu.
Đây là giai đoạn xác định tính khả thi của việc xây dựng hệ thống. Khi xây dựng bất kỳ một hệ thống nào chúng ta luôn phải trải qua bước này, không có lập kế hoạch và xác định các điều kiện cần và đủ thì việc xây dựng hệ thống sẽ không xảy ra.
Ngày nay, với sự phát triển mạnh mẽ của các tổ chức xã hội, các công ty, các hãng lớn nên nhu cầu xây dựng các hệ thống tích hợp được đẩy mạnh.
Bên cạnh đó, các kỹ thuật công nghệ cũng phát triển không ngừng, đó là nền tảng và động lực để xây dựng các hệ thống này:
Sự phát triển của Internet: Internet ra đời từ những năm 1980 và cùng với thời gian nó đã phát triển không ngừng. Internet đã trở thành một phần không thể thiếu trong cuộc sống hiện nay. Công nghệ ADSL ra đời, việc truy cập Internet dễ dàng và hơn. Đó cũng là điều kiện để nhiều ứng dụng có thể vận hành trông môi trường mạng.
Sự ra đời của chuẩn trao đổi dữ liệu XML (eXtensible Markup Language, ngôn ngữ đánh dấu có thể mở rộng). XML ra đời là đóng một vai trò rất quan trọng trong kỷ nguyên công nghệ thông tin. Và ngày nay các nhà nghiên cứu đã xác định rằng “Trung tâm của các giải pháp trong thế hệ kế tiếp của Internet sẽ là XML”. XML là một chuẩn công nghiệp mở được điều hành bởi World Wide Web Consortium, nó cho phép các nhà lập trình mô tả dữ liệu cho việc trao đổi giữa các máy PC, các thiết bị thông minh, ứng dụng và các website. Điểm quan trọng là XML tách biệt dữ liệu bên dưới ra khỏi phần hiển thị, bản thân dữ liệu được "giải phóng" để có thể được tổ chức, lập trình, biên tập lại và đem trao đổi giữa các web site, ứng dụng và thiết bị. XML là ngôn ngữ chung cho thời đại Internet. Giống như các trang web đã làm một cuộc cách mạng trong cách thức
Trang 79
người dùng nói chuyện với ứng dụng, XML đã làm thay đổi cách thức các ứng dụng nói chuyện với nhau.
Việc nghiên cứu về tích hợp dữ liệu được đẩy mạnh. Các trường Đại học như Washington, California, Kasas …đã nghiên cứu và đưa ra các mô hình cho tích hợp dữ liệu. Một trong những hệ thống được đánh giá cao hiện nay là hệ thống Tukwila của đại học Washington.
Các điểm chính khi xây dựng hệ thống tích hợp dữ liệu (xem thêm tại trang 6 tài liệu [23]):
Xác định rõ ràng mục tiêu của hệ thống.
Nắm vững các luật, các chính sách, tính riêng tư và tính bảo mật trong hệ thống.
Ánh xạ dữ liệu: vạch rõ các cấu trúc và mối liên hệ giữa các đơn vị cung cấp dữ liệu và đối tượng dữ liệu cần truy vấn.
Vòng đời dữ liệu: am hiểu rõ các nguồn dữ liệu cụ thể.
Các phép toán dữ liệu: xác định cách thức ánh xạ dữ liệu và các nguồn dữ liệu.
Xác định và xây dựng các kỹ thuật liên quan đến lưu trữ dữ liệu và quá trình xử lý yêu cầu.
Đánh giá tính mềm dẻo vào chính xác của các ánh xạ.
Mặc dù có rất nhiều sự thuận lợi về để các hệ thống tích hợp ra đời, nhưng vấn đề xây dựng một hệ thống tích hợp mềm dẻo, tối ưu vẫn là một thách thức. Thách thức đó nằm ở sự hỗn tạp và phân tán của các nguồn dữ liệu. Chúng ta cần tìm ra cách thức và thuật toán để xây dựng các ánh xạ tối ưu giữa các nguồn dữ liệu đó.
Đê xây dựng thành công một hệ thống tích hợp dữ liệu một phần mà chúng ta luôn cần quan tâm đó là nhân lực tham gia dự án. Chúng ta cần phân chia thành các đội, mỗi đội có những chức năng và quản lý những phần thông tin ở các bước khác nhau trong dự án. Các nhóm này thường bao gồm: (1) nhóm quản trị dự án, (2) nhóm phân tích phải hiểu rõ luồng nghiệp vụ, chức năng các yêu cầu và các tương
Trang 80
tác thông tin trong hệ thống, (3) nhóm lập trình viên cần có kỹ thuật lập trình tốt, cần có các khả năng về truy vấn dữ liệu, xây dựng các form dữ liệu và xây dựng các giao diện tương tác trong hệ thống.
Bƣớc 2: Phân tích
Giai đoạn phân tích nhằm mục tiêu xác định hệ thống sẽ phải làm những gì. Các chức năng thông thường của một hệ thống tích hợp dữ liệu đó là: truy vấn thông tin từ nhiều nguồn dữ liệu phân tán và hỗn tạp (cú pháp, cấu trúc, ngữ nghĩa, hệ thống); thêm bớt các nguồn dữ liệu cần truy vấn vào hệ thống một cách dễ dàng; hiển thị các thống tin truy vấn đối với người dùng; …
Lược đồ nguồn dữ liệu 1 Lược đồ nguồn dữ liệu 2 Lược đồ nguồn dữ liệu 3
Trình bao bọc Trình bao bọc Trình bao bọc
www.raovat.net www.nokia.com.vn http://thegioididong.com/
Lược đồ trung gian
Tìm máy điện thoại di động với giá tiền < 900 nghìn
Hệ thống tích hợp dữ liệu/ Trình trung gian
Hình 4.2: Ví dụ một hệ thống tích hợp dữ liệu.
Trang 81
Công việc chính xác định mọi chức năng, mọi hành vi của hệ thống. Giai đoạn này là giai đoạn xác định Đặc tả chức năng.
Sau xác định xong các Đặc tả chức năng, chúng ta đã có hiểu biết đầy đủ hơn về hệ thống thông tin cần phải xây dựng, do đó cần đánh giá lại một lần nữa phần xác định hệ thống.
Trong giai đoạn phân tích, ta cũng thực hiện một phần công việc của giai đoạn thiết kế. Đó là Thiết kế tổng thể (thiết kế mức tổng quát - Top level design - TLD).
Trong hình vẽ 4.2 là một mô hình tích hợp dữ liệu đơn giản. Đây là một bài toán tìm kiếm thông tin trên các nguồn dữ liệu là các trang Web. Giả sử chúng ta cần tìm một cái điện thoại có giá rẻ hơn 900 nghìn. Đầu tiên chúng ta gửi yêu cầu vào hệ thống; tiếp theo hệ thống sẽ phân tích yêu cầu, dựa vào đặc tả của các nguồn dữ liệu để xây dựng các câu truy vấn con cho các nguồn dữ liệu. Sau khi lấy thông tin từ các nguồn dữ liệu về, tại lược đồ trung gian sẽ kết hợp các kết quả thành câu trả lời dựa trên yêu cầu ban đầu. Kết quả trả lời không chỉ là tên và giá của điện