Dữ liệuDữ liệu
4.2.2.4 Nhân bản dữ liệu
Nhân bản dữ liệu (Data replication) đợc coi nh một công việc cơ bản trong xử lý dữ liệu. Tuỳ thuộc vào mục đích của dữ liệu đợc nhân bản, bản sao phải đợc đồng nhất với nguồn của nó hoặc có thể bị thay đổi trong một số trờng hợp đặc biệt.
Sự cần thiết phải nhân bản dữ liệu khi xếp vào kho dữ liệu là hiển nhiên xuất phát từ các nhu cầu cần đợc thoả mãn nh:
+ Tạo ra lớp dữ liệu nghiệp vụ điều hoà + Tạo ra lớp dữ liệu dẫn xuất
+ Tạo ra lớp siêu dữ liệu cách dùng.
Phần này giới thiệu tính năng kỹ thuật về nhân bản dữ liệu. Ta sẽ bắt đầu với một câu hỏi là tại sao cách tiếp cận truyền thống để sao chép dữ liệu là không thích hợp trong môi trờng kho dữ liệu.
Trong khi kiến trúc dữ liệu và các hoạt động mô hình hoá tạo ra một thách thức lớn trong phần thiết kế kho dữ liệu, việc thu thập dữ liệu trong quá trình triển khai lại bao gồm phần lớn thời gian thực hiện. Do vậy, việc lựa chọn cách tiếp cận sẽ ảnh hởng tới sự thực hiện vật lý của mô hình dữ liệu xí nghiệp trong lớp điều hoà. Hơn nữa, các vị trí vật lý khác nhau của nguồn và đích có thể hạn chế khả năng thực hiện các công cụ triển khai.
Do đó, khi triển khai kho dữ liệu, nhân bản dữ liệu phải tính đến các vấn đề: chức năng hoạt động, các nền tảng phần cứng, hệ điều hành và hệ quản trị CSDL đợc hỗ trợ, dễ dàng bảo trì, hỗ trợ mềm dẻo cho các thay đổi nghiệp vụ, tính dễ dùng và hiệu năng thực hiện.
Sao chép dữ liệu ở mức ứng dụng (Application-level data copying)
Theo cách tiếp cận truyền thống này, các yêu cầu về dữ liệu sao chép đợc xác định chỉ trong phạm vi của ứng dụng trong thời gian phát triển. Một chơng trình sao chép dữ liệu thờng đợc thiết kế và xây dựng để trích ra dữ liệu từ nguồn và phân phát nó tới môi tr- ờng đích. Cách tiếp cận này gọi là sao chép dữ liệu ở mức ứng dụng.
Sửa chữa các chơng trình sao chép là một thách thức (khó khăn) khi CSDL tác nghiệp nguồn thay đổi về cấu trúc hoặc nội dung. Với các thay đổi về nghiệp vụ, các chơng trình sao chép cũng phải đợc sửa đổi. Việc nâng cấp theo các thay đổi thờng rất phức tạp, bởi vì sẽ có nhiều phần liên quan đến một thay đổi và khó kiểm soát hết đợc. Hơn nữa, sẽ cần phải có một khoảng thời gian ngng trệ bắt buộc để các chơng trình sao chép đợc cập nhật trong lúc các thay đổi thiết kế trong CSDL nguồn đợc hoàn thành.
Dữ liệu đợc sao chép bởi nhiều chơng trình từ nhiều nguồn dữ liệu tác nghiệp khác nhau khó duy trì đợc tính nhất quán và có thể gây ra các xung đột đáng kể.
Khi yêu cầu sao chép tăng, ngoài độ phức tạp của nghiệp vụ bảo đảm tính nhất quán dữ liệu và nghiệp vụ, các tài nguyên tính toán có thể bị chiếm rất nhanh, ảnh hởng đến hiệu năng chung của hệ thống.
Nhân bản dữ liệu
Nhân bản dữ liệu có các đặc trng sau:
+ Điều khiển đợc: Nhân bản dữ liệu sẽ đảm bảo tính nhất quán của kết quả, bất kể dữ liệu đó đợc sao chép khi nào, nh thế nào hoặc đợc thao tác nh thế nào, khi nào.
+ Quản lý đợc: Nhân bản dữ liệu cung cấp khả năng tạo, sửa đổi và loại bỏ.
+ Linh hoạt: Nhân bản dữ liệu cho phép kết hợp các chức năng và các kỹ thuật cần thiết.
+ Dễ dàng duy trì: Nhân bản dữ liệu có thể đáp ứng nhanh chóng và hiệu quả với các thay đổi về cấu trúc hoặc vị trí của các tập dữ liệu nguồn và đích.
+ Khả năng tích hợp các siêu dữ liệu: Nhân bản dữ liệu cung cấp sự liên kết tới siêu dữ liệu ở cả dữ liệu nguồn và đích. và sử dụng hoặc cung cấp siêu dữ liệu khi cần.
+ Hiệu suất cao: Cung cấp các phơng pháp hỗ trợ các nguồn dữ liệu lớn ở nhiều mức đồng bộ khác nhau.
+ Tính đa dạng của nguồn dữ liệu: Nhân bản dữ liệu hỗ trợ sự đa dạng của các đặc trng nguồn dữ liệu của môi trờng tính toán hiện nay qua một cách tiếp cận đơn lẻ hoặc qua một tập các kết nối.
+ Dễ sử dụng: Ngời sử dụng với kỹ năng kỹ thuật từ mức bình thờng đến mức quản trị cơ sở dữ liệu đều có thể sử dụng công cụ này.
Để nhân bản dữ liệu theo một cách nhất quán phù hợp với các đặc trng nêu trên, các bớc trong quá trình nhân bản dữ liệu đợc xác định nh sau:
1. Xác định dữ liệu nguồn
Nguồn dữ liệu cần phải có trớc khi triển khai kho dữ liệu. Vì vậy, quá trình nhân bản dữ liệu, đầu tiên phải xác định các nguồn dữ liệu đang tồn tại.
2. Chỉ ra hoặc xác định dữ liệu đích
Dữ liệu đích thờng không tồn tại trớc khi định nghĩa tiến trình nhân bản. Cấu trúc của dữ liệu đích phải đợc xác định thông qua quá trình mô hình dữ liệu nh đã mô tả. Tuy nhiên, trong một trờng hợp cụ thể, khi quá trình tạo bản sao đợc sử dụng để tạo ra một số kiểu dữ liệu dẫn xuất, việc định nghĩa cấu trúc dữ liệu đích có thể là một bộ phận trong định nghĩa của tiến trình nhân bản. Vì vậy, công việc này phải hỗ trợ cả việc xác định dữ liệu đích đang tồn tại và tạo lập một định nghĩa mới nếu có yêu cầu.
3. Tạo ánh xạ giữa nguồn và đích
Khi các định nghĩa của dữ liệu nguồn và đích đã có sẵn, nhiệm vụ tiếp theo là phải định nghĩa dữ liệu nguồn đợc chuyển vào dữ liệu đích nh thế nào. Việc định nghĩa nhân bản này phải đòi hỏi xử lý rất nhiều kiểu chuyển đổi khác nhau. Hơn nữa, các phần tử dữ liệu nguồn có thể đợc két hợp, tổng hợp để sinh ra dữ liệu mới trong môi trờng đích. 4. Xác định cách nhân bản.
Có hai cách tạo nhân bản dữ liệu : làm tơi và cập nhật, trong đó làm tơi là cách di chuyển toàn bộ dữ liệu từ nguồn tới đích và cập nhật xác định và chỉ di chuyển các dữ liệu bị thay đổi từ môi trờng nguồn tới môi trờng đích.
5. Lập lịch thực hiện nhân bản
Các nhân bản dữ liệu có thể đợc lập lịch làm tơi hoặc cập nhật theo định kỳ, ví dụ hàng tuần, hàng tháng, vv.
6. Kết xuất dữ liệu đòi hỏi từ nguồn.
Đây là bớc diễn ra thực tế kết xuất dữ liệu từ nguồn sang đích tuân theo lịch đề ra ở bớc 5 và không cần có can thiệp của ngời sử dụng. Phơng pháp kết xuất phụ thuộc vào công nghệ lu trữ dữ liệu nguồn và cách nhân bản cũng đợc xác định ở bớc trớc.
7. Di chuyển dữ liệu đã kết xuất từ nguồn sang đích.
Phơng pháp di chuyển dữ liệu phải đáp ứng môi trờng không đồng nhất, trong đó nguồn và đích có thể là các kiểu máy, có khuôn dạng, ở vùng lu trữ khác nhau.
8. Chuyển đổi dữ liệu kết xuất dựa trên ánh xạ đã xác định
Bớc chuyển đổi có thể xảy ra trong môi trờng nguồn hoặc môi trờng đích hoặc cả hai. Các chuyển đổi thực hiện ở các mức khác nhau. Ví dụ, thay đổi một hoặc nhiều trờng với một bản ghi, kết hợp, gộp các bản ghi từ nhiều nguồn khác nhau v.v..
9. Đa dữ liệu đã chuyển đổi vào đích.
Dữ liệu có thể đa vào đích theo hai cách cơ bản: thay thế dữ liệu đang có và thêm vào dữ liệu đang có.
10. Khẳng định sự thành công, thất bại của nhân bản
Các bớc trong quá trình tạo nhân bản dữ liệu đều có thể bị thất bại. Khi đó, nên áp dụng một cơ cấu quay lui khắc phục các lỗi cụ thể. Tuy nhiên, nếu tiến trình không hoàn thành, các báo lỗi cần đa ra để tìm cách khắc phục.
Các công cụ nhân bản ghi chép thành công hay thất bại ở mỗi bớc vào trong siêu dữ liệu, giúp ngời sử dụng có các thông tin về dữ liệu hiện trạng trong hệ thống đích.
12. Bảo trì các định nghĩa về nguồn, đích và ánh xạ nhân bản.
Khi nghiệp vụ thay đổi, phải cập nhật lại định nghĩa của quá trình tạo nhân bản để phản ánh các thay đổi trong dữ liệu nguồn, các yêu cầu mới cho dữ liệu đích, các sự chuyển đổi dữ liệu mới v.v...
Mô hình hoá dữ liệu xí nghiệp và nhân bản dữ liệu
Mô hình hoá dữ liệu xí nghiệp có quan hệ chặt chẽ với việc tạo ra quan hệ hoặc ánh xạ giữa dữ liệu nguồn và đích. Tạo ánh xạ giữa dữ liệu nguồn và đích chính là thiết lập nguồn nuôi dữ liệu cho đích sử dụng. Do vậy, thiết lập ánh xạ nguồn và đích là một phần trong mô hình hoá dữ liệu xí nghiệp.
Nhân bản dữ liệu đợc sử dụng rộng rãi trong các kỹ thuật lu trữ, quản lý dữ liệu hiện nay. Nhân bản dữ liệu đợc xác định theo nhu cầu của kho dữ liệu để xây dựng và duy trì các cấu trúc dữ liệu của lớp dữ liệu điều hoà, lớp dữ liệu dẫn xuất và của kho siêu dữ liệu. Nhân bản dữ liệu thực chất cũng đợc dùng để đồng bộ hoá dữ liệu giữa các CSDL phân tán.