Lưu trữ phân tán (distributed repository)

Một phần của tài liệu xây dựng một công cụ tìm kiếm thực sự (Trang 42 - 45)

1. MỤC ĐÍC H

1.6.3.Lưu trữ phân tán (distributed repository)

Nội dung của phần này đề cập đến việc thiết kế kho dữ liệu phân tán tại nhiều nút mạng được nối với nhaụ Có ba vấn đề cần quan tâm, có ảnh hưởng đến đặc tính và hiệu năng của kho dữ liệu này này:

Phân tán các trang Web giữa các nút.

Tổ chức lưu trữ trang Web một cách vật lý trên một nút. Chiến dịch cập nhật.

Các trang Web được gán cho các nút sử dụng một số cách thức. Ví dụ như cách thức phân bố đều (uniform distribution policy), tất cả các nút được đối xử như nhaụ

Một trang Web có thể được phân tán vào bất cứ nút nào, không phụ thuộc vào định

danh (identifier) của nó. Các nút sẽ lưu trữ các phần của bộ sưu tập trang Web theo tỷ

lệ về khả năng lưu trữ của chúng. Một cách phân bố khác dựa trên luật băm (hash

distribution policy) phân bố các trang Web căn cứ vào định danh của chúng. Trong trường hợp này, định danh của trang Web sẽ được sử dụng để tính ra định danh của nút. Ngoài ra còn nhiều phương pháp phân bố khác không được đề cập ở đây do giới hạn của tài liệụ

b. Các phương pháp tổ chức lưu trữ trang Web vật lý

Trên một nút, có ba thao tác có thể được thực thi: thêm trang Web (page ađition/ insertion), truy cập theo luồng tốc độ cao (high-speed streaming) và truy cập ngẫu nhiên (random page access). Việc tổ chức vật lý các trang Web trên nút là nhân tố quyết định đến khả năng nút hỗ trợ tốt ba thao tác trên.

Có vài lựa chọn cho việc tổ chức vật lý trang Web. Chẳng hạn như, phương

pháp băm (hash-based organization) coi các ổ cứng như tập các thùng hash (hash bucket) có kích thước đủ nhỏ để có thể tải vào bộ nhớ. Các trang Web được bố trí vào các bucket đó tùy theo định danh của chúng. Trong trường hợp việc thêm trang Web

diễn ra thường xuyên thì cách thức bố trí log-structured có vẻ có nhiều thuận lợị Theo

cách này, ổ cứng được coi như là các log liên tiếp nhau mà các trang Web tải về sẽ

được thêm vào đó. Phương pháp truy cập ngẫu nhiên sẽ làm việc hiệu quả nếu sử dụng

cách đánh chỉ số theo B-tree mà theo đó các trang Web sẽ được sắp xếp vào các vùng

vật lý trên đĩa cứng. Một vùng như vậy có thể để tổ chức hashed-log lai ghép, nơi mà thiết bị lưu trữ được chia thành phần liên tiếp kích thước lớn – “extents” (đối nghịch với các buckets). Các trang Web được phân bố kiểu hash vào các extents và mỗi extent được tổ chức giống như là một log-strcutured filẹ Bảng sau đây tổng kết hiệu năng tương ứng của từng phương pháp. Nói chung là lược đồ dựa trên log (log-based scheme) hoạt động khá tốt, ngoại trừ trường hợp có quá nhiều yêu cầu truy cập ngẫu nhiên.

Log-structured Hash-based Hashed-log

Streaming performance + + – +

Random access performance + – + + + –

Page ađtion + + – +

Bảng 2. Tổng kết hiệu năng của các phương pháp tổ chức lưu trữ vật lý Web

c. Các chiến lược cập nhật

Do sự cập nhật được thực thi bởi crawler, việc thiết kế cập nhật cho repository phụ thuộc vào đặc trưng của crawler. Cụ thể là có ít nhất hai cách mà crawler có thể được cấu trúc hóa:

Batch-mode or steady crawler: Batch-mode crawler được chạy định kỳ, có thể là 1 tháng một lần, và được phép crawl trong một khoảng thời gian cho tới khi tập các trang Web mục tiêu được crawl. Với crawler này, repository có được độ tươi xác định

là số lượng các ngày trong tháng. Trái lại steady crawler chạy liên tục và cập nhật

repository liên tục.

Partial or complete crawler: Batch-mode crawler có thể được cấu hình để thực hiện crawl hoàn toàn mỗi khi nó được chạy hoặc crawl một số Web site chỉ định. Trong trường hợp thứ nhất, các trang Web mới crawl về thay thế các trang Web cũ trong toàn bộ bộ sưu tập còn trong trường hợp thứ hai thì bộ sưu tập mới được tạo ra bằng cách cập nhật phần thông tin mà crawler thu về được cho phần các trang Web mà nó được chỉ định.

Dựa vào hai nhân tố trên mà repository lựa chọn phương pháp cập nhật ngay

(in-place update) hay là cất trang Web mới tải về ra chỗ khác rồi tiến hành cập nhật

bởi một thao tác khác (shadowing). Như mô tả trong hình 18 các nút đọc (read nodes) (adsbygoogle = window.adsbygoogle || []).push({});

lưu trữ bố sưu tập đã tồn tại và được sử dụng cho các yêu cầu truy cập ngẫu nhiên và

truy cập theo luồng. Các nút cập nhật (update nodes) chứa tập các trang Web tải về

trong đợt crawl gần nhất.

Một tích chất hấp dẫn của phương pháp shadow là sự độc lập hoàn toàn giữa quá trình cập nhật và quá trình đọc. Một nút lưu trữ đơn lẻ không phải đồng thời kiểm soát việc thêm trang Web và việc đọc chúng rạ Như vậy tránh được xung đột, dẫn đến cải thiện hiệu năng và thực thi cũng đơn giản hơn. Theo một khía cánh khác, bởi vì có sự trễ giữa thời điểm trang Web được tải về và thời điểm trang Web sẵn sàng cho các truy cập nên shadowing có thể làm giảm độ tươi của bộ sưu tập các trang Web.

Hình 16. WebBase repository architecture

Theo kinh nghiệm thì batch-mode crawler tạo được các phiên crawl hoàn chỉnh thích ứng tốt với shadowing repositorỵ Tương tự, steady crawler có thể thích ứng tốt hơn với repository sử dụng phương pháp cập nhật tức thì (in-place update). Hơn nữa,

phương pháp tạo bản sao với steady crawler (shadow) có mức độ ảnh hưởng không tốt đến độ tươi cao hơn sử dụng batch-mode crawler.

Một phần của tài liệu xây dựng một công cụ tìm kiếm thực sự (Trang 42 - 45)