Nhân bản trong SQL server 7.0 - Pdf 62

NHÂN BẢN TRONG
SQL SERVER 7.0

CHƯƠNG 1:
GIỚI THIỆU VỀ NHÂN BẢN
I. GIỚI THIỆU CHUNG
Nhân bản là sự duy trì trực tiếp các bản sao dữ liệu và một số các tài nguyên khác. Nó là chìa
khoá trong một hệ thống phân bố hiệu quả, trong đó nó có thể làm tăng hiệu suất máy, độ sẵn
sàng cao và ít sai sót.
Mục đích của việc nhân bản:
I.1 Tăng hiệu suất máy tính:
Nhân bản dữ liệu đến các server làm tăng hiệu suất đáp ứng thời gian thực của hệ
thống, giải quyết được tình trạng thắt cổ chai (bottleneck), và làm giảm số lượng đầu vào một
cách đáng kể (số lượng user vào thao tác trên dữ liệu giảm).
I.2 Tăng tính sẵn sàng:
Nếu dữ liệu được nhân bản đến nhiều server độc lập nhau thì có thể thay thế server
mặc đònh bằng server khác khi server mặc đònh bò hư , do đó xác suất để hệ thống sẵn sàng
tăng lên, cũng có nghóa là khả năng thành công cho một ứng dụng bất kì tăng lên. Giả sử có n
replica và xác suất để một máy chết là p lúc đó xác suất để n máy chết là pn do đó độ sẵn sàng
sẽ là 1-pn.
I.3 Ít sai sót:
Khả năng này mạnh hơn tính sẵn sàng cao, vì nó có thể bao gồm cả đảm bảo về thời
gian thực và đảm bảo về các sai sót không mong muốn sẽ không xuất hiện.
Ví dụ: Nếu yêu cầu được xử lý trên hệ thống có một server thì khi server này chết giữa
chừng sẽ không biết server này đã thực hiện xong chưa. Nhưng trong hệ thống có nhân bản, nếu
1 server bò chết các server khác sẽ xử lý tiếp tục cho đến khi hoàn tất.
II. YÊU CẦU TRONG NHÂN BẢN:
Có 2 yêu cầu chính khi nhân bản dữ liệu:
• Trong suốt
• Nhất quán
II.1 Trong suốt:

- Bảo đảm tất cả dữ liệu giống nhau tại mọi site ở bất kì thời điểm.
- Tất cả giao dòch thực hiện tại một site duy nhất.
Có 2 loại :
I.1.1.a Nhất quán lập tức (Immediate Transactional Consistency hay
Tight Consistency trong MS SQL Server 6.0):
Ở kiểu này, tất cả các site được bảo đảm là luôn thấy cùng giá trò dữ liệu
tại cùng một thời điểm. Cách duy nhất để đạt được nhất quán giao dòch
(transactional consistency) trong môi trường cập nhật phân bố (distributed update
environment) là sử dụng 2-phase commit protocol giữa tất cả site tham gia
(participating site). Mỗi site phải commit đồng thời mọi thay đổi hoặc không site
nào commit những thay đổi. Giải pháp này rõ ràng không khả thi khi số lượng
site quá lớn.
I.1.1.b Nhất quán ngầm (Latent Transactional Consistency hay Loose
Consistency trong MS SQL Server 6.0) :
Có một sự nhất quán ngầm giữa các site tham gia do cóù một sự trì hoãn
trong việc phản ánh các giá trò dữ liệu đến các site tham gia và vào lúc này các
site không bảo đảm có cùng giá trò dữ liệu. Việc sửa đổi các giá trò dữ liệu có thể
bò trì hoãn đủ lâu để tất cả các site cùng cập nhật, sau đó tất cả các site sẽ có
cùng giá trò dữ liệu. Ngoài ra các giá trò dữ liệu này cũng phải giống với những
giá trò đạt được khi thực hiện các công việc tại một site.Sự khác nhau duy nhất
giữa nhất quán giao dòch lập tức và nhất quán giao dòch ngầm là dữ liệu có nhất
quán tại cùng một lúc hay không?
I.1.2 Hội tụ dữ liệu:
Với sự hội tụ dữ liệu, tất cả các site có thể quy về cùng 1 giá trò dữ liệu nhưng
không nhất thiết là giá trò dữ liệu này bò gây ra bởi những tác vụ được làm trên một site
duy nhất. User có thể tự do thao tác trên các site theo các cách khác nhau. Khi các nút
(node) đồng bộ, tất cả các site sẽ hội tụ về cùng 1 giá trò.
Nếu đụng độ gây ra bởi sự sửa đổi cùng 1 dữ liệu tại những site khác nhau thì
những sửa đổi này sẽ được giải quyết một cách tự động( chọn site có độ ưu tiên cao hơn
hay site đưa sửa đổi đến trước...).

đến Subscriber ngay khi những thay đổi này xảy ra ở Publisher.
- Push Subscription giúp việc quản lý các Subcsriber đơn giản và tập trung hơn,
đồng thời giúp bảo mật tốt hơn vì qúa trình khởi động (initialization process) sẽ được
quản lý tại một chỗ . Nhưng vì thế, Distributor có thể phải đảm nhận nhiều quá trình
phân bố subscription đến các Subscriber cùng một lúc . Điều này dễ dẫn đến hiện tượng
thắt cổ chai (bottleneck) .
- Mô hình này không thích hợp khi số lượng các Subscriber trở nên quá lớn.
Distributor
o Receives
data changes
o Hold copy of
data
o Maintains
source
databases
o Makes data
available for
SubcriberPulisher
o Receives
and stores
changes
o Forwards
changes to
- Push subscription gây ra 1 phí xử lý cao hơn tại Publisher. Để tránh hiện
tượng này, những thay đổi có thể được đẩy đến Subscriber theo một lòch đònh kì.
II.2.2 Pull subscription:
- Subsciber kéo (pull) những thay đổi tại Publisher về theo một khoảng thời
gian đònh kì.
- Tốt cho những user độc lập thay đổi bởi vì chúng cho phép user xác đònh khi
nào thì những thay đổi dữ liệu được đồng bộ

Transactional Consistency
SiteAutonomy
Immediate Transactional Consistency
Di chuyển và điều hòa những thay đổi dữ liệu xảy ra sau khi 1 snapshot khởi động
(initial snapshot) được tạo. Mỗi merge publication có 1 merge agent ,liên kết và cập nhật được
với cả hai Publisher và Subscriber.
IV. CÁC LOẠI NHÂN BẢN:
Trong thực tế khó có thể có được một loại nhân bản phù hợp mọi yêu cầu. Công việc
kinh doanh thường đòi hỏi nhiều ứng dụng khác nhau vì thế SQL Server đã đưa ra nhiều cách
thức nhân bản để đáp ứng các yêu cầu đó.
SQL Server đưa ra 3 loại nhân bản để sử dụng khi thiết kế ứng dụng:
• Nhân bản snapshot
• Nhân bản transaction
• Nhân bản kết hợp
Mỗi loại cung cấp các khả năng và thuộc tính khác nhau nhằm đặt đến mục tiêu của
tính độc lập site và sự nhất quán dữ liệu.
CHƯƠNG 3:
CÁC LOẠI NHÂN BẢN
I. NHÂN BẢN SNAPSHOT ( snapshot replication ) :
I.1 Giới thiệu:
Nhân bản snapshot là loại nhân bản đơn giản nhất, nhân bản snapshot sao chép toàn bộ
dữ liệu cần nhân bản (còn gọi là quá trình làm tươi dữ liệu) từ Publisher đến các Subscriber. Nó
đảm bảo sự nhất quán tiềm ẩn (Latent Transactional Consistency) giữa Publisher và Subscriber.
Nhân bản snapshot được đánh giá cao trong các ứng dụng chỉ đọc như tìm kiếm hay các hệ
thống không yêu cầu dữ liệu mới nhất và dung lượng dữ liệu không lớn.
Nhân bản Snapshot gửi tất cả dữ liệu đến cho Subscriber thay vì chỉ gửi những thay đổi.
Nếu mẫu dữ liệu rất lớn nó phải cần đến hệ thống mạng đủ mạnh để truyền dữ liệu. Khi sử
dụng nhân bản snapshot cần phải tính đến tỉ lệ giữa kích cỡ của toàn bộ dữ liệu và những thay
đổi của nó.
I.2 Tác nhân (agent):

II. NHÂN BẢN GIAO DỊCH (Transactional Replication)
II.1 Giới thiệu:
Sử dụng nhân bản giao dòch để nhân bản 2 kiểu đối tượng khác nhau: table và stored
procedure. Bạn có thể chọn tất cả hay 1 phần của 1 table được nhân bản như là 1 article trong
publication. Tương tự, bạn cũng có thể chọn 1 hay nhiều stored procedure được nhân bản như là
1 article trong cùng hay khác publication.
Nhân bản giao dòch sử dụng transaction log để giữ những thay đổi được làm trên dữ liệu
trong 1 article. SQL Server giám sát những lệnh insert, update, delete hay những sửa đổi trên
dữ liệu và lưu những thay đổi đó lên CSDL phân bố (distribution database). Những thay đổi đó
sẽ được gởi đến Subscriber và tuân theo một trật tự nhất đònh.


Nhờ tải bản gốc
Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status