CHƯƠNG I: TỔNG QUAN VỀ DATA DEDUPLICATION, HỆ THỐNG EMAIL VÀ MỐI LIÊN QUAN 1. Giới thiệu về Data Deduplication. Data Deduplication là gì? Một trong những vấn đề mà doanh nghiệp quan tâm hàng đầu là dữ liệu, dữ liệu của họ luôn gia tăng từng ngày. Việc cần có các giải pháp mở rộng cũng như tối ưu hệ thống lưu trữ dữ liệu là điều cần thiết.
Chống trùng lắp dữ liệu (Data deduplication) là một kỹ thuật để làm giảm lượng không gian lưu trữ cho tổ chức trong vấn đề lưu trữ dữ liệu. Kỹ thuật này giúp tiết kiệm dung lượng đĩa cứng đáng kể, và hoàn toàn không ảnh hưởng đến dữ liệu hoặc khả năng truy xuất dữ liệu. Trong hầu hết các tổ chức, các hệ thống lưu trữ thường có chứa bản sao của nhiều mẩu dữ liệu. Cùng một tệp tin có thể được lưu ở nhiều nơi bởi nhiều người sử dụng khác nhau, hoặc hai hay nhiều tệp tin mà không phải là giống nhau vẫn có thể bao gồm nhiều phần dữ liệu giống nhau.
Data deduplication sẽ loại bỏ các bản sao mà chỉ lưu lại một bản dữ liệu duy nhất. Một cách tổng quát, Data Deduplication sẽ so sánh các đối tượng (thường là các tập tin hoặc các khối dữ liệu) và loại bỏ các đối tượng (bản sao) tồn tại trong tập dữ liệu. Như vậy, Data Deduplication chỉ lưu một bản dữ liệu duy nhất trong tập dữ liệu và thay thế các bản sao khác bằng cách sử dụng con trỏ để dẫn trở lại với bản được lưu trữ. [1] Một ví dụ cụ thể về Data Deduplication: một hệ thống thư điện tử có thể chứa 100 các tệp tin đính kèm giống nhau (có thể trong cùng một email được gửi đi) cùng có dung lượng là 1 MB.
Nếu hệ thống email được sao lưu hoặc lưu trữ, tất cả 100 file đính kèm cần được lưu trữ và do đó cần đến 100 MB không gian đĩa cứng. Khi ứng dụng kỹ thuật Data Deduplication, chỉ có một thể hiện của tập tin đính kèm là thật sự được lưu trữ, các trường hợp còn lại sẽ chỉ được tham chiếu tới bản sao lưu. Trong trường hợp này, một nhu cầu lưu trữ 100 MB có thể được giảm xuống chỉ còn 1 MB. Mục đích của Data Deduplication Lợi ích chính của Data Deduplication là làm giảm số lượng ổ đĩa mà các tổ chức cần phải trang bị để lưu trữ dữ liệu.
Việc loại bỏ các dữ liệu dư thừa sẽ tiết kiệm được một khoản chi phí không hề nhỏ cho mỗi tổ chức. Ở đây không chỉ có chi phí về trang bị phần cứng, mà còn cắt giảm được các chi phí liên quan như hệ thống điện nguồn, hệ thống làm mát, bảo trì, không gian đặt thiết bị. [1],[3] Trong một vài trường hợp khác, đặc biệt là khi dữ liệu cần được lưu trữ và trao đổi qua mạng như các hệ thống lưu trữ dữ liệu đám mây, chia sẻ dữ liệu dùng chung z 10 qua mạng cục bộ hoặc internet. Kỹ thuật Data Deduplication sẽ làm tăng hiệu năng cho hệ thống, giống như là: [1],[3] - Nếu chúng ta lưu trữ ít, chúng ta sẽ sao lưu dữ liệu ít đi, đồng nghĩa với việc các phương tiện phần cứng dùng cho sao lưu sẽ ít đi.
- Nếu chúng ta lưu trữ ít, lượng dữ liệu trao đổi qua mạng sẽ ít đi, và trong trường hợp có các sự cố, việc khôi phục lại các dữ liệu sẽ nhanh hơn do lượng thời gian giảm vì dữ liệu lưu trữ trước đó đã được loại bỏ trùng lặp. Phân loại Data Deduplication Theo như tổ chức TechTarget [4-5], Việc phân loại các kiểu Data Deduplicaton có thể dựa theo hướng tiếp cận dữ liệu. Theo đó, có thể chia kỹ thuật Data Deduplication thành ba loại chính như sau: 1. File-level deduplication Cách tiếp cận File-level là cách tiếp cận ở mức độ đơn giản nhất, thực hiện thông qua việc so sánh các tệp tin chuẩn bị được sao lưu hoặc lưu trữ với những tệp tin đã được lưu trữ trước đó bằng cách kiểm tra các thuộc tính của nó.
Nếu tệp tin là duy nhất, tệp tin sẽ được lưu trữ và các chỉ số được cập nhật, nếu không sẽ có một con trỏ để trỏ đến tệp tin hiện đang được lưu trữ. [6] Một ví dụ của phương thức này là so sánh tên, kích thước, kiểu và ngày chỉnh sửa của 2 tệp tin với cùng tên được lưu trữ trong hệ thống. Nếu các tham số này là trùng khớp, có thể chắc chắn rằng một vài tệp tin là bản sao của các tệp tin khác và có thể xóa một trong số chúng. So sánh hai tệp tin dựa trên các thuộc tính của tệp tin Như ở Hình 1.1, hai tệp tin File1.txt và File2.txt là có cùng các thuộc tính như kích thước (size), kiểu tập tin (type), ngày chỉnh sửa (date modified) cùng được lưu trong hệ thống, do đó nhiều khả năng hai tệp tin này có nội dung giống nhau.
Ngoài việc so sánh dựa trên các thuộc tính của tệp tin, chúng ta có thể sử dụng cách so sánh chính xác hơn bằng cách so sánh sự khác nhau bên trong mỗi tệp tin. Phương pháp này sẽ tạo ra một hàm băm (hash) duy nhất đại diện cho tệp tin, và sau đó so sánh hàm băm của tệp tin mới với tệp tin gốc. Nếu hai hàm băm này là như nhau thì tức là chúng giống nhau và một tệp tin cần được loại bỏ. Block-level deduplication Đây là cách tiếp cận hoạt động ở mức sub-file (mức phụ file), các tập tin sẽ được chia thành các phân đoạn dữ liệu được gọi là khối (chunks hoặc blocks), sau đó z 11 các phân đoạn này sẽ được tiến hành kiểm tra về mức độ dư thừa so với các thông tin được lưu trữ trước đó.
[6] Phương pháp tiếp cận phổ biến nhất để xác định dữ liệu trùng lặp là gán một định danh cho một khối dữ liệu, sử dụng thuật toán băm. Kích thước của khối dữ liệu có thể là cố định (fixed block) hoặc có thể sử dụng khối dữ liệu có thể thay đổi được (variable-sized block). Khối kích thước cố định có thể là 8 KB hoặc có thể 64 KB, sự khác biệt ở đây là khối dữ liệu nhỏ có khả năng để xác khối dữ liệu dư thừa là cao hơn. Nếu một tập tin dư thừa được sửa đổi và sau đó tiến hành kiểm tra lại sự dư thừa với một kích thước khối cố định sẽ rất khó để phát hiện ra các đoạn dữ liệu dư thừa bởi vì các khối trong tập tin đã được thay đổi hoặc di chuyển có sự khác biệt so với thứ tự các khối trong tập tin được lưu trữ trước đó.
Để khắc phục nhược điểm của phương pháp chia khối dữ liệu theo kích thước cố định, người ta sử dụng một phương pháp là chia khối dữ liệu theo kích thước thay đổi. Cách tiếp cận này sẽ tìm các điểm trong một tập tin để có thể phân đoạn dữ liệu cho phù hợp. Thậm chí nếu các khối thay đổi khi một tập tin thay đổi, phương pháp này có nhiều khả năng tìm thấy các đoạn dữ liệu lặp đi lặp lại. Tuy nhiên, phương pháp này sẽ tốn nhiều thời gian để xử lý và phức tạp hơn để triển khai.
Một ví dụ về hướng tiếp cận block-level như Hình 1. Mô tả về phương pháp block-level (dữ liệu được chia thành các khối nhỏ) Khi dữ liệu được chia nhỏ thành các khối, sự trùng lặp có thể được hình thành và loại trừ, chỉ có một sự độc lập của mỗi khối là được lưu trữ.3, khối 1 và khối 5 có chỉ số hàm băm là như nhau nên một trong hai khối này sẽ được loại bỏ và chỉ lưu lại một khối duy nhất. Mô tả về phương pháp block-level (các khối so sánh để loại phần dư thừa) 1. Byte-level deduplication Đây là cách tiếp cận kiểm tra sự trùng lặp chi tiết hơn so với cách tiếp cận của Block-level, đảm bảo độ chính xác hơn nhưng thường đòi hỏi nhiều kiến thức chuyên sâu cho mỗi loại thiết bị lưu trữ để thực hiện công việc.
So sánh các kiểu Data Deduplication Hình 1. Mô phỏng các kiểu Data Deduplication [7] 1. So sánh File-level với Block-level Deduplication File-level và Block-level đều có những ưu và nhược điểm riêng tùy thuộc vào các trường hợp hoạt động khác nhau: [4] File-level có thể ít hiệu quả hơn so với Block-level: Trường hợp có một sự thay đổi trong tập tin sẽ làm cho toàn bộ tập tin bị thay đổi và lưu lại. Chẳng hạn như một bài thuyết trình PowerPoint có thể có một nội dung gì đó thay đổi như một trang tiêu đề, sửa đổi ngày tháng trình bày để phản ảnh một chương trình mới, điều này sẽ dẫn đến tập tin sẽ được lưu lại ở lần thứ hai.
Trường hợp này với cách tiếp cận Block-level sẽ chỉ lưu các khối thay đổi giữa một phiên bản của tập tin và các thay đổi tiếp theo. File-level có thể hiệu quả hơn so với Block-level: việc đánh chỉ mục (index) cho file-level là nhỏ hơn đáng kể so với block-level, thời gian tính toán của file-level ít hơn khi bản sao được xác định. Do đó, hiệu suất lưu trữ, sao lưu tốt hơn, ít bị ảnh hưởng bởi quá trình Data Deduplication. So sánh Block-level với Byte-level Deduplication Byte-level sử dụng một cách so sánh dữ liệu nguyên thủy nhất – byte by byte (so sánh các byte dữ liệu với nhau).
Cách tiếp cận này thực hiện việc kiểm tra đầy đủ z 13 toàn bộ dữ liệu, bao gồm cả các phần dữ liệu dư thừa ngay cả khi dữ liệu dư thừa đó là chắc chắn, do vậy Byte-level tốn khá nhiều thời gian trong việc kiểm tra và thường được áp dụng trong kỹ thuật post-process deduplication (phương pháp sẽ được trình bày ở phần sau). Tổng quan về hệ thống Email 1. Các khái niệm cơ bản về Email Theo Wikipedia [9], các khái niệm cơ bản về thư điện tử (email) được mô tả: Email: là viết tắt của chữ Electronic Mail được gọi là Thư điện tử, là một hệ thống chuyển nhận thư qua các mạng máy tính. Email là một phương tiện truyền tin rất nhanh.
Một mẫu thông tin có thể được gửi đi ở dạng mã hoá hay dạng thông thường và được chuyển qua các mạng máy tính đặc biệt là mạng Internet. Nó có thể chuyển mẫu thông tin từ một máy nguồn tới một hoặc nhiều máy nhận trong cùng lúc. Địa chỉ Email: Mỗi người sử dụng email được chỉ định bởi một tên duy nhất cho tài khoản thư điện tử. Tên này được biết đến như là địa chỉ email.
Các người sử dụng khác nhau có thể gửi hoặc nhận các thông báo theo địa chỉ email. Thư điện tử thường có mẫu chung là username@domainname (tênngườisửdụng@tênmiền). Ví dụ, admin@k21vnu.com là một địa chỉ email, trong đó admin là tên tài khoản của người sử dụng và k21vnu.