]Dịch vụ nhân bản dữ liệu (Replication) Replication là một tập các giả pháp cho phép sao chép, phân phối dữ liệu và đối tượng CSDL từ một CSDL SQL Server đến SQL Server khác, sau đó đồng bộ giữa hai CSDL với nhau. Sử dụng Replication, chúng ta có thể phân phối dữ liệu đến nhiều SQL Server khác nhau hay truy cập từ xa thông qua mạng cụ bộ hay internet. Replication cũng nâng cao tính thực hiện hay phân phối CSDL trên nhiều Server với nhau. 1 Những lợi ích mà Replication đem lại Replication đem lại nhiều lợi ích tùy thuộc và loại Replication mà bạn chọn và những tùy chọn mà chúng ta chọn. Nhưng một trong những lợi ích thông thường của SQL Replication là dữ liệu luôn sẵn sàng mọi lúc mọi nơi khi bạn cần. 2 Khi nào thì sử dụng Replication Replication là giải pháp được ứng dụng cho môi trường phân phối dữ liệu trên nhiều Server, chính vì vậy mà sử dụng chúng khi: • Sao chép và phân phối dữ liệu trên nhiều Server khác nhau • Phân phối bản sao dữ liệu theo lịch trình nhất định. • Phân phối dữ liệu vừa thay đổi trên nhiều Server khác nhau. • Cho phép nhiều người dùng và nhiều Server kết hợp dữ liệukhacs nhau một cách thống nhất mà không sợ mất dữ liệu. • Xây dựng CSDL sử dụng cho những ứng dụng trực tuyến hay ngoại tuyến • Xây dụng ứng dụng Web khi người dùng cần trình bày một số lượng lớn dữ liệu 3 Mô hình Replication. Microsoft SQL server 2000 Replication sử dụng công nghệ xuất bản để trình bày các thành phần và quá trình sử lý theo định dạng hình học topo. Mô hình bao gồm: • Publisher (nhà xuất bản). • Distributor (nhà phân phối). • Subcriber (Xuất bản phẩm) 3.1 Publisher. Distributor là một server nắm giữ chức năng trung tâm phân phối CSDL và lưu trữ dữ liệu quá khứ cùng với các chuyển tác (transactions) và siêu dữ liệu (meta data). Vai trò của Distributor phụ thuộc và loại replication mà chúng ta sử dụng. Một Distributor (remove distributor) truy cập từ xa là một server được tách ra từ Publisher và được cấu hình như một Distributor của Relication. Tương tự như vậy, một Distributor cụ bộ (local) là một server được cấu hình để tạo bản sao giữa Publisher và Distributor. 3.2 Subcribers Subcribers là những Server dùng để nhận dữ liệu và những Suncribers này đồng ý nhận những dữ liệu mà nó cần chứ không nhất thiết toàn bộ dữ liệu đang có của Publisher. 3.3 Publication. Publication là tập của một hay nhiều Article từ một CSDL. Chúng được nhóm lại với nhau một cách hệ thống thành một tâp dữ liệu cùng với các đối tượng CSDL mà bạn muốn nhân rộng trên nhiều Server với nhau. 3.4 Article Một Article là một bảng dữ liệu, một phần dữ liệu hay những đối tượng CSDL sẽ nhân rộng. Một Article có thể là một bảng dữ liệu bao gồm columns và rows, một stores produre hay đối tượng view hoặc hàm người dùng. 3.5 Subcriptions Một Subcritpion là một yêu cầu về bản sao dữ liệu hay một đối tượng CSDL cần nhân rộng. Subcribtion là tập những gì sẽ nhận khi thực hiện Replication. Đồng bộ hóa dữ liệu có thể thực hiện bởi Subcriber (Pull Replication) hay bởi Distributor (Push Replication). Mô hình tham khảo Hình 3.1 Mô hình replication tham khảo 4 Các loại Replication 4.1 Snapshot Replication Snapshot Replication: là quá trình thực hiện việt sao chép và phân phối đúng dữ liệu đối với các cơ sở tại một thời điểm Snapshot Replication không yêu cầu kiểm tra sự thay đổi bởi vì dữ liệu thay đổi không đươc nhân rông đến subscriber. Các tùy chọn có trong loại nay cho phép ban lọc dữ liệu sẽ dược nhân rộng và subscribers có thể lam thay đổi chúng để nhân rộng những thay đổi này Publisher cung với các subscribers khác. Snapshot Replication có hiệu dụng khi • Dữ liệu thường it thay đổi . • Chấp nhân bản sao của dữ liệu mà nó có thể hết thời hạn sử dụng . • Dùng khi bạn cần Replication dữ liệu có dung lượng nhỏ . • Vùng dữ liệu không kết nối. 4.2 Transactionnal replication Đối với Transaction Replication, nếu dữ liệu do Publissher thay đổi trong khi nhân rộng thì các chuyển tác riêng lẻ được nắm giữ và nhân bản đến Subcriber. SQL server 2000 kiểm soát các phát biểu INSERT, UPDATE, DELETE và những thay đổi do store procedure thực hiện. Tranctionnal replication được sử dụng khi : • Bạn muốn dự liệu thay đổi nhân rộng đến subscribers và xảy ra trong thời gian ngắn . • Subscribers đã kết nối với publisher. 4.3 Merge Replication Cho phép nhiều server làm việc độc lập (online hay ofline ) và hợp nhất dữ liệu thay đổi từ nhiều vùng khác nhau và một vùng thành viên và thống nhất dữ liệu sau đó .Đầu tiên dược áp dụng cho subscribers sau đó SQL 2000 sẽ theo dõi những thay đổi dựu liệu publisher và subscribers Dữ liệu được đồng bộ hóa giữa các server với nhau theo một lịch trình cụ thể . Merge Replication có hiêu dụng khi : • Nhiều subscribers càn cập nhật dữ liệu tại nhiều thời điểm khác nhau va nhân rông nhũng dữ liệu thay đổi này đên Publisher hay các subscribers còn lại . • Subscribers nhận dữ liệu thay đổi dữ liệu ngoại tuyến và đồng bộ hóa nhưng thay đổi sau này với các subscribers khác và Publisher .