Snapshot được biết đến là một hình thức sao lưu dữ liệu một cách tạm thời. Tuy nhiên nhiều người hay nhầm lẫn hình thức này với backup dữ liệu. Vậy snapshot là gì? Tính năng ưu việt của snapshot là gì? Hôm nay hãy cùng thisiseyecandy.com tìm hiểu về snapshot dữ liệu qua bài viết dưới đây nhé!
Contents
I. Snapshot là gì?
Snapshot là gì? Đây là một thuật ngữ dùng để chỉ một bức ảnh được chụp nhanh chóng và không nhằm mục đích nghệ thuật. Do đó, về mặt nghệ thuật hay bố cục, bức ảnh này không đạt đủ độ sắc nét và không hoàn hảo. Do đó, hầu hết những bức ảnh này chỉ được sử dụng cho các thành viên trong gia đình, vật nuôi,…
Còn trong công nghệ thông tin, snapshot là ảnh chụp tĩnh chỉ đọc (read-only). Snapshot cơ sở dữ liệu là một bản ghi song song, nhất quán của cơ sở dữ liệu tại thời điểm ảnh chụp nhanh được tạo.
Nói một cách đơn giản, hình ảnh được chụp bởi snapshot tại thời điểm đó được ghi lại một cách chính xác cùng lúc với trạng thái đã chụp của cơ sở dữ liệu nguồn. Snapshot luôn nằm trên cùng một phiên bản máy chủ với cơ sở dữ liệu nguồn. Được cập nhật khi cơ sở dữ liệu nguồn được cập nhật.
Do đó, snapshot cơ sở dữ liệu càng dài thì càng có nhiều khả năng hết dung lượng đĩa trống. Có thể có nhiều ảnh chụp nhanh khác nhau của cùng một cơ sở dữ liệu nguồn được chỉ định. Mỗi ảnh chụp nhanh cơ sở dữ liệu vẫn hoạt động cho đến khi bị chủ sở hữu cơ sở dữ liệu xóa.
II. Cơ chế hoạt động của snapshot
Snapshot cơ sở dữ liệu hoạt động ở cấp độ data-page. Trước khi trang cơ sở dữ liệu nguồn được sửa đổi lần đầu tiên, trang gốc được sao chép từ cơ sở dữ liệu nguồn sang ảnh chụp nhanh.
Snapshot lưu trang gốc, giữ lại các bản ghi đã tồn tại khi ảnh chụp nhanh được tạo. Quá trình tương tự được lặp lại cho mỗi trang trong bản sửa đổi ban đầu.
Đối với người dùng, snapshot cơ sở dữ liệu thường không thay đổi. Điều này là do các thao tác đọc trên ảnh chụp nhanh cơ sở dữ liệu luôn truy cập các trang dữ liệu gốc dù chúng ở đâu.
Snapshot sử dụng một hoặc nhiều tệp được phân phối để lưu trữ các trang gốc đã được sao chép. Ban đầu, tệp phân tán là một tệp hoàn toàn trống, không chứa dữ liệu người dùng và không có không gian dữ liệu người dùng được phân bổ trên ổ cứng. Càng nhiều trang được cập nhật trong cơ sở dữ liệu, tệp càng lớn.
III. Lợi ích khi sử dụng snapshot
1. Quản lý dữ liệu hiệu quả
Snapshot giống như một bản ghi âm ghi lại cả một khoảng thời gian. Do đó, để giữ cho dữ liệu của bạn an toàn hơn, bạn nên sử dụng snapshot.
2. Sử dụng để nhân đôi dữ liệu
Metadata cũng lưu trữ dữ liệu và copy, nhân đôi rồi lưu lại trong snapshot trong khi thao tác. Quá trình lưu trữ kép này không tiêu tốn nhiều dung lượng và đảm bảo an toàn thông tin của người dùng. Vì vậy, nếu một khối dữ liệu cần được ghi đè, khối dữ liệu đó cũng sẽ được nhân bản trong snapshot.
3. Có thể duy trì dữ liệu để tạo báo cáo
Ảnh chụp nhanh có thể hỗ trợ báo cáo đặc quyền truy cập dữ liệu của người dùng tại một thời điểm cụ thể. Ví dụ, bạn có thể tạo cơ sở dữ liệu tại một thời điểm nhất định để giúp nó hữu ích cho việc báo cáo sau này.
Vì vậy, bạn có thể dễ dàng chạy nhiều báo cáo cuối cùng trên ảnh chụp nhanh. Nếu dung lượng ổ đĩa cho phép, những ảnh chụp nhanh này có thể được giữ lại để cho phép các truy vấn trả về các kết quả khác nhau theo thời gian.
4. Hoàn nguyên
Trong trường hợp xảy ra lỗi người dùng trên cơ sở dữ liệu nguồn, bạn có thể hoàn nguyên cơ sở dữ liệu nguồn về trạng thái mà ảnh chụp nhanh cơ sở dữ liệu được chỉ định đã được chụp (hoàn nguyên về trạng thái ban đầu). Kể từ khi giới thiệu ảnh chụp nhanh, việc mất dữ liệu trong quá trình cập nhật được kiểm soát hoàn toàn và hạn chế.
5. Bảo vệ dữ liệu với lỗi người dùng
Sử dụng snapshot với cơ sở dữ liệu sẽ giúp bạn giảm thiểu tác động từ lỗi người dùng tạo ra như xóa bảng. Để khôi phục dữ liệu do lỗi người dùng gây ra bạn có thể sử dụng hoàn nguyên để về snapshot ngày trước khi xảy ra lỗi.
IV. Có những loại snapshot nào?
1. Copy-on-Write Snapshots
Loại snapshot này trước khi snapshot được khởi tạo. Bây giờ hệ thống sẽ bắt đầu lưu metadata ban đầu của mỗi khối và thực hiện quá trình:
- Đọc khối dữ liệu trước khi ghi
- Tạo hoặc ghi và lưu từng ảnh chụp nhanh
- Dữ liệu mới ghi đè dữ liệu gốc
Ưu điểm của loại snapshots này chính là không tạo bản sao lưu đẩy nhanh quá trình khởi động. Tuy nhiên nó lại tốn nhiều tài nguyên khi cần đọc ít nhất 1 lần và ghi 2 lần.
2. Redirect-on-Write Snapshots
Loại snapshots này khi ghi sử dụng con trỏ để tham chiếu đến các khối được ảnh chụp nhanh bảo vệ:
- Hệ thống sẽ thực hiện lệch ghi các thay đổi đối với các khối được bảo vệ bằng snapshots.
- Tiện ích chuyển hướng ghi vào khối mới và các con trỏ liên quan được cập nhật.
- Dữ liệu cũ được lưu giữ để tham khảo tại thời điểm khóa ban đầu.
Dùng Redirect-on-Write Snapshots sẽ ít tốn tài nguyên hơn so với loại trên vì chỉ ghi 1 lần duy nhất tuy nhiên nó sẽ gây khó khăn khi đối chiếu nhiều khối mới với khối ban đầu.
3. Split-Mirror Snapshots
Split-Mirror Snapshots tạo ra một bản sao hoàn chỉnh của dung lượng lưu trữ ban đầu thay vì chỉ là snapshots các block đã thay đổi. Loại snapshots này cho phép tạo ảnh chụp nhanh của toàn bộ hệ thống tệp, số đơn vị logic (LUN) hoặc khối lượng lưu trữ đối tượng.
Ưu điểm của ảnh chụp nhanh nhân bản tách là dữ liệu dễ khôi phục, sao chép và lưu hơn. Ngay cả khi bản gốc /cái bị mất, toàn bộ tệp vẫn được bảo toàn. Tuy nhiên, snapshot utility sẽ snapshot toàn bộ ổ đĩa cùng một lúc, tốc độ này chậm hơn và yêu cầu tăng gấp đôi dung lượng lưu trữ.
4. Copy-on-Write with background copy
Đây là sự kết hợp độc đáo giữa copy-on-write và split mirror. Bằng cách này, tiện ích sẽ tạo snapshot bằng cách Copy-on-Write. Sau đó, một quy trình nền sẽ tạo một bản sao của ảnh chụp nhanh trong Storage Snapshot.
Phương pháp chụp nhanh này kết hợp những ưu điểm của copy-on-write và split mirror và giảm bớt những nhược điểm của cả hai phương pháp.
5. Continuous data protection (CDP)
Đây là quá trình tạo snapshot dựa trên bản gốc liên tục khi có sự thay đổi dựa trên cài đặt của bạn. Ưu điểm của CDP chính là giảm thiểu thời gian khôi phục dữ liệu tuy nhiên nó lại gây tốn tài nguyên, tốn băng thông.
V. So sánh snapshot và backup
Trên thực tế thì backup chính là bản sao lưu dữ liệu hoàn chỉnh của dữ liệu gốc, trong đó snapshot là sao lưu các thay đổi dựa trên dữ liệu gốc.
Hai loại này có sự khác nhau cơ bản như:
Backup | Snapshot |
Có thể được lưu trữ ở vị trí khác, hoặc trên cùng một máy chủ, hay cùng một ở đĩa. | Được lưu ở cùng vị trí với dữ liệu gốc |
Dữ liệu cuối có thể khác so với dữ liệu khi bắt đầu backup. | Lưu trữ “hình ảnh” của máy chủ tại một khoảng thời gian xác định. |
Mục đích lưu trữ dài hạn | Ngắn hạn |
Hệ thống file | File, phần mềm, cài đặt |
Mất nhiều thời gian để sao chép dữ liệu | Thời gian sao chép dữ liệu nhanh |
Trên đây là toàn bộ những thông tin về snapshot là gì. Hy vọng những thông tin này sẽ giúp bạn hiểu rõ hơn về việc sao lưu trên cơ sở dữ liệu hệ thống. Cảm ơn đã đón đọc!