Ưu điểm, nhược điểm và nút thắt hiệu suất của HBase

Kiến trúc HBase luôn có “Điểm thất bại duy nhất” và không có cơ chế xử lý ngoại lệ nào liên quan đến nó.

Ở đây, chúng ta sẽ tìm hiểu những ưu và nhược điểm của HBase cũng như những điểm nghẽn về hiệu suất:

Nút thắt hiệu suất trong HBase

  • Trong bất kỳ môi trường sản xuất nào, HBase đang chạy với một cụm gồm hơn 5000 nút, chỉ Hmaster đóng vai trò là chủ cho tất cả các máy chủ Khu vực nô lệ. Nếu Hmaster bị hỏng thì phải rất lâu sau mới có thể phục hồi được. Mặc dù máy khách có thể kết nối máy chủ khu vực. Có thể có một chủ khác nhưng chỉ có một chủ sẽ hoạt động. Sẽ mất nhiều thời gian để kích hoạt Hmaster thứ hai nếu Hmaster chính bị hỏng. Vì vậy, Hmaster là một nút thắt cổ chai về hiệu suất.
  • Trong HBase, tất nhiên, chúng tôi không thể triển khai bất kỳ thao tác dữ liệu chéo và thao tác nối nào, chúng tôi có thể triển khai các thao tác nối bằng cách sử dụng Bản đồGiảm, sẽ mất rất nhiều thời gian để thiết kế và phát triển. Các thao tác nối bảng rất khó thực hiện trong HBase. Trong một số trường hợp sử dụng, không thể tạo các thao tác nối liên quan đến các bảng có trong HBase
  • HBase sẽ yêu cầu thiết kế mới khi chúng tôi muốn di chuyển dữ liệu từ các nguồn bên ngoài RDBMS sang máy chủ HBase. Tuy nhiên, quá trình này mất rất nhiều thời gian.
  • HBase thực sự khó khăn để truy vấn. Chúng tôi có thể phải tích hợp HBase với một số SQL lớp như Apache Phoenix nơi chúng ta có thể viết truy vấn để kích hoạt dữ liệu trong HBase. Thật tốt khi có Apache Phoenix trên HBase.
  • Một nhược điểm khác của HBase là chúng ta không thể có nhiều hơn một chỉ mục trong bảng, chỉ có cột khóa hàng đóng vai trò là khóa chính. Vì vậy, hiệu suất sẽ chậm khi chúng tôi muốn tìm kiếm trên nhiều trường hoặc ngoài phím Hàng. Vấn đề này chúng ta có thể khắc phục bằng cách viết mã MapReduce, tích hợp với SOLR của Apache và với Apache Phoenix.
  • Cải thiện chậm khả năng bảo mật cho những người dùng khác nhau truy cập dữ liệu từ HBase.
  • HBase không hỗ trợ hoàn toàn các khóa một phần
  • HBase chỉ cho phép một loại sắp xếp mặc định trên mỗi bảng
  • Rất khó để lưu trữ tệp nhị phân kích thước lớn trong HBase
  • Việc lưu trữ HBase sẽ hạn chế các truy vấn và sắp xếp theo thời gian thực
  • Tra cứu khóa và tra cứu phạm vi về mặt tìm kiếm nội dung bảng bằng các giá trị khóa, nó sẽ giới hạn các truy vấn thực hiện theo thời gian thực
  • Lập chỉ mục mặc định không có trong HBase. Các lập trình viên phải xác định một số dòng mã hoặc tập lệnh để thực hiện chức năng lập chỉ mục trong HBase
  • Đắt về yêu cầu phần cứng và phân bổ khối bộ nhớ.
    • Cần cài đặt thêm máy chủ cho các môi trường cụm phân tán (như từng máy chủ cho NameNode, DataNodes, Vườn bách thúvà Máy chủ khu vực)
    • Về mặt hiệu suất, nó đòi hỏi máy có bộ nhớ cao
    • Về mặt chi phí và bảo trì thì nó cũng cao hơn

Lợi thế, hạn chế và nút thắt hiệu suất của HBase

Ưu điểm của HBase

Tại đây, chúng ta sẽ tìm hiểu những ưu/lợi ích của HBase là gì:

  • Có thể lưu trữ các tập dữ liệu lớn trên bộ lưu trữ tệp HDFS và sẽ tổng hợp và phân tích hàng tỷ hàng có trong các bảng HBase
  • Trong HBase, cơ sở dữ liệu có thể được chia sẻ
  • OperaCác hoạt động như đọc và xử lý dữ liệu sẽ mất ít thời gian so với các mô hình quan hệ truyền thống
  • Hoạt động đọc và ghi ngẫu nhiên
  • Đối với các hoạt động phân tích trực tuyến, HBase được sử dụng rộng rãi.
  • Ví dụ: Trong các ứng dụng ngân hàng như cập nhật dữ liệu thời gian thực trong máy ATM, HBase có thể được sử dụng.

Nhược điểm của HBase

Dưới đây là những nhược điểm/hạn chế quan trọng của HBase:

  • Chúng ta không thể kỳ vọng hoàn toàn vào việc sử dụng HBase để thay thế hoàn toàn các mô hình truyền thống. Một số tính năng của mô hình truyền thống không thể được HBase hỗ trợ
  • HBase không thể thực hiện các chức năng như SQL. Nó không hỗ trợ cấu trúc SQL, vì vậy nó không chứa bất kỳ trình tối ưu hóa truy vấn nào
  • HBase sử dụng nhiều CPU và bộ nhớ với khả năng truy cập đầu vào hoặc đầu ra tuần tự lớn trong khi các công việc Giảm bản đồ chủ yếu là đầu vào hoặc đầu ra bị ràng buộc với bộ nhớ cố định. HBase được tích hợp với các công việc Map-reduce sẽ dẫn đến độ trễ không thể đoán trước
  • HBase tích hợp với lợn và Tổ ong công việc dẫn đến một số vấn đề về bộ nhớ thời gian trên cụm
  • Trong môi trường cụm dùng chung, thiết lập yêu cầu ít vị trí tác vụ hơn trên mỗi nút để phân bổ cho các yêu cầu CPU HBase

Tóm tắt bài viết này với: