Video: [ MongoDB 9 ] Sharding a MongoDB Collection 2025
Cơ sở dữ liệu NoSQL rất phù hợp với các bộ dữ liệu rất lớn. Các nhân bản Bigtable như HBase không phải là ngoại lệ. Có thể bạn sẽ muốn sử dụng một số máy chủ hàng hóa rẻ tiền trong một cụm chứ không phải là một máy rất mạnh. Điều này là bởi vì bạn có thể đạt được hiệu suất hoạt động tốt hơn trên một đồng đô la bằng cách sử dụng nhiều máy chủ hàng hóa, chứ không phải là một máy chủ mạnh mẽ và chi phí cao.
Ngoài việc có thể mở rộng nhanh chóng, các máy chủ hàng hóa rẻ tiền cũng có thể làm cho dịch vụ cơ sở dữ liệu của bạn trở nên linh hoạt hơn và do đó giúp tránh sự cố phần cứng. Điều này là do bạn có các máy chủ khác để tiếp quản dịch vụ nếu một bo mạch chủ của máy chủ đơn không thành công. Đây không phải là trường hợp với một máy chủ lớn duy nhất.
Hình này cho thấy một cấu hình HBase sẵn có cao với một ví dụ về phân chia dữ liệu giữa các máy chủ.
Biểu đồ cho thấy hai nút (HRegionServers) trong một thiết lập có sẵn cao, mỗi hoạt động như là một sao lưu cho khác.
Trong nhiều thiết lập sản xuất, bạn có thể muốn có ít nhất ba nút cho tính sẵn sàng cao để đảm bảo hai lỗi máy chủ đóng trong thời gian với nhau có thể được xử lý. Đây không phải là hiếm như bạn nghĩ! Lời khuyên khác nhau theo mỗi Bigtable; ví dụ, HBase đề xuất năm nút tối thiểu cho một cụm:
-
Mỗi máy chủ vùng quản lý một bộ khóa riêng.
Thiết kế một chiến lược phân bổ hàng chính là quan trọng bởi vì nó chỉ ra cách tải được truyền tải trên toàn bộ cụm sao.
-
| Mỗi vùng duy trì nhật ký ghi và bộ nhớ trong.
Trong HBase, tất cả dữ liệu được ghi vào một cửa hàng trong bộ nhớ, và sau đó lưu trữ này được đổ vào đĩa. Trên đĩa, các cửa hàng này được gọi là các tệp lưu trữ .
Để tối đa hóa khả năng sẵn có của dữ liệu, theo mặc định, Hadoop duy trì ba bản sao của mỗi tệp dữ liệu. Các bản cài đặt lớn có
Bản sao chính
-
Bản sao trong cùng một giá
-
Một bản sao khác trong một giá
-
Trước Hadoop 2. 0, Namenodes không thể có sẵn. Các bản ghi này duy trì một danh sách tất cả các máy chủ đang hoạt động trong cụm. Vì vậy, chúng là một điểm thất bại. Kể từ Hadoop 2. 0, giới hạn này không còn tồn tại.