HBase là một cách linh hoạt và hoàn toàn miễn phí để lưu trữ lượng lớn dữ liệu, được nhiều công ty công nghệ ưa chuộng. Vậy hbase là gì? Nó bao gồm những tính năng gì?
Nhằm giúp bạn đọc mới tiếp cận với dữ liệu lớn hiểu rõ hơn về công nghệ hbase, bài viết bizfly cloud dưới đây sẽ mang đến cho bạn những thông tin hữu ích nhất về nó.
hbase là gì?
hbase là hệ quản trị cơ sở dữ liệu mã nguồn mở trên nền Hadoop thuộc dự án Apache, được mở rộng và phát triển từ dự án lưu trữ dữ liệu lớn của Google. HBase được viết bằng ngôn ngữ lập trình Java và có thể lưu trữ dữ liệu rất lớn từ terabyte đến petabyte.
Trên thực tế, hbase là một nosql điển hình, vì vậy các bảng hbase không có lược đồ cố định và không có mối quan hệ giữa các bảng. Cho đến nay, nhiều công ty, doanh nghiệp công nghệ lớn trên thế giới đang sử dụng hbase như: facebook, yahoo, twitter, adobe…
Tuy nhiên, hbase có những đặc điểm riêng và thường chỉ nên được sử dụng trong một số trường hợp nhất định. Ví dụ, hbase rất phù hợp để xử lý một lượng lớn dữ liệu và yêu cầu đọc và ghi liên tục, nhưng nó không phù hợp với nhu cầu của các truy vấn phức tạp.
hbase là một hệ thống quản lý cơ sở dữ liệu mã nguồn mở dựa trên Hadoop thuộc dự án Apache
Đặc điểm của hbase
Các tính năng có trong hbase bao gồm:
- Việc lọc tốn ít thời gian hơn
- Khả năng lưu trữ dữ liệu lớn và lưu trữ hàng tỷ hàng và cột
- Khi lưu các bản song công lớn, hbase ổn định và giảm thiểu rủi ro
- Dữ liệu truy vấn thời gian thực
- Hỗ trợ giao thức nghỉ ngơi, nó trả về dữ liệu ở nhiều định dạng khác nhau, ví dụ: xml. json, thử nghiệm đơn giản. Vì vậy, bạn vẫn có thể khai thác dữ liệu mà không cần thông qua api của phần mềm thứ ba
- Cơ chế đọc và ghi nhất quán dựa trên Hadoop
- hbase được hỗ trợ bởi nhiều phần mở rộng trong nhiều ngôn ngữ lập trình như: php, java, python…
- Dung lượng lưu trữ dữ liệu đáng tin cậy được sử dụng trên quy mô lớn bởi nhiều công ty, doanh nghiệp và tổ chức công nghệ trên thế giới.
- hbase có nhiều điểm tương đồng với bigtable vì nó được xây dựng theo thiết kế bigtable chuẩn của google. Tất cả dữ liệu sẽ được lưu trữ trong các bảng được xác định bằng từ khóa, ví dụ: “bảng, họ cột, khóa hàng, dấu thời gian, cột”. Một bảng sẽ chứa nhiều hàng và mỗi hàng có thể lưu trữ hàng chục tỷ hàng trong một bảng hbase.
- Các hàng này sẽ được xác định bằng một khóa chính duy nhất có tên là rowkey. Nó rất giống với ket chính trong cơ sở dữ liệu SQL phổ biến nổi tiếng.
- Ngoài ra, mỗi hàng chứa một số cột riêng lẻ, được tổng hợp thành các họ cột. Mỗi cột giá trị được gọi là một ô và mỗi ô chứa các cặp “giá trị phiên bản (dấu thời gian)”.
- Không giống như các hệ điều hành quan hệ, các cột trong hbase có thể được tạo trong khi hệ thống vẫn đang chạy. Ngoài ra, một điểm khác biệt nữa của hbase là giá trị null không được lưu trữ trong cơ sở dữ liệu hbase.
- hmaster: Đây là thành phần cốt lõi của kiến trúc hbase và chức năng của nó là giám sát tất cả các máy chủ vùng. Mọi thay đổi liên quan đến siêu dữ liệu sẽ được thực hiện thông qua hmaster.
- hregionserver: Thành phần này chịu trách nhiệm quản lý trực tiếp các vùng.
- hregions: Đây là thành phần kiến trúc cơ bản của hbase cluster, hregions bao gồm 2 thành phần chính là hfile và memstore.
- zookeeper: là bộ lưu trữ trung tâm và thông tin giám sát cho các tệp cấu hình.
- hbase sẽ có chức năng lưu trữ các dòng trong bảng, và mỗi bảng có thể định nghĩa nhiều họ cột (cf). Mỗi khóa chính duy nhất sẽ quản lý một hàng. Ngoài ra, bạn có thể xem lịch sử dữ liệu đã lưu cho từng hàng, được quản lý theo dấu thời gian.
- Bạn hoàn toàn có thể giới hạn số lượng bản ghi lịch sử được lưu, điều này sẽ tiết kiệm dung lượng dữ liệu sau thời gian sử dụng và các bản ghi lịch sử cũ hơn sẽ bị xóa mỗi khi dữ liệu được cập nhật.
- Cách phổ biến nhất để tìm dữ liệu là sử dụng thrift, thông thường khi chạy hbase, thrift sẽ không khởi động nên bạn cần sử dụng lệnh sau “./bin /hbase thrift start”. thrift cung cấp 4 bộ so sánh giúp lọc dữ liệu::”chuỗi biểu thức chính quy, tiền tố nhị phân, nhị phân, chuỗi con”.
- Ngoài ra còn một cách khác để sử dụng truy vấn dữ liệu trong hbase tiện lợi hơn đó là sử dụng câu lệnh sql. Đối với điều này, bạn cần phải cài đặt hive. Sau khi cài đặt hoàn tất, tất cả các hoạt động xử lý dữ liệu có thể được sử dụng thông qua các câu lệnh sql và các phép nối cũng được hỗ trợ.
- Trước tiên, hãy tải xuống trình cài đặt hbase bằng liên kết sau: http://www-us.apache.org/dist/hbase/. Ngoài ra, bạn có thể tìm từ khóa hbase free trên google, và bạn có thể tìm thấy nhiều nguồn khác nhau.
- Sau đó, giải nén hbase vào một thư mục:
- Tiếp tục thêm các biến môi trường vào tệp ~/.bash_profile, bao gồm các biến sau:
- Dùng lệnh: hbase version để kiểm tra cài đặt có thành công hay không.
- Chỉnh sửa nội dung của tệp /opt/hbase/conf/hbase-env.sh với nội dung sau:
- Tiếp tục chỉnh sửa nội dung của file /opt/hbase/conf/hbase-site.xml, thêm nội dung sau:
- Sử dụng lệnh: /opt/hbase/bin/shserver.sh start to start hbase
- Sử dụng lệnh: /opt/hbase/bin/shserver.sh stop để tắt hbase
mô hình làm việc hbase
Mô hình hoạt động của hbase như sau:
hbase được thiết kế và xây dựng theo tiêu chuẩn của google bigtable
Để hiểu rõ hơn về hbase, bạn cũng cần hiểu kiến trúc của nó. Cụ thể, nó bao gồm 4 thành phần cơ bản sau:
Cách lưu trữ và tìm kiếm trong hbase
Phương thức lưu trữ của hbase như sau:
Phương pháp tìm kiếm của hbase như sau:
hướng dẫn cài đặt hbase
Để cài đặt hbase ở chế độ phân tán, hãy sử dụng lệnh sau:
hbase với apache hadoop là một công nghệ tuyệt vời, linh hoạt và miễn phí dành cho các doanh nghiệp cần giải quyết các vấn đề và sự cố liên quan đến lượng dữ liệu lớn. Hãy chắc chắn rằng bạn đã hiểu hbase là gì và những lợi ích mà nó mang lại với bài viết mà bizfly cloud cung cấp trên đây.