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

Cải thiện hiệu suất cơ sở dữ liệu hoạt động trong CDP Private Cloud Base 7 so với CDH5

Cloudera Data Platform (CDP) Private Cloud là nền tảng tại chỗ toàn diện nhất để phân tích tích hợp và quản lý dữ liệu. Nó kết hợp những gì tốt nhất của Trung tâm dữ liệu doanh nghiệp Cloudera và Nền tảng dữ liệu Hortonworks Enterprise Plus, đồng thời mang công nghệ nguồn mở mới nhất và tuyệt vời nhất để quản lý và phân tích dữ liệu vào trung tâm dữ liệu.

Với phiên bản mới nhất (7) của CDP Private Cloud Base, chúng tôi đã giới thiệu một số tính năng và cải tiến mới. Trong bài đăng trên blog này, chúng tôi muốn chia sẻ những cải tiến hiệu suất có sẵn trong Apache HBase.

Đối với những người mới sử dụng HBase hoặc đang đánh giá nó cho một dự án mới, HBase là một cơ sở dữ liệu phân tán không quan hệ được các kiến ​​trúc sư và nhà phát triển tin cậy, những người muốn xử lý khối lượng lớn dữ liệu một cách kịp thời và đáng tin cậy.

Để so sánh hiệu suất này, chúng tôi đã đo HBase2 có sẵn trong CDP Private Cloud Base 7 đến Hbase1 có sẵn trong CDH 5 bằng cách sử dụng khối lượng công việc YCSB. So sánh giúp chúng tôi hiểu các cải tiến hiệu suất và ý nghĩa đối với khách hàng thực hiện nâng cấp tại chỗ mà không có thay đổi đối với phần cứng cơ bản.

Lưu ý:Những khách hàng đang nâng cấp từ CDH 5 lên CDP 7 cũng sẽ nhận được bản nâng cấp HBase từ HBase1 lên HBase2.

  • Khối lượng công việc Chỉ cập nhật YCSB tùy chỉnh
    • Khối lượng công việc Chỉ cập nhật YCSB tùy chỉnh của chúng tôi thực hiện
      • 100% hoạt động CẬP NHẬT
    • Một ví dụ về ứng dụng sẽ là một cửa hàng số liệu
    • Hiệu suất khối lượng công việc: CDP 7 YCSB Cập nhật Thông lượng chỉ chạy khối lượng công việc (hoạt động mỗi giây) tốt hơn 20% so với khi chạy với CDH5

  • Khối lượng công việc YCSBA
    • YCSB Khối lượng công việc A thực hiện
      • 50% hoạt động ĐỌC
      • 50% CẬP NHẬT hoạt động
    • Ví dụ về ứng dụng sẽ là một cửa hàng phiên ghi lại các hành động gần đây trong phiên người dùng
    • Hiệu suất khối lượng công việc: CDP Khối lượng công việc của Private Cloud Base 7.1 HBase2 YCSB Thông lượng (hoạt động trên giây) tốt hơn 15% so với CDH5 HBase1

  • YCSB Khối lượng công việc C (Chỉ đọc)
    • YCSB Workload C là một khối lượng công việc chỉ đọc và thực hiện
      • 100% hoạt động ĐỌC
    • Một ví dụ về ứng dụng sẽ được đọc trong bộ đệm ẩn hồ sơ người dùng khi hồ sơ được tạo ở nơi khác (ví dụ:Hadoop) hoặc hệ thống ngân hàng để truy cập và xem sao kê tài khoản
    • Hiệu suất khối lượng công việc: khối lượng công việc CDP 7 YCSB C có thông lượng tương tự (hoạt động mỗi giây) với CDH 5

Phán quyết - CDP 7 cung cấp hiệu suất được cải thiện hơn CDH 5 trong YCSB

Khối lượng công việc Chỉ cập nhật tùy chỉnh :CDP 7 YCSB Cập nhật chỉ khối lượng công việc được thực hiện tốt hơn 20% hơn C5.

YCSB Khối lượng công việc A :Khối lượng công việc CDP 7 YCSB A hoạt động tốt hơn 15% hơn CDH5.

YCSB Khối lượng công việc C :CDP 7 YCSB chỉ đọc khối lượng công việc C có hoạt động / thông lượng tương tự sang CDH 5

Trong quá trình thử nghiệm, chúng tôi nhận thấy rằng việc nâng cấp từ JDK8 lên JDK 11 trong CDP 7 có thể cải thiện hiệu suất thêm 10%. Đây là điểm hơn cả những cải tiến hiệu suất đạt được khi nâng cấp từ CDH5 lên CDP7.

CDP 7 đi kèm với JDK8 được cài đặt theo mặc định và hỗ trợ nâng cấp lên JDK11. Trong các lần chạy thử nghiệm của chúng tôi, CDP 7 đã được cập nhật để sử dụng JDK 11 cho các lần chạy khối lượng công việc YCSB được trình bày ở trên. Chúng tôi cũng chạy cùng một khối lượng công việc với JDK8 và kết quả thử nghiệm cho thấy hiệu suất của JDK11 tốt hơn 5-10% so với JDK8 , như được hiển thị trong biểu đồ dưới đây

Để nâng cấp CDP 7 từ JDK 8 lên OpenJDK 11, vui lòng làm theo các bước sau:

Bước 1:Cài đặt OpenJDK11 trên tất cả các máy chủ bằng cách sử dụng bên dưới

GIÚP ĐỠ

sudo yum install java-11-openjdk

Ubuntu

sudo apt install openjdk-11-jdk

Bước 2:Chỉ trên máy chủ Cloudera Manager Server (không bắt buộc đối với các máy chủ khác):

  1. Mở tệp / etc / default / cloudera-scm-server trong trình soạn thảo văn bản.
  2. Chỉnh sửa dòng bắt đầu bằng xuất JAVA_HOME (nếu dòng này không tồn tại, hãy thêm nó) và thay đổi đường dẫn thành đường dẫn của JDK mới (JDK thường được cài đặt trong / usr / lib / jvm) (hoặc / usr / lib64 / jvm trên SLES 12), nhưng đường dẫn có thể khác nhau tùy thuộc vào cách cài đặt JDK).

Để biết thêm thông tin về việc nâng cấp JDK, vui lòng làm theo Nâng cấp JDK

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

Phương pháp Kiểm tra

CDH 5.16.3 / HBase1 đã được cài đặt trên cụm và dữ liệu khối lượng công việc với 1 tỷ hàng (kích thước tập dữ liệu 1TB) đã được tạo và khối lượng công việc CDH 5.16.3 YCSB đã được chạy. Sau khi tải, 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.

Sau khi hoàn tất quá trình chạy CDH 5.16.3, CDP Private Cloud Base 7.1 HBase2 đã được cài đặt sạch và dữ liệu được tạo lại trên cùng một cụm. Sau đó, khối lượng công việc YCSB của CDP Private Cloud Base 7.1 đã được chạy để lấy thời gian thử nghiệm. Trước mỗi lần chạy khối lượng công việc, chúng tôi khởi tạo bảng HBase được YCSB sử dụng. Ảnh chụp nhanh utable_snap có thể sử dụng đã được tạo và áp dụng trước mỗi lần chạy.

Mỗi khối lượng công việc được kiểm tra được chạy 3 lần, mỗi lần trong 15 phút để đo thông lượng *. Kết quả được hiển thị là giá trị trung bình được lấy từ 3 bài kiểm tra.

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

CDP Private Cloud Base 7.1 bao gồm HBase2 và CDH 5.16.3 bao gồm HBase1. Cả CDP Private Cloud Base 7.1 và CDH5 đều được cài đặt JDK 8. CDP Private Cloud Base 7.1 hỗ trợ JDK11 và CDP Private Cloud Base 7.1 đã được cập nhật để sử dụng JDK 11 cho thử nghiệm YCSB, các lần chạy CDH 5.13.3 được chạy với JDK 8 (1.8.0_141)

Cấu hình thử nghiệm

  • Phiên bản YCSB 0.17.0
  • Phiên bản ràng buộc YCSB hbase2 (CDP-CD 7.1) và hbase1 (CDH 5)
  • Ứng dụng khách YCSB đã sử dụng 2
  • Chuỗi YCSB cho mỗi khách hàng 20
  • Kích thước dữ liệu
    • Bảng YCSB @ quy mô 1TB
    • Tổng số bản ghi trong bảng YCSB 1.000.000.000 (1TB), mỗi bản ghi là 1KB
    • Số vùng trong bảng YCSB 250, với cụm nút 5 + 1, khoảng 50 vùng cho mỗi máy chủ vùng
    • Dung lượng lưu trữ khu vực trung bình được sử dụng trên mỗi máy chủ có kích thước 290G
  • Máy chủ Vùng HBase đã được định cấu hình với 32GB heap
  • Chỉ sử dụng bộ nhớ đệm L1 với LruBlockCache với kích thước bộ nhớ đệm 12,3 GB
  • Tỷ lệ truy cập bộ nhớ đệm L1 quan sát được trong quá trình chạy trên máy chủ khu vực là 85%
  • L2 off heap cache không được định cấu hình trên cụm

Cấu hình cụm

  • Cụm được sử dụng: Cụm 6 nút (1 máy chủ chính + 5 máy chủ khu vực)
  • Mô tả: Dell PowerEdge R430, 20c / 40t Xenon e5-2630 v4 @ 2.2Ghz, Ram 128GB, đĩa 4-2TB
  • Bảo mật: Không có cấu hình nào (Không có Kerberos)

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

Phiên bản C7 :CDP Private Cloud Base 7.1.0

Phiên bản C5: CDH5.16.3

JDK được sử dụng:JDK 8 ( 1.8.0_141) và JDK 11 (11.0.6)

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 lên CDP 7 sẽ mong đợi hiệu suất được cải thiện cho khối lượng công việc tương tự 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. 6 xuất sắc nhất MapReduce nghề Kỹ thuật Tối ưu hóa

  2. Apache Hadoop Ozone Security - Xác thực

  3. Đưa hỗ trợ giao dịch vào Cơ sở dữ liệu hoạt động của Cloudera

  4. Nhận thức về Rack trong Hadoop và những ưu điểm của nó

  5. Bộ đếm Hadoop &Các loại bộ đếm trong MapReduce