HBase Archikiến trúc: Trường hợp sử dụng, Thành phần & Mô hình dữ liệu

HBase Archikiến trúc và các thành phần quan trọng của nó

Kiến trúc HBase chủ yếu bao gồm bốn thành phần

  • HMaster
  • Máy chủ HRRegion
  • Khu vực nhân sự
  • Zookeeper
  • HDFS

Dưới đây là kiến ​​trúc chi tiết của HBase với các thành phần:

HBase Archikiến trúc
HBase Archisơ đồ kiến ​​trúc

HMaster

HMaster trong HBase là việc triển khai máy chủ Master trong kiến ​​trúc HBase. Nó hoạt động như một tác nhân giám sát để giám sát tất cả các phiên bản Region Server có trong cụm và hoạt động như một giao diện cho tất cả các thay đổi siêu dữ liệu. Trong môi trường cụm phân tán, Master chạy trên NameNode. Master chạy một số luồng nền.

Sau đây là những vai trò quan trọng do HMaster đảm nhiệm trong HBase.

  • Đóng một vai trò quan trọng về hiệu suất và duy trì các nút trong cụm.
  • HMaster cung cấp hiệu suất quản trị và phân phối dịch vụ cho các máy chủ khu vực khác nhau.
  • HMaster chỉ định vùng cho máy chủ vùng.
  • HMaster có các tính năng như kiểm soát cân bằng tải và chuyển đổi dự phòng để xử lý tải trên các nút có trong cụm.
  • Khi khách hàng muốn thay đổi bất kỳ lược đồ nào và thay đổi bất kỳ thao tác Siêu dữ liệu nào, HMaster chịu trách nhiệm về các thao tác này.

Một số phương thức được Giao diện HMaster hiển thị chủ yếu là các phương pháp định hướng Siêu dữ liệu.

  • Bảng (createTable, RemoveTable, bật, tắt)
  • ColumnFamily (thêm cột, sửa cột)
  • Vùng (di chuyển, gán)

Khách hàng giao tiếp theo cách hai chiều với cả HMaster và ZooKeeper. Đối với các hoạt động đọc và ghi, nó liên hệ trực tiếp với các máy chủ HRegion. HMaster chỉ định vùng cho máy chủ vùng và lần lượt kiểm tra tình trạng sức khỏe của máy chủ vùng.

Trong toàn bộ kiến ​​trúc, chúng tôi có nhiều máy chủ vùng. Hlog hiện diện trong các máy chủ vùng sẽ lưu trữ tất cả các tệp nhật ký.

Máy chủ khu vực HBase

Khi Máy chủ vùng HBase nhận được yêu cầu ghi và đọc từ máy khách, nó sẽ chỉ định yêu cầu đó cho một vùng cụ thể, nơi chứa họ cột thực tế. Tuy nhiên, khách hàng có thể liên hệ trực tiếp với máy chủ HRegion, khách hàng không cần phải có sự cho phép bắt buộc của HMaster về việc liên lạc với máy chủ HRegion. Máy khách cần có sự trợ giúp của HMaster khi cần thực hiện các thao tác liên quan đến siêu dữ liệu và thay đổi lược đồ.

HRegionServer là triển khai Máy chủ Khu vực. Nó chịu trách nhiệm phục vụ và quản lý các vùng hoặc dữ liệu có trong cụm phân tán. Các máy chủ khu vực chạy trên Nút dữ liệu có trong cụm Hadoop.

HMaster có thể kết nối với nhiều máy chủ HRegion và thực hiện các chức năng sau.

  • Lưu trữ và quản lý khu vực
  • Tự động chia vùng
  • Xử lý các yêu cầu đọc và ghi
  • Giao tiếp trực tiếp với khách hàng

Khu vực HBase

HRegions là các thành phần xây dựng cơ bản của cụm HBase bao gồm việc phân phối các bảng và bao gồm các họ Cột. Nó chứa nhiều cửa hàng, một cửa hàng cho mỗi họ cột. Nó bao gồm chủ yếu hai thành phần là Memstore và Hfile.

Vườn bách thú

HBase Zookeeper là máy chủ giám sát tập trung duy trì thông tin cấu hình và cung cấp đồng bộ hóa phân tán. Đồng bộ hóa phân tán là truy cập các ứng dụng phân tán chạy trên cụm với trách nhiệm cung cấp dịch vụ phối hợp giữa các nút. Nếu máy khách muốn giao tiếp với các vùng, máy khách của máy chủ phải tiếp cận ZooKeeper trước.

Đây là một dự án nguồn mở và nó cung cấp rất nhiều dịch vụ quan trọng.

Dịch vụ được cung cấp bởi Vườn bách thú

  • Duy trì thông tin cấu hình
  • Cung cấp đồng bộ hóa phân tán
  • Thiết lập giao tiếp khách hàng với các máy chủ khu vực
  • Cung cấp các nút tạm thời đại diện cho các máy chủ khu vực khác nhau
  • Khả năng sử dụng máy chủ chính của các nút tạm thời để khám phá các máy chủ có sẵn trong cụm
  • Để theo dõi lỗi máy chủ và phân vùng mạng

Các nút nô lệ Master và HBase (máy chủ khu vực) đã tự đăng ký với ZooKeeper. Máy khách cần quyền truy cập vào cấu hình đại biểu ZK(zookeeper) để kết nối với máy chủ chính và máy chủ khu vực.

Trong trường hợp các nút có trong cụm HBase bị lỗi, ZKquoram sẽ kích hoạt các thông báo lỗi và bắt đầu sửa chữa các nút bị lỗi.

HDFS

HDFS là một bản phân phối của Hadoop Hệ thống tập tin, đúng như tên gọi, nó cung cấp một môi trường phân tán để lưu trữ và nó là một hệ thống tệp được thiết kế theo cách chạy trên phần cứng thông thường. Nó lưu trữ mỗi tệp trong nhiều khối và để duy trì khả năng chịu lỗi, các khối được sao chép trên một cụm Hadoop.

HDFS cung cấp mức độ chịu lỗi cao và chạy trên phần cứng thông dụng giá rẻ. Bằng cách thêm các nút vào cụm và thực hiện xử lý & lưu trữ bằng cách sử dụng phần cứng thông dụng giá rẻ, nó sẽ mang lại cho khách hàng kết quả tốt hơn so với kết quả hiện có.

Ở đây, dữ liệu được lưu trữ trong mỗi khối sẽ sao chép thành 3 nút bất kỳ trong trường hợp nút nào bị hỏng sẽ không bị mất dữ liệu, nó sẽ có cơ chế phục hồi sao lưu thích hợp.

HDFS tiếp xúc với các thành phần HBase và lưu trữ một lượng lớn dữ liệu theo cách phân tán.

Mô hình dữ liệu HBase

Mô hình dữ liệu HBase là một tập hợp các thành phần bao gồm Bảng, Hàng, Họ cột, Ô, Cột và Phiên bản. Các bảng HBase chứa các họ cột và các hàng có các thành phần được xác định là Khóa chính. Một cột trong bảng mô hình dữ liệu HBase thể hiện các thuộc tính của đối tượng.

Mô hình dữ liệu HBase bao gồm các thành phần sau:

  • Bộ bàn
  • Mỗi bảng có họ cột và hàng
  • Mỗi bảng phải có một phần tử được xác định là Khóa chính.
  • Khóa hàng đóng vai trò là khóa chính trong HBase.
  • Mọi quyền truy cập vào bảng HBase đều sử dụng Khóa chính này
  • Mỗi cột có trong HBase biểu thị thuộc tính tương ứng với đối tượng

Các trường hợp sử dụng HBase

Sau đây là các ví dụ về trường hợp sử dụng HBase với giải thích chi tiết về giải pháp mà nó cung cấp cho nhiều vấn đề kỹ thuật khác nhau

Báo cáo vấn đề Dung dịch
Ngành viễn thông mặt sau Thách thức kỹ thuật

  • Lưu trữ hàng tỷ bản ghi nhật ký CDR (Ghi chi tiết cuộc gọi) được tạo bởi miền viễn thông
  • Cung cấp quyền truy cập thời gian thực vào nhật ký CDR và ​​thông tin thanh toán của khách hàng
  • Cung cấp giải pháp tiết kiệm chi phí so với các hệ thống cơ sở dữ liệu truyền thống
HBase được sử dụng để lưu trữ hàng tỷ hàng bản ghi cuộc gọi chi tiết. Nếu 20TB dữ liệu được thêm vào mỗi tháng vào cơ sở dữ liệu RDBMS hiện có, hiệu suất sẽ giảm. Để xử lý lượng dữ liệu lớn trong trường hợp sử dụng này, HBase là giải pháp tốt nhất. HBase thực hiện truy vấn nhanh và hiển thị bản ghi.
Ngành ngân hàng tạo ra hàng triệu hồ sơ hàng ngày. Ngoài ra, ngành ngân hàng cũng cần một giải pháp phân tích có thể phát hiện gian lận trong giao dịch tiền tệ Để lưu trữ, xử lý và cập nhật khối lượng dữ liệu lớn và thực hiện phân tích, giải pháp lý tưởng là – HBase tích hợp với một số thành phần hệ sinh thái Hadoop.

Ngoài ra, HBase có thể được sử dụng

  • Bất cứ khi nào có nhu cầu viết ứng dụng nặng.
  • Thực hiện phân tích nhật ký trực tuyến và tạo báo cáo tuân thủ.

Cơ chế lưu trữ trong HBase

HBase là cơ sở dữ liệu hướng cột và dữ liệu được lưu trữ trong bảng. Các bảng được sắp xếp theo RowId. Như được hiển thị bên dưới, HBase có RowId, là tập hợp của một số họ cột có trong bảng.

Các họ cột có trong lược đồ là các cặp khóa-giá trị. Nếu chúng ta quan sát chi tiết mỗi họ cột có nhiều số cột. Các giá trị cột được lưu trữ vào bộ nhớ đĩa. Mỗi ô của bảng có Siêu dữ liệu riêng như dấu thời gian và thông tin khác.

Cơ chế lưu trữ trong HBase
Cơ chế lưu trữ trong HBase

Đến với HBase, sau đây là các thuật ngữ chính biểu diễn lược đồ bảng

  • Bàn: Tập hợp các hàng hiện tại.
  • Row: Tập hợp các họ cột.
  • Họ cột: Tập hợp các cột.
  • Cột: Tập hợp các cặp khóa-giá trị.
  • Không gian tên: Nhóm logic các bảng.
  • Pin: Một bộ dữ liệu {hàng, cột, phiên bản} chỉ định chính xác định nghĩa ô trong HBase.

Kho lưu trữ theo cột và theo hàng

Kho lưu trữ theo cột và hàng khác nhau về cơ chế lưu trữ. Như chúng ta đều biết các mô hình quan hệ truyền thống lưu trữ dữ liệu theo định dạng dựa trên hàng giống như các hàng dữ liệu. Kho lưu trữ theo cột lưu trữ các bảng dữ liệu theo cột và họ cột.

Bảng sau đây đưa ra một số điểm khác biệt chính giữa hai kho lưu trữ này

Cơ sở dữ liệu hướng cột Cơ sở dữ liệu định hướng hàng
Khi tình huống cần xử lý và phân tích, chúng tôi sử dụng phương pháp này. Chẳng hạn như Xử lý phân tích trực tuyến và đó là những ứng dụng Quy trình giao dịch trực tuyến chẳng hạn như lĩnh vực ngân hàng và tài chính sử dụng phương pháp này.
Lượng dữ liệu có thể lưu trữ trong mô hình này rất lớn tính theo petabyte Nó được thiết kế cho một số lượng nhỏ hàng và cột.

Giải thích về đọc và ghi dữ liệu HBase

Các thao tác Đọc và Ghi từ Client vào Hfile có thể được hiển thị trong sơ đồ bên dưới.

Đọc và ghi dữ liệu HBase

Bước 1) Khách hàng muốn ghi dữ liệu và trước tiên sẽ liên lạc với máy chủ Khu vực, sau đó là các khu vực

Bước 2) Các vùng liên hệ với memstore để lưu trữ được liên kết với họ cột

Bước 3) Dữ liệu đầu tiên được lưu trữ vào Memstore, nơi dữ liệu được sắp xếp và sau đó được chuyển vào HFile. Lý do chính để sử dụng Memstore là để lưu trữ dữ liệu trong hệ thống tệp Phân tán dựa trên Row Key. Memstore sẽ được đặt trong bộ nhớ chính của máy chủ Khu vực trong khi HFiles được ghi vào HDFS.

Bước 4) Khách hàng muốn đọc dữ liệu từ Khu vực

Bước 5) Đổi lại, Khách hàng có thể có quyền truy cập trực tiếp vào kho Mem và có thể yêu cầu dữ liệu.

Bước 6) Khách hàng tiếp cận HFiles để lấy dữ liệu. Dữ liệu được Khách hàng tìm nạp và truy xuất.

Memstore lưu giữ các sửa đổi trong bộ nhớ của cửa hàng. Hệ thống phân cấp của các đối tượng trong Vùng HBase được hiển thị từ trên xuống dưới trong bảng bên dưới.

Bàn Bảng HBase có trong cụm HBase
Khu vực Vùng HR cho các bảng được trình bày
Cửa Hàng Nó lưu trữ trên mỗi ColumnFamily cho từng vùng của bảng
Cửa hàng lưu niệm
  • Memstore cho từng cửa hàng cho từng khu vực cho bảng
  • Nó sắp xếp dữ liệu trước khi chuyển vào HFiles
  • Hiệu suất ghi và đọc sẽ tăng lên nhờ sắp xếp
Lưu trữTệp StoreFiles cho mỗi cửa hàng cho từng khu vực cho bảng
Chặn Các khối hiện diện bên trong StoreFiles

HBase so với HDFS

HBase chạy trên HDFS và Hadoop. Một số khác biệt chính giữa HDFS và HBase là về hoạt động và xử lý dữ liệu.

HBASE HDFS
Hoạt động có độ trễ thấp Hoạt động có độ trễ cao
Đọc và ghi ngẫu nhiên Viết một lần Đọc nhiều lần
Truy cập thông qua lệnh shell, API ứng dụng khách trong Java, REST, Avro hoặc Thrift Được truy cập chủ yếu thông qua các công việc MR (Giảm bản đồ)
Lưu trữ và xử lý đều có thể được thực hiện Nó chỉ dành cho khu vực lưu trữ

Một số ứng dụng công nghiệp CNTT điển hình sử dụng hoạt động HBase cùng với Hadoop. Các ứng dụng bao gồm dữ liệu trao đổi chứng khoán, hoạt động dữ liệu ngân hàng trực tuyến và xử lý Hbase là phương pháp giải pháp phù hợp nhất.

Tổng kết

  • Các thành phần kiến ​​trúc HBase: HMaster, HRegion Server, HRegions, ZooKeeper, HDFS
  • HMaster trong HBase là việc triển khai máy chủ Master trong kiến ​​trúc HBase.
  • Khi Máy chủ khu vực HBase nhận được yêu cầu ghi và đọc từ máy khách, nó sẽ chỉ định yêu cầu đó cho một khu vực cụ thể, nơi họ cột thực tế cư trú
  • HRegions là các thành phần xây dựng cơ bản của cụm HBase bao gồm việc phân phối các bảng và bao gồm các họ Cột.
  • HBase Zookeeper là máy chủ giám sát tập trung, duy trì thông tin cấu hình và cung cấp khả năng đồng bộ hóa phân tán.
  • HDFS cung cấp mức độ chịu lỗi cao và chạy trên phần cứng thông dụng giá rẻ.
  • Mô hình dữ liệu HBase là một tập hợp các thành phần bao gồm Bảng, Hàng, Họ cột, Ô, Cột và Phiên bản.
  • Kho lưu trữ theo cột và hàng khác nhau về cơ chế lưu trữ.