HBase
 sql >> Cơ Sở Dữ Liệu >  >> NoSQL >> HBase

Hiệu suất HBase CDH5 (HBase1) so với CDH6 (HBase2)

HBase Khách hàng nâng cấp lên CDH 6 từ CDH 5, cũng sẽ nhận được bản nâng cấp HBase chuyển từ HBase1 lên HBase2. Hiệu suất là một khía cạnh quan trọng mà khách hàng xem xét. Chúng tôi đã đo hiệu suất của CDH 5 HBase1 so với CDH 6 HBase2 bằng cách sử dụng khối lượng công việc YCSB để hiểu tác động về hiệu suất của việc nâng cấp đối với khách hàng thực hiện nâng cấp tại chỗ (không có thay đổi đối với phần cứng).

Giới thiệu về YCSB

Đối với thử nghiệm của chúng tôi, chúng tôi đã sử dụng Yahoo! Điểm chuẩn phục vụ trên đám mây (YCSB). YCSB là một bộ chương trình và đặc tả mã nguồn mở để đánh giá khả năng truy xuất và bảo trì của các chương trình máy tính. Nó thường được sử dụng để so sánh hiệu suất tương đối của các hệ quản trị cơ sở dữ liệu NoSQL.

Điểm chuẩn ban đầu được phát triển bởi các công nhân trong bộ phận nghiên cứu của Yahoo! người đã phát hành nó vào năm 2010.

Thông tin thêm về YCSB tại https://github.com/brianfrankcooper/YCSB

Trong môi trường thử nghiệm của chúng tôi, quy mô dữ liệu YCSB @ 1TB đã được sử dụng và chạy khối lượng công việc bao gồm khối lượng công việc mặc định YCSB và khối lượng công việc tùy chỉnh.

Khối lượng công việc kiểm tra YCSB được sử dụng:

  • Khối lượng công việc A (Đọc + Cập nhật) :Ví dụ về ứng dụng:Lưu trữ phiên ghi lại các hành động gần đây trong phiên người dùng
    • 50% ĐÃ ĐỌC
    • CẬP NHẬT 50%
  • Khối lượng công việc C (Chỉ đọc) :Ví dụ về ứng dụng:Đọc bộ nhớ cache của hồ sơ người dùng, nơi các hồ sơ được tạo ở nơi khác (ví dụ:Hadoop)
    • ĐỌC 100%
  • Khối lượng công việc F (Đọc + Sửa đổi + Ghi) :Ứng dụng Ví dụ:Cơ sở dữ liệu người dùng, nơi các bản ghi người dùng được người dùng đọc và sửa đổi hoặc để ghi lại hoạt động của người dùng
    • 50% ĐÃ ĐỌC
    • CẬP NHẬT 25%
    • 25% ĐỌC-SỬA-VIẾT
  • Chỉ cập nhật khối lượng công việc YCSB tùy chỉnh của Cloudera :Ví dụ ứng dụng:Cập nhật hàng loạt
    • 100% hoạt động CẬP NHẬT

Thông tin thêm về khối lượng công việc YCSB tại https://github.com/brianfrankcooper/YCSB/wiki/Core-Workloads

Phương pháp thử nghiệm

Chúng tôi đang tải tập dữ liệu YCSB với 1000.000.000 bản ghi với kích thước mỗi bản ghi là 1KB, tạo ra tổng số 1TB dữ liệu. Sau khi tải xong, chúng tôi đợi tất cả các hoạt động nén kết thúc trước khi bắt đầu kiểm tra khối lượng công việc. Mỗi khối lượng công việc được kiểm tra được chạy 3 lần, mỗi lần 15 phút và thông lượng * đo lường. Số trung bình được lấy từ 3 bài kiểm tra để đưa ra con số cuối cùng.

* Thông lượng (ops / giây) =Số hoạt động mỗi giây

So sánh thông lượng của CDH5 HBase1 với CDH6 HBase2 bằng YCSB

Thông lượng chỉ cập nhật tùy chỉnh

Chỉ cập nhật . Các trường hợp sử dụng:Cập nhật hàng loạt
thông lượng CDH6 HBase2 nhiều hơn 50% so với CDH5 HBase1

YCSB Khối lượng công việc A Thông lượng

Cập nhật nặng. Các trường hợp sử dụng:Lưu trữ phiên, ghi lại các hành động gần đây
Thông lượng CDH6 HBase2 thấp hơn 6% so với CDH5 với HBase1

Thông lượng khối lượng công việc YCSB C

Chỉ đọc. Các trường hợp sử dụng:Bộ nhớ cache của hồ sơ người dùng, bộ nhớ cache của nguồn cấp tin tức
Thông lượng CDH6 HBase2 ít hơn 5% so với CDH5 HBase1

Thông lượng F khối lượng công việc YCSB

Đọc-Sửa-Viết. Các trường hợp sử dụng:Kho lưu trữ hoạt động, cơ sở dữ liệu người dùng
Thông lượng CDH6 HBase2 rất gần với CDH5 HBase1

Tóm tắt kết quả kiểm tra

Chỉ cập nhật tùy chỉnh khối lượng công việc : Cập nhật HBase2 CDH6 Chỉ khối lượng công việc được thực hiện tốt hơn 50% hơn HBase1 CDH5

Khối lượng công việc YCSB Workload F: CDH6 YCSB Workload F hoạt động và thông lượng công việc rất giống nhau sang CDH5 HBase1

Khối lượng công việc YCSB A và YCSB Khối lượng công việc C: CDH6 YCSB Khối lượng công việc C Chỉ đọc và YCSB Khối lượng công việc A có ít hơn khoảng 5% hoạt động và thông lượng hơn CDH5 HBase1

Các phiên bản CDH được so sánh

Phiên bản CDH6:Cloudera Enterprise 6.2

Phiên bản CDH5:Cloudera Enterprise 5.16.2

Java VM Name:Java HotSpot (TM) 64-Bit Server VM

Phiên bản Java:1.8.0_141

Môi trường thử nghiệm

Cụm được sử dụng: Cụm 6 nút
Mô tả nút: Dell PowerEdge R430, 20c / 40t Xenon e5-2630 v4 @ 2.2Ghz, Ram 128GB, đĩa 4-2TB

Thiết lập thử nghiệm

  • Phiên bản YCSB:0.14.0
  • Phiên bản ràng buộc YCSB hbase20
  • Bảng YCSB @ quy mô 1TB
  • Cấu hình WAL
    • Số lượng máy chủ theo khu vực của đường ống WAL ( wal.regiongrouping.numgroups ) được đặt thành 1
    • Nhiều WAL: wal.provider đặt thành Nhiều HDFS WAL
      • Lưu ý -> Ở đây WAL đơn được sử dụng làm đường ống WAL được đặt thành 1
    • Asyncfs WAL: region.replica.replication.enabled đặt thành false
  • Bảo mật: Không có cấu hình nào (Không có Kerberos)
  • Máy chủ khu vực
    • Số khu vực trong bảng YCSB 250, với cụm nút 5 + 1, khoảng 50 khu vực trên mỗi máy chủ khu vực
    • Kích thước máy chủ khu vực trung bình là 290G
    • Dữ liệu cho mỗi vùng ~ 6G
  • Chỉ bộ nhớ đệm L1 với LruBlockCache được sử dụng với giới hạn kích thước bộ nhớ đệm 3 GB

Dựa trên thử nghiệm của chúng tôi (kết quả ở trên), những khách hàng muốn nâng cấp từ CDH 5.x lên 6.x sẽ mong đợi hiệu suất được cải thiện đáng kể đối với các bản cập nhật hàng loạt và hiệu suất khá tương đồng cho các khối lượng công việc khác so với những gì họ đang nhận được ngày nay.

Tìm hiểu thêm về Cơ sở dữ liệu hoạt động của Cloudera tại đây


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Spark trên HBase với Spark shell

  2. Giới thiệu về Vị trí dữ liệu trong Hadoop MapReduce

  3. Triển khai ứng dụng trên Cơ sở dữ liệu hoạt động CDP (COD)

  4. Tìm hiểu Tính năng sẵn có cao của Hadoop

  5. Sử dụng Hive để tương tác với HBase, Phần 1