Họ hàng cột cho cùng một hàng thuộc cùng một Máy chủ vùng. Vì vậy, câu hỏi ở đây sẽ là một RegionServer lưu trữ các gia đình cột khác nhau trong máy khác nhau?HBase có lưu trữ các cột gia đình cho cùng một hàng trong máy khác nhau không?
Trả lời
Không cần thiết, nhưng tại một số thời điểm nó sẽ. Đây là một phần của kiến trúc HBase cơ bản. Nếu bạn chụp ảnh bảng HBase dưới dạng bảng tính, với các hàng và cột của nó, thì một vùng sẽ mở rộng nhiều hàng liên tiếp theo một hướng và tất cả các cột của một hoặc nhiều nhóm cột. Bằng cách này, toàn bộ trang tính được phủ bằng các ô khu vực.
Mỗi vùng được lưu trữ trên một hoặc nhiều nút (thường là ba) cụm. (Nếu bạn mất tất cả các nút có chứa một khu vực cụ thể cùng một lúc bạn sẽ mất tất cả dữ liệu của khu vực. Nếu bạn chỉ mất một bản sao, HBase đảm bảo nó được sao chép sang một nút khác từ các bản sao còn lại.)
Bây giờ, khi dữ liệu chứa trong một khu vực phát triển quá lớn, việc chia vùng được tự động khởi tạo bởi HBase, dẫn đến hai vùng mới, mỗi vùng chứa một nửa dữ liệu. Chỉ thông qua phân chia vùng (bên cạnh việc sao chép vùng) dữ liệu được phân phối trên một cụm HBase cuối cùng.
Lưu trữ dữ liệu cho một hàng trong các cột khác nhau của cùng một nhóm cột đảm bảo rằng dữ liệu được lưu trữ cùng nhau tại một nơi.
Nếu dữ liệu trong bảng đủ lớn, HBase sẽ chia bảng thành các vùng khác nhau. Bởi vì HBase là một DB định hướng cột, các nhóm cột khác nhau sẽ lưu trữ ở các vùng khác nhau.