Chương 1: Trùng lặp dữ liệu và các phương pháp chống trùng lặp 1.1 Các vấn đề trùng lặp dữ liệu Thông tin là một phần quan trọng trong công nghệ thông tin, bất cứ công ty hay tổ chức nào muốn hoạt động tốt nhất thì cần phải có cách sử dụng thông tin một cách hợp lý. Chính vì thế mà dữ liệu – thứ tạo nên những thông tin cần phải được quản lý một cách tốt nhất và được bảo vệ một cách hiệu quả, tuy nhiên khi lượng dữ liệu càng lớn thì yêu cầu của nó về không gian lưu trữ và việc quản lý nó cũng ngày một gia tăng. Sự gia tăng của dữ liệu dẫn tới một vấn đề hết sức nghiêm trọng khác, đó chính là sự trùng lặp dữ liệu. Trùng lặp dữ liệu là việc những dữ liệu có nội dung giống nhau nhưng vì nhiều nguyên nhân khác nhau mà bị lưu lại nhiều lần.
Một trong những hậu quả mà trùng lặp dữ liệu gây ra chính là hao phí cho không gian lưu trữ. Dữ liệu trùng lặp càng lớn thì hao phí càng nhiều. Ví dụ như một người bán hàng gửi 1 bản giới thiệu sản phẩm khoảng 10mb cho khoảng 500 người mỗi bản báo cáo phải chứa trong 1 file khác nhau cho dù nội dung của chúng phần lớn là giống nhau, lúc này dung lượng phải lưu trữ chỉ khoảng 5gb, đương nhiên đó không phải một con số lớn thế nhưng nếu phải gửi 10 bản giới thiệu, 100 bản giới thiệu thì sao, đó chắc chắn không phải là con số nhỏ nữa. Hơn nữa phần lớn dữ liệu là giống nhau khiến cho việc lưu trữ dữ liệu trở nên hoang phí, những block giống nhau lại được lưu trữ nhiều lần không những khiến chi phí cho không gian lưu trữ tăng lên nhanh chóng mà còn khiến cho chi phí khi backup dữ liệu tăng lên tới mức chóng mặt.
(Chi tiết có thể xem trong [1]) Theo [2] thì không chỉ trong những công ty lớn xảy ra việc trùng lặp dữ liệu mà trên cả những đám mây. Đám mây là những hồ dữ liệu lớn nơi các dữ liệu được lưu trữ. Thay vì việc phải sử dụng một hay nhiều máy chủ thì tất cả dữ liệu trong đám mây đều được ảo hóa thông qua internet. Điểm mạnh của việc lưu trữ đám mây chính là ở tính mềm dẻo, khả năng tính toán, tính đàn hồi và co giãn tài nguyên, người sử dụng không cần phải tính toán dung lượng lưu trữ mà chỉ cần trả tiền là sẽ có dung lượng cần thiết.
Chính vì thế mà việc trùng lặp dữ liệu xảy ra trong đám mây lại càng nhiều. Lấy ví dụ đơn giản một ông A yêu thích nhạc cổ điển, ông ta đưa một file X lên đám mây, ta lại có thêm một ông B cũng rất yêu thích nhạc cổ điển trùng hợp là ông ta cũng yêu thích bài X và cũng đưa nó lên đám mây. Hiện giờ trong đám mây sẽ có 2 bài X và cùng phải lưu trữ hai bài này. Như vậy chi phí cho cùng một file, cùng một dữ liệu sẽ tốn gấp đôi, chưa kể tới việc số người dùng đám mây càng lúc càng nhiều, số lượng dữ liệu trùng lặp càng lúc càng lớn, không phải là gấp đôi nữa mà là gấp ba, gấp bốn thậm chí là gấp hàng chục lần.
Nếu không có biện pháp nào giải quyết vấn đề này thì việc lãng phí tài nguyên sẽ trở thành một vấn đề rất lớn, chi phí cho những tài nguyên dư thừa kia sẽ trở thành gánh nặng đối với nhà cung cấp. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 11 Một vấn đề về trùng lặp dữ liệu cực kỳ quan trọng và thường thấy nữa đó chính là trong vấn đề về nhập liệu. Việc lưu trữ thông tin về một người, một sản phẩm hay một tổ chức dưới dạng bảng là một việc thông dụng, thông tin về họ sẽ được lưu trữ dưới dạng hàng và cột. Thông tin về một người có thể bị lặp lại trong quá trình nhập liệu dẫn tới việc trong một bảng có thể xuất hiện có thể xuất hiện thông tin về một người nhiều lần.
Điều này xảy ra một cách thường xuyên bởi sự nhầm lẫn của con người, số lượng dữ liệu càng lớn thì mức độ sai sót lại càng cao. Lấy ví dụ như việc nhập thông tin sinh viên trong một trường đại học khoảng 8000 người, số lượng học sinh này được chia ra cho một phòng 8 người vậy trung bình mỗi người phải nhập thông tin cho khoảng 1000 người, không có gì đảm bảo cả 8 người đó đều không nhầm lẫn, việc thông tin của một sinh viên A nào đó bị lặp lại trong khi nhập liệu cũng là điều thường thấy. Trong trường hợp này, con số nhầm lẫn có thể lên tới hàng chục thậm chí hàng trăm sinh viên, việc kiểm tra thủ công cũng hết sức khó khăn bởi lượng dữ liệu quá lớn. Nghiêm trọng hơn nữa là dữ liệu bị trùng lặp mắc phải những lỗi sai nhập liệu, trong trường hợp này cả những phương pháp chống trùng lặp dữ liệu thông thường cũng không thể nào giải quyết nổi bởi những dữ liệu do sai lỗi nhập liệu khi nhập liệu cho dù rất nhỏ cũng khiến cho dữ liệu trở nên khác hoàn toàn so với dữ liệu gốc.
Tất cả những vấn đề trên đều dẫn tới một kết quả đó là tăng lượng chi phí không cần thiết cho người sử dụng khi lưu trữ dữ liệu, chi phí cho không gian lưu trữ, chi phí cho việc backup dữ liệu. Những chi phí không cần thiết này sẽ trở thành gánh nặng cho việc lưu trữ dữ liệu và làm phát sinh ra những vấn đề khác như thời gian truy suất tăng cao, tốn kém dung lượng đường truyền. Để giải quyết vấn đề này cần sử dụng tới một kỹ thuật đặc biệt cho phép người sử dụng loại bỏ những dữ liệu trùng lặp và lưu trữ lại những dữ liệu độc nhất. Kỹ thuật đó gọi là chống trùng lặp dữ liệu.2 Chống trùng lặp dữ liệu 1.1 Khái niệm Theo [3] thì chống trùng lặp là một kỹ thuật làm giảm dung lượng cần thiết bằng cách xóa đi các dữ liệu bị trùng lặp.
Chỉ có các dữ liệu độc nhất mới được lưu trữ vào cơ sở dữ liệu, các dữ liệu bị trùng lặp sẽ được thay thế bằng các con trỏ hướng tới dữ liệu độc nhất. Ví dụ: ta có 100 MB dữ liệu, thông thường sẽ cần 100MB không gian để chứa nó nhưng với chống trùng lặp ta có thể xóa các dữ liệu trùng lặp và chỉ lưu lại các dữ liệu độc nhất, điều này giúp cho ta có thể dùng ít hơn 100MB để lưu trữ từng đó thông tin. LUAN VAN CHAT LUONG download : add luanvanchat@agmail.1 Chống trùng lặp dữ liệu [3] 1.2 Lợi ích của chống trùng lặp dữ liệu Lợi ích mà chống trùng lặp đem lại là rất lớn, việc làm giảm dung lượng không gian lưu trữ có thể làm giảm không gian chứa cần thiết từ đó làm tăng khả năng lưu trữ thông tin, giảm chi phí không gian lưu trữ ( chi tiết xem ở [3] [4]) Không chỉ vậy việc giảm không gian lưu trữ giúp lượng dữ liệu được lưu trữ tăng lên đáng kể. Ví dụ: Cùng với 100MB không gian lưu trữ ta có thể lưu trữ được lượng dữ liệu lớn hơn rất nhiều.
Với việc loại bỏ đi dữ liệu trùng lặp, lưu lại dữ liệu độc nhất và sử dụng con trỏ, khiến dữ liệu độc nhất thậm chí còn có thể sử dụng nhiều lần và đại diện cho nhiều dữ liệu khác nhau. Một lợi ích khác của việc sử dụng chống trùng là việc backup dữ liệu sẽ trở nên nhanh hơn. Vì sao ư? Đó là vì việc sử dụng kỹ thuật này sẽ giúp ta không phải lưu lại những dữ liệu trùng lặp, dung lượng được backup sẽ nhỏ hơn nhiều so với dung lượng thực tế. Giả sử như ta có 100GB dữ liệu trong đó có 60GB dữ liệu là giống nhau về nội dung, trong tình trạng không có chống trùng lặp, toàn bộ 100GB này sẽ được toàn bộ được lưu lại vào trong không gian bộ nhớ ngược lại trong trường hợp sử dụng chống trùng lặp thì chúng ta không phải lưu lại toàn bộ 100GB dữ liệu trên bởi 60GB dữ liệu trùng lặp sẽ bị loại bỏ đi phần lớn và lưu lại những dữ liệu độc nhất.
Bên cạnh lợi ích về lưu trữ dữ liệu, chống trùng lặp cũng giúp chúng ta giảm thiểu được chi phí cho việc truyền dữ liệu. Bằng việc sử dụng chống trùng lặp tại các máy khách dung lượng dữ liệu sẽ giảm xuống, khiến tốc độ truyền qua mạng sẽ được nhanh hơn. Lượng băng thông khi sử dụng cũng có thể được giảm xuống. Theo [3] lợi ích của việc sử dụng phương pháp chống trùng lặp dữ liệu có thể gói gọn trong 3 lợi ích lớn Giảm chi phí cho không gian lưu trữ Giảm chi phí cho việc backup dữ liệu LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com 13 Tăng hiệu suất của việc lưu trữ dữ liệu Từ những lợi ích nói trên có thể thấy kỹ thuật chống trùng là một trong những kỹ thuật quan trọng có tầm ảnh hưởng lớn, không chỉ với các công ty lớn phải xử lý những cơ sở dữ liệu khổng lồ, những cơ sở dữ liệu dạng đám mây, mà còn cả đối với cả cá nhân người sử dụng.3 Ứng dụng của chống trùng lặp dữ liệu Chống trùng lặp dữ liệu là sự lựa chọn tốt nhất khi nó không ảnh hưởng gì tới hiệu suất của các chương trình ta đang sử dụng hoặc là những tác vụ ta cần phải hoàn thiện.
Sử dụng chống trùng lặp dữ liệu sẽ tiết kiệm được rất nhiều tiền bạc, dung lượng lưu trữ và thời gian tuy nhiên không phải lúc nào việc sử dụng nó cũng là một sự lựa chọn đúng đắn. Theo [4] và [1] Chống trùng lặp dữ liệu có tác dụng lớn nhất ở trong 3 lĩnh vực: Backup dữ liệu Nhân bản dữ liệu Lưu trữ dữ liệu Tại sao? Nếu thực hiện chống trùng lặp dữ liệu trên máy khách thì chúng ta không cần phải gửi quá nhiều dữ liệu quan mạng LAN hoặc mạng WAN cho việc backup dữ liệu. Nếu chúng ta có thể chứa ít dữ liệu hơn vì client gửi ít dữ liệu hơn thì ta cũng không cần sao chép lại nhiều dữ liệu đề phòng những thảm họa có thể xảy ra. Và khi thảm họa xảy ra thì việc phục hồi sau đó cũng giúp chúng ta giảm thiểu được dữ liệu phải backup và giảm thiểu thời gian cần thiết để phục hồi.1 Backup dữ liệu Backup là lĩnh vực tuyệt vời nhất để áp dụng Chống trùng lặp dữ liệu.
Trong thực tế các giải pháp chống trùng lặp dành cho việc backup cũng được các nhà sử dụng quan tâm nhất.