Cho phép thử với sự tương tự này. Bạn đang chạy thư viện.
Vì bất kỳ ai đang điều hành thư viện, bạn có sách trong thư viện. Bạn lưu trữ tất cả các sách bạn có trên giá. Điều này là tốt, nhưng thư viện của bạn trở nên tốt đến nỗi đối thủ của bạn muốn đốt nó. Vì vậy, bạn quyết định tạo thêm nhiều kệ ở những nơi khác. Có một trong những kệ quan trọng nhất và bất cứ khi nào bạn thêm một số sách mới, bạn sẽ nhanh chóng thêm cùng một cuốn sách vào các giá sách khác. Bây giờ nếu đối thủ phá hủy một kệ - đây không phải là một vấn đề, bạn chỉ cần mở một cái khác và sao chép nó với những cuốn sách.
Đây là sao chép (chỉ thay thế thư viện bằng ứng dụng, kệ với máy chủ, đặt tài liệu trong bộ sưu tập và đối thủ của bạn chỉ bị lỗi HDD trên máy chủ). Nó chỉ làm cho các bản sao bổ sung của dữ liệu và nếu có gì đó sai, nó sẽ tự động chọn một bản chính khác.
Khái niệm này có thể giúp đỡ nếu bạn
- muốn thang đọc (nhưng họ có thể tụt hậu so với tiểu học).
- làm một số ẩn đọc mà không chạm vào máy chủ chính
- phục vụ một số phần của dữ liệu cho một khu vực cụ thể từ một máy chủ từ đó khu vực cụ thể
- Nhưng lý do chính đằng sau sao chép là dữ liệu sẵn có. Vì vậy, ở đây bạn là đúng: nếu bạn có 75Gb dữ liệu và tái tạo nó với 2 thứ hai - bạn sẽ nhận được 75 * 3 Gb dữ liệu.
Nhìn vào một trường hợp khác. Không có đối thủ để bạn không muốn sao chép các kệ của bạn. Nhưng ngay bây giờ bạn có một vấn đề khác. Bạn trở nên tốt đến mức một kệ là không đủ. Bạn quyết định phân phối sách của mình giữa nhiều giá. Bạn quyết định phân phối chúng giữa các kệ dựa trên tên tác giả (đây không phải là một ý tưởng hay và đọc cách select sharding key tại đây). Vì vậy, mọi thứ bắt đầu với tên ít hơn K sau đó đi đến một kệ tất cả mọi thứ đó là K và nhiều hơn đi khác.Đây là sharding.
Khái niệm này có thể giúp bạn:
- phân phối một khối lượng công việc
- có thể lưu dữ liệu mà nhiều hơn nữa sau đó có thể phù hợp trên một máy chủ duy nhất
- làm map-giảm thứ
- lưu trữ nhiều dữ liệu hơn trong ram cho các truy vấn nhanh hơn
Đây là một phần đồng rrect. Nếu bạn có 75Gb, sau đó tổng hợp trên tất cả các máy chủ sẽ vẫn còn 75 Gb, nhưng nó không nhất thiết phải được chia đều.
Nhưng đây là một vấn đề với chỉ sharding. Ngay bây giờ đối thủ của bạn xuất hiện và anh ta chỉ đến một trong những kệ của bạn và đốt nó. Tất cả dữ liệu trên giá đó đều bị mất. Vì vậy, bạn muốn nhân rộng từng phân đoạn là tốt. Về cơ bản quan điểm cho rằng
mỗi phân đoạn là một bản sao thiết
là không đúng sự thật. Nhưng nếu bạn đang làm sharding bạn phải tạo ra một bản sao cho mỗi mảnh vỡ. Bởi vì bạn càng có nhiều mảnh vỡ, lớn hơn là xác suất mà ít nhất một người sẽ chết.
Nguồn
2013-11-01 03:31:51
Wow ... Sir..great ... một lời giải thích rõ ràng và nó đã xóa nhiều sự nhầm lẫn của tôi nhưng tạo thêm một sự nhầm lẫn ... mà tôi đang viết bên dưới. Xin hãy nhìn vào nó. –
Cảm ơn lời giải thích rõ ràng của bạn – Ralaad