Thứ Hai, 6 tháng 10, 2014

Nguyên Tắc Hoạt Ðộng Của Transaction Log Trong SQL Server

Transaction log file trong SQL Server dùng để ghi lại các thay đổi xảy ra trong database. Quá trình này diễn ra như sau: đầu tiên khi có một sự thay đổi data như Insert, Update, Delete được yêu cầu từ các ứng dụng, SQL Server sẽ tải (load) data page tương ứng lên memory (vùng bộ nhớ này gọi là data cache), sau đó data trong data cache được thay đổi(những trang bị thay đổi còn gọi là dirty-page). Tiếp theo mọi sự thay đổi đều được ghi vào transaction log file cho nên người ta gọi là write-ahead log. Cuối cùng thì một quá trình gọi là Check Point Process sẽ kiểm tra và viết tất cả những transaction đã được commited (hoàn tất) vào dĩa cứng (flushing the page).

Ngoài Check Point Process những dirty-page còn được đưa vào dĩa bởi một Lazy writer. Ðây là một anh chàng làm việc âm thầm chỉ thức giấc và quét qua phần data cache theo một chu kỳ nhất định sau đó lại ngủ yên chờ lần quét tới.
Xin giải thích thêm một chút về khái niệm transaction trong database. Một transaction hay một giao dịch là một loạt các hoạt động xảy ra được xem như một công việc đơn (unit of work) nghĩa là hoặc thành công toàn bộ hoặc không làm gì cả (all or nothing). Sau đây là một ví dụ cổ điển về transaction:
Chúng ta muốn chuyển một số tiền $500 từ account A sang
account B như vậy công việc này cần làm các bước sau:
  1. Trừ $500 từ account A
  2. Cộng $500 vào account B
Tuy nhiên việc chuyển tiền trên phải được thực hiện dưới dạng một transaction nghĩa là giao dịch chỉ được xem là hoàn tất (commited) khi cả hai bước trên đều thực hiện thành công. Nếu vì một lý do nào đó ta chỉ có thể thực hiện được bước 1 (chẳng hạn như vừa xong bước 1 thì điện cúp hay máy bị treo) thì xem như giao dịch không hoàn tất và cần phải được phục hồi lại trạng thái ban đầu (roll back).
Thế thì Check Point Process hoạt động như thế nào để có thể đảm bảo một transaction được thực thi mà không làm "dơ" database.


Trong hình vẽ trên, một transaction được biểu diễn bằng một mũi tên. Trục nằm ngang là trục thời gian. Giả sử một Check Point được đánh dấu vào thời điểm giữa transaction 2 và 3 như hình vẽ và sau đó sự cố xãy ra trước khi gặp một Check point kế tiếp. Như vậy khi SQL Server được restart nó sẽ dựa trên những gì ghi trong transaction log file để phục hồi data (xem hình vẽ).
Ðiều đó có nghĩa là SQL Server sẽ không cần làm gì cả đối với transaction 1 vì tại thời điểm Check point data đã được lưu vào dĩa rồi. Trong khi đó transaction 2 và 4 sẽ được roll forward vì tuy đã được commited nhưng do sự cố xảy ra trước thời điểm check point kế tiếp nên data chưa kịp lưu vào dĩa. Tức là dựa trên những thông tin được ghi trên log file SQL Server hoàn toàn có đầy đủ cơ sở để viết vào dĩa cứng. Còn transaction 3 và 5 thì chưa được commited (do bị down bất ngờ) cho nên SQL Server sẽ roll back hai transaction này dựa trên những gì được ghi trên log file.

1 nhận xét:

  1. mang thai bao nhiêu tuần thì biết trai hay gáiĐoán giới tính thai nhi theo kinh nghiệm dân gian của ông bà ta truyền lại vẫn luôn là những mẹo nhỏ hữu ích giúp các bà các mẹ có được những căn cứ chẩn đoán. fine pure collagen gia bao nhieuCollagen cũng bị ảnh hưởng rất nhiều bởi áp lực môi trường như tiếp xúc với ánh nắng mặt trời, dinh dưỡng, tổn thương da, và tiếp xúc với các chất độc như các chất ô nhiễm, khói thuốc lá. Với việc giảm lượng collagen, da mất độ đàn hồi tự nhiên của nó, khiến da xuất hiện nhiều nếp nhăn, chảy xệ. thực đơn giảm cân sau sinh mổMón ăn này dễ nấu và nhanh nên có thể bổ sung vào thực đơn ăn sáng cho mẹ. bao nhieu tuoi thi nen uong callogenTuy nhiên Collagen ko phải thuốc thánh nên nếu em ko biết cách chăm sóc cho da như tẩy da chết ,đăp mặt nạ ( tuần 2 lần ) dùng toner hàng ngày và nhiều vấn đề khác cần thiết cho da của em thì uống Collagen cũng ko giúp đc bao nhiều đâu em ah . uống collagen bao lâu thì mới có hiệu quảDa mặt có thể căng mịn, trắng sáng khi còn trẻ và chùng nhão, nhiều nếp nhăn, nám sạm khi về già là do sự thay đổi về chất và lượng của collagen, vì thế cần duy trì lượng collagen cần thiết bằng cách bổ sung kịp thời lượng thiếu hụt chính là nhân tố quan trọng nhất giúp duy trì sự trẻ trung, tươi sáng cho da. thuoc fine pure collagenFine Pure Collagen là dòng sản phẩm có tác dụng làm đẹp vừa giúp trẻ hóa từ trong ra ngoài, giúp da trắng sắng không thâm nám, giúp da không nhờn và cũng không bị khô. Ngoài ra, sản phẩm còn tốt cho mắt, tim mạch, cơ khớp gối, tăng cường hệ miễn dịch, giúp cơ thể khỏe mạnh. nên uống collagen khi nàoTrong đó, buổi tối mang lại hiệu quả cao nhất do buổi tối là thời điểm cơ thể được nghỉ ngơi và da làm công việc tái tạo lại. Lúc này, các hormon sinh trưởng trong người được tiết ra nhiều hơn nên có tác dụng thúc đẩy sự sinh trưởng, tái tạo làn da, giữ cho da được mịn màng. Theo đó, nên uống collagen trước khi đi ngủ khoảng 30 phút, uống một cốc nước lọc ấm và mát xa da mặt nhẹ nhàng bằng tay sạch.

    Trả lờiXóa