Hbase là gì? Hướng dẫn cách cài đặt Hbase đơn giản
Hbase là một phương pháp lưu trữ một lượng dữ liệu lớn (Big Data), linh hoạt và hoàn toàn không phải trả phí được ưa chuộng bởi rất nhiều các tập đoàn công nghệ. Vậy thế nào là Hbase? Nó bao gồm những tính năng nào?
Để giúp bạn đọc mới bắt đầu tìm hiểu về Big Data có thể hiểu rõ hơn về công nghệ Hbase, bài viết dưới đây, Bizfly Cloud sẽ mang đến cho bạn những thông tin hữu ích nhất về nó.
Hbase là gì?
Hbase là một hệ quản trị cơ sở dữ liệu dựa trên mã nguồn mở Hadoop thuộc dự án của Apache được mở rộng và phát triển từ dự án lưu trữ Bigdata của Google. Hbase được viết bằng ngôn ngữ lập trình Java, có thể lưu trữ được dữ liệu cực lớn từ terabytes đến petabytes.
Thực chất Hbase là một NoSQL điển hình, do đó các table của Hbase không có một schemas cố định cũng như không có mối liên hệ nào giữa các bảng. Tới thời điểm hiện tại, trên thế giới có rất nhiều công ty và tập đoàn công nghệ lớn sử dụng Hbase, ví dụ như: Facebook, Yahoo, Twitter, Adobe…
Tuy nhiên Hbase có những đặc thù riêng và thông thường chỉ nên sử dụng trong những trường hợp nhất định. Ví dụ: Hbase rất phù hợp với yêu cầu xử lý một lượng dữ liệu lớn phải đọc ghi liên tục nhưng lại không phù hợp với các yêu cầu đòi hỏi các truy vấn phức tạp.
Những tính năng có trong Hbase
Những tính năng có trong Hbase bao gồm:
- Quá trình lọc dữ liệu mất ít thời gian
- Có khả năng lưu trữ dữ liệu Big Data và lưu trữ hàng tỷ rows, columns
- Khi lưu một lưỡng dữ liệu lớn, Hbase giúp ổn định và giảm thiểu rủi ro (failover)
- Dữ liệu được truy vấn theo thời gian thực
- Hỗ trợ giao thức REST, giúp trả về dữ liệu theo nhiều định dạng khác nhau, ví dụ như: xml. Json, plain test. Vì thế mà không cần qua API từ phần mềm thứ 3 bạn vẫn có thể khai thác dữ liệu
- Cơ chế đọc và ghi dữ liệu dựa trên Hadoop được nhất quán
- Hbase được nhiều extension hỗ trợ cho nhiều ngôn ngữ ;lập trình như: PHP, Java, Python…
- Khả năng lưu trữ dữ liệu tin cậy, được nhiều các công ty, doanh nghiệp, tổ chức công nghệ trên thế giới sử dụng ở quy mô lớn.
Mô hình hoạt động của Hbase
Mô hình hoạt động của Hbase như sau:
- Hbase có khá nhiều điểm tương đồng với BigTable bởi nó được xây dựng dựa theo thiết kế chuẩn của Google BigTable.Tất cả dữ liệu sẽ được lưu trong một bảng được xác định bằng những từ khóa như: " Table, Column Families, Rowkey, Timestamp, Column". Một bảng (table) sẽ chứa rất nhiều dòng (row), mỗi bảng này có thể lưu trữ đến hàng chục tỷ dòng trong một bảng của Hbase.
- Những dòng này sẽ được xác định bởi một khóa chính duy nhất và được gọi là rowkey. Nó khá tương tự với Primary ket trong các cơ sở dữ liệu SQL thông thường mà mọi người được biết.
- Thêm vào đó, mỗi row lại bao gồm nhiều cột riêng biệt, các cột này gộp lại thành column families. Giá trị của mỗi cột được gọi là cell và mỗi một cell sẽ bao gồm rất nhiều cặp "version (timestamp) value".
- Không giống như những hệ điều hành cơ sở quan hệ, các cột (column) trong Hbase có thể được tạo mới ngay trong khi hệ thống vẫn đang hoạt động. Ngoài ra, một điểm khác biệt nữa của Hbase đó là giá trị của rỗng (null) sẽ không được lưu trữ trên cơ sở dữ liệu Hbase.
Để hiểu hơn về Hbase, bạn cũng cần biết thêm về kiến trúc của nó. Cụ thể bao gồm 4 thành phần cơ bản sau đây:
- HMaster: Đây là thành phần trung tâm trong kiến trúc của Hbase, chức năng của nó là giám sát tất cả các RegionServer. Mọi thay đổi có liên quan đến metadata đề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ý các region một cách trực tiếp.
- Hregions: Đây là thành phần kiến trúc cơ sở của Hbase cluster, Hregions bao gồm 2 thành phần chính đó là: Hfile và Memstore.
- Zookeeper: LÀ trung tâm lưu trữ và giám sát thông tin của các cấu hình.
Cách thức lưu trữ và tìm kiếm của Hbase
Cách thức lưu trữ của Hbase như sau:
- Hbase sẽ có chức năng lưu trữ các row nằm trong các table và mỗi một table có thể định nghĩa được nhiều column families (cf). Mỗi khóa chính duy nhất sẽ quản lý một row. Thêm đó, bạn có thể xem lịch sử lưu dữ liệu trên mỗi row, được timestamp quản lý.
- Bạn hoàn toàn có thể giới hạn lịch sử lưu tối đa là bao nhiêu lần, điều này sẽ giúp tiết kiệm dung lượng của dữ liệu sau thời gian sử dụng, mỗi lần cập nhật dữ liệu thì lịch sử nào cũ hơn sẽ bị xóa.
Cách thức tìm kiếm của Hbase như sau:
- Một phương pháp phổ biến nhất để tìm kiếm dữ liệu chính là sử dụng thrift, thông thường khi chạy Hbase, thrift sẽ không được khởi động, vì vậy bạn cần sử dụng câu lệnh sau "./bin/hbase thrift start". Thrift cung cấp 4 comparator giúp lọc dữ liệu là:"regexstring, binary prefix, binary, substring".
- Ngoài ra, còn một cách khác để sử dụng truy vấn dữ liệu trong Hbase một cách dễ dàng hơn đó là sử dụng câu lệnh sql. Muốn là được điều này, bạn cần cài đặt thêm Hive. Sau khi hoàn tất cài đặt, tất cả thao tác xử lý dữ liệu đều có thể dùng thông qua câu lệnh sql, trong đó hỗ trợ cả join.
Hướng dẫn cài đặt Hbase
Để cài đặt Hbase ở chế độ Distributed, sử dụng cách sau đây:
- Trước tiên, bạn tải bộ cài đặt Hbase bằng đường dẫn: http://www-us.apache.org/dist/hbase/. Ngoài ra, bạn cũng có thể tìm kiếm từ khóa Hbase free trên Google để tìm nhiều nguồn khác nhau.
- Sau đó, tiến hành giải nén Hbase ở thư mục:
/opt/:$ tar -xzf hbase-0.98.18-hadoop2-bin.tar.gz
- Tiếp tục thêm biến môi trường vào tập tin ~/.bash_profile bao gồm nội dung sau:
export HBASE_HOME="/opt/hbase"
export PATH="$HBASE_HOME/bin:$PATH"
- Sử dụng lệnh: hbase version để kiểm tra đã cài đặt thành công chưa.
- Chỉnh sửa nội dung tập tin /opt/hbase/conf/hbase-env.sh với nội dung:
export JAVA_HOME=/usr/java/default
export HBASE_MANAGES_ZK=true
export HBASE_PID_DIR=/opt/hbase/var
- Tiếp tục tiến hành chỉnh sửa nội dung của tập tin /opt/hbase/conf/hbase-site.xml và thêm những nội dung dưới đây:
hbase.master
sglamp.edumall.co.th:60000
hbase.master.info.port
60010
hbase.rootdir
hdfs://sglamp.edumall.co.th:9000/hbase
hbase.cluster.distributed
true
hbase.zookeeper.property.dataDir
hdfs://sglamp.edumall.co.th:9000/zookeeper
hbase.zookeeper.quorum
sglamp2.edumall.co.th
hbase.zookeeper.property.clientPort
2181
hbase.zookeeper.property.maxClientCnxns
1000
- Sử dụng lệnh: /opt/hbase/bin/shServer.sh start để khở động Hbase
- Sử dụng lệnh: /opt/hbase/bin/shServer.sh stop để tắt Hbase
Hbase cùng với Apache Hadoop là một công nghệ tuyệt vời, linh hoạt và miễn phí cho các doanh nghiệp đang cần giải quyết các vấn đề, bài toán liên quan đến một lượng dữ liệu lớn. Với bài viết mà Bizfly Cloud cung cấp trên đây, chắc chắn rằng bạn đã hiểu được thế nào là Hbase và những lợi ích mà nó mang lại.
Bizfly Cloud là nhà cung cấp dịch vụ điện toán đám mây với chi phí thấp, được vận hành bởi VCCorp.
Bizfly Cloud là một trong 4 doanh nghiệp nòng cốt trong "Chiến dịch thúc đẩy chuyển đổi số bằng công nghệ điện toán đám mây Việt Nam" của Bộ TT&TT; đáp ứng đầy đủ toàn bộ tiêu chí, chỉ tiêu kỹ thuật của nền tảng điện toán đám mây phục vụ Chính phủ điện tử/chính quyền điện tử.
Độc giả quan tâm đến các giải pháp của Bizfly Cloud có thể truy cập tại đây.
DÙNG THỬ MIỄN PHÍ và NHẬN ƯU ĐÃI 3 THÁNG tại: Manage.bizflycloud