Tech

Hướng dẫn kiểm tra big data

Big Data Testing

Big Data Testing là một quá trình kiểm tra ứng dụng Big Data để đảm bảo rằng tất cả các chức năng của ứng dụng Big Data hoạt động như mong đợi. Mục tiêu của kiểm thử Big Data là đảm bảo rằng hệ thống Big Data chạy trơn tru và không có lỗi trong khi vẫn duy trì hiệu suất và bảo mật.

Big Data là một tập hợp các bộ Big Data không thể được xử lý bằng các kỹ thuật tính toán truyền thống. Việc kiểm tra các tập dữ liệu này liên quan đến các công cụ, kỹ thuật và khuôn khổ khác nhau để xử lý. Big Data liên quan đến việc tạo, lưu trữ, truy xuất và phân tích dữ liệu, đặc biệt là về khối lượng, sự đa dạng và tốc độ. Bạn có thể tìm hiểu thêm về Big Data, Hadoop và MapReduce tại đây

Chiến lược Big Data Testing là gì?

Thử nghiệm ứng dụng Big Data là xác minh khả năng xử lý dữ liệu của nó hơn là thử nghiệm các tính năng riêng lẻ của sản phẩm phần mềm. Khi nói đến Kiểm thử Big Data, kiểm tra hiệu suất và chức năng là chìa khóa.

Trong chiến lược thử nghiệm Big Data, các kỹ sư QA xác minh việc xử lý thành công hàng terabyte dữ liệu bằng cách sử dụng cụm hàng hóa và các thành phần hỗ trợ khác. Nó đòi hỏi một trình độ cao về kỹ năng kiểm tra vì quá trình xử lý diễn ra rất nhanh. Quá trình xử lý có thể có ba loại

Hướng dẫn kiểm tra big data

Cùng với đó, chất lượng dữ liệu cũng là một yếu tố quan trọng trong thử nghiệm Hadoop. Trước khi chạy thử ứng dụng, cần phải kiểm tra chất lượng của dữ liệu và nên được coi là một phần của kiểm thử cơ sở dữ liệu. Nó liên quan đến việc kiểm tra các đặc điểm khác nhau như tính phù hợp, độ chính xác, sự trùng lặp, tính nhất quán, tính hợp lệ, tính đầy đủ của dữ liệu, v.v. Tiếp theo trong hướng dẫn Kiểm tra Hadoop này, chúng ta sẽ tìm hiểu cách kiểm tra các ứng dụng Hadoop.

Cách kiểm tra các ứng dụng Hadoop

Hình sau cung cấp cái nhìn tổng quan cấp cao về các giai đoạn trong Thử nghiệm ứng dụng Big Data

Hướng dẫn kiểm tra big data

Big Data Testing hoặc Kiểm tra Hadoop có thể được chia thành ba bước

Bước 1: Xác thực theo giai đoạn dữ liệu

Bước đầu tiên trong hướng dẫn Big Data Testing này được gọi là giai đoạn trước Hadoop liên quan đến việc xác thực quy trình.

  • Dữ liệu từ nhiều nguồn khác nhau như RDBMS, nhật ký web, phương tiện truyền thông xã hội, v.v. nên được xác thực để đảm bảo rằng dữ liệu chính xác được đưa vào hệ thống
  • So sánh dữ liệu nguồn với dữ liệu được đẩy vào hệ thống Hadoop để đảm bảo chúng khớp nhau
  • Xác minh rằng dữ liệu phù hợp được trích xuất và tải vào đúng vị trí HDFS

Các công cụ như Talend , Datameer , có thể được sử dụng để xác thực dàn dữ liệu

Bước 2: Xác thực “MapReduce”

Bước thứ hai là xác thực “MapReduce”. Trong giai đoạn này, trình Big Data Testing xác minh xác thực logic nghiệp vụ trên mọi nút và sau đó xác thực chúng sau khi chạy với nhiều nút, đảm bảo rằng

  • Quy trình Map Reduce hoạt động chính xác
  • Quy tắc tổng hợp hoặc phân tách dữ liệu được triển khai trên dữ liệu
  • Các cặp giá trị khóa được tạo
  • Xác thực dữ liệu sau quá trình Map-Reduce

Bước 3: Giai đoạn xác thực đầu ra

Giai đoạn cuối cùng hoặc giai đoạn thứ ba của thử nghiệm Hadoop là quá trình xác nhận đầu ra. Các tệp dữ liệu đầu ra được tạo và sẵn sàng chuyển đến EDW (Kho dữ liệu doanh nghiệp) hoặc bất kỳ hệ thống nào khác dựa trên yêu cầu.

Các hoạt động trong giai đoạn thứ ba bao gồm

  • Để kiểm tra các quy tắc chuyển đổi được áp dụng chính xác
  • Để kiểm tra tính toàn vẹn của dữ liệu và tải dữ liệu thành công vào hệ thống đích
  • Để kiểm tra xem có bị hỏng dữ liệu không bằng cách so sánh dữ liệu đích với dữ liệu hệ thống tệp HDFS

Kiểm tra kiến ​​trúc

Hadoop xử lý khối lượng dữ liệu rất lớn và sử dụng nhiều tài nguyên. Do đó, kiểm tra kiến ​​trúc là rất quan trọng để đảm bảo sự thành công của dự án Big Data của bạn. Hệ thống được thiết kế kém hoặc không phù hợp có thể dẫn đến suy giảm hiệu suất và hệ thống có thể không đáp ứng được yêu cầu. Ít nhất, các dịch vụ kiểm tra Hiệu suất và Chuyển đổi dự phòng phải được thực hiện trong môi trường Hadoop.

Kiểm tra hiệu suất bao gồm kiểm tra thời gian hoàn thành công việc, sử dụng bộ nhớ, thông lượng dữ liệu và các chỉ số hệ thống tương tự. Trong khi động cơ của dịch vụ kiểm tra chuyển đổi dự phòng là để xác minh rằng quá trình xử lý dữ liệu diễn ra liền mạch trong trường hợp các nút dữ liệu bị lỗi

Kiểm tra năng suất

Kiểm tra hiệu suất cho Big Data bao gồm hai hành động chính

  • Nhập và xuyên suốt dữ liệu : Trong giai đoạn này, trình Big Data Testing xác minh cách hệ thống nhanh có thể sử dụng dữ liệu từ nhiều nguồn dữ liệu khác nhau. Kiểm tra liên quan đến việc xác định một thông báo khác mà hàng đợi có thể xử lý trong một khung thời gian nhất định. Nó cũng bao gồm tốc độ đưa dữ liệu vào kho dữ liệu bên dưới, chẳng hạn như tốc độ chèn vào cơ sở dữ liệu Mongo và Cassandra.
  • Xử lý dữ liệu : Nó liên quan đến việc xác minh tốc độ mà các truy vấn hoặc công việc giảm bản đồ được thực hiện. Nó cũng bao gồm việc kiểm tra việc xử lý dữ liệu một cách riêng biệt khi kho dữ liệu cơ bản được điền trong các tập dữ liệu. Ví dụ: chạy Bản đồ Giảm bớt công việc trên HDFS bên dưới
  • Hiệu suất thành phần phụ : Các hệ thống này được tạo thành từ nhiều thành phần và điều cần thiết là phải kiểm tra từng thành phần này một cách riêng biệt. Ví dụ: thư được lập chỉ mục và tiêu thụ nhanh như thế nào, công việc MapReduce, hiệu suất truy vấn, tìm kiếm, v.v.

Phương pháp tiếp cận kiểm tra hiệu suất

Kiểm tra hiệu suất cho ứng dụng Big Data liên quan đến việc kiểm tra khối lượng lớn dữ liệu có cấu trúc và phi cấu trúc và nó yêu cầu một cách tiếp cận kiểm tra cụ thể để kiểm tra dữ liệu khổng lồ đó.

Hướng dẫn kiểm tra big data

Kiểm tra hiệu suất được thực hiện theo thứ tự này

  1. Quá trình bắt đầu với việc thiết lập cụm Big Data sẽ được kiểm tra hiệu suất
  2. Xác định và thiết kế khối lượng công việc tương ứng
  3. Chuẩn bị khách hàng cá nhân (Tập lệnh tùy chỉnh được tạo)
  4. Thực hiện kiểm tra và phân tích kết quả (Nếu các mục tiêu không được đáp ứng, hãy điều chỉnh thành phần và thực hiện lại)
  5. Cấu hình tối ưu

Các thông số để kiểm tra hiệu suất

Các thông số khác nhau cần được xác minh để kiểm tra hiệu suất là

  • Lưu trữ dữ liệu: Cách dữ liệu được lưu trữ trong các nút khác nhau
  • Nhật ký cam kết: Nhật ký cam kết được phép phát triển lớn đến mức nào
  • Đồng thời: Có bao nhiêu luồng có thể thực hiện thao tác ghi và đọc
  • Bộ nhớ đệm: Điều chỉnh cài đặt bộ đệm “bộ đệm hàng” và “bộ đệm khóa”.
  • Thời gian chờ: Giá trị cho thời gian chờ kết nối, thời gian chờ truy vấn, v.v.
  • Tham số JVM: Kích thước đống, thuật toán thu thập GC, v.v.
  • Bản đồ giảm hiệu suất: Sắp xếp, hợp nhất, v.v.
  • Hàng đợi tin nhắn: Tỷ lệ, kích thước tin nhắn, v.v.

Các nhu cầu về môi trường thử nghiệm

Môi trường thử nghiệm cần phụ thuộc vào loại ứng dụng bạn đang thử nghiệm. Đối với thử nghiệm phần mềm Big Data, môi trường thử nghiệm phải bao gồm

  • Nó phải có đủ không gian để lưu trữ và xử lý một lượng lớn dữ liệu
  • Nó phải có một cụm với các nút và dữ liệu được phân phối
  • Nó phải có mức sử dụng CPU và bộ nhớ tối thiểu để giữ hiệu suất cao nhằm kiểm tra hiệu suất Big Data

Big Data Testing Vs. Kiểm tra cơ sở dữ liệu truyền thống

Tính chấtKiểm tra cơ sở dữ liệu truyền thốngBig Data Testing
DataTester làm việc với dữ liệu có cấu trúcTester hoạt động với cả dữ liệu có cấu trúc và dữ liệu không có cấu trúc
Testing ApproachPhương pháp kiểm tra được xác định rõ ràng và được kiểm tra theo thời gianPhương pháp thử nghiệm đòi hỏi các nỗ lực R&D tập trung
Testing StrategyTester có tùy chọn chiến lược “Lấy mẫu” thực hiện theo cách thủ công hoặc chiến lược “Xác minh hết mức” bằng công cụ tự động hóaChiến lược “lấy mẫu” trong Big Data là một thách thức

Infrastructue

Nó không yêu cầu môi trường thử nghiệm đặc biệt vì kích thước tệp bị hạn chếNó yêu cầu một môi trường thử nghiệm đặc biệt do kích thước dữ liệu và tệp lớn (HDFS)
Validation ToolsTester sử dụng macro dựa trên Excel hoặc các công cụ tự động hóa dựa trên giao diện người dùngKhông có công cụ xác định, phạm vi rất lớn từ các công cụ lập trình như MapReduce đến HIVEQL
Testing ToolsCông cụ kiểm tra có thể được sử dụng với kiến ​​thức vận hành cơ bản và ít đào tạo hơn.Nó yêu cầu một tập hợp các kỹ năng và đào tạo cụ thể để vận hành một công cụ kiểm tra. Ngoài ra, các công cụ này đang ở giai đoạn sơ khai và theo thời gian, nó có thể xuất hiện các tính năng mới.

Các công cụ được sử dụng trong các kịch bản Big Data

Cụm Big DataCông cụ Big Data
NoSQL:CouchDB, Cơ sở dữ liệu MongoDB, Cassandra, Redis, ZooKeeper, HBase
MapReduce:Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
Storage:S3, HDFS (Hệ thống tệp phân tán Hadoop)
Servers:Co giãn, Heroku, Elastic, Google App Engine, EC2
ProcessingR, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer

Những thách thức trong Big Data Testing

  • Tự động hóa
    Thử nghiệm tự động hóa cho Big Data yêu cầu người có chuyên môn kỹ thuật. Ngoài ra, các công cụ tự động không được trang bị để xử lý các vấn đề không mong muốn phát sinh trong quá trình thử nghiệm
  • Ảo hóa
    Đây là một trong những giai đoạn không thể thiếu của thử nghiệm. Độ trễ của máy ảo tạo ra các vấn đề về thời gian trong kiểm tra hiệu suất Big Data theo thời gian thực. Ngoài ra, việc quản lý hình ảnh trong Big Data cũng là một vấn đề phức tạp.
  • Tập Big Data
    • Cần xác minh thêm dữ liệu và cần làm điều đó nhanh hơn
    • Cần tự động hóa nỗ lực thử nghiệm
    • Cần có khả năng kiểm tra trên các nền tảng khác nhau

Thử thách kiểm tra hiệu suất

  • Bộ công nghệ đa dạng : Mỗi thành phần phụ thuộc về công nghệ khác nhau và yêu cầu thử nghiệm riêng biệt
  • Không có sẵn các công cụ cụ thể : Không một công cụ duy nhất nào có thể thực hiện kiểm tra đầu cuối. Ví dụ: NoSQL có thể không phù hợp với hàng đợi tin nhắn
  • Kịch bản thử nghiệm : Cần có mức độ kịch bản cao để thiết kế các kịch bản thử nghiệm và các trường hợp thử nghiệm
  • Môi trường thử nghiệm : Nó cần một môi trường thử nghiệm đặc biệt do kích thước Big Data
  • Giải pháp giám sát : Tồn tại các giải pháp hạn chế có thể giám sát toàn bộ môi trường
  • Giải pháp chẩn đoán : Giải pháp tùy chỉnh được yêu cầu phát triển để đi sâu vào các khu vực tắc nghẽn hiệu suất

Bản tóm tắt

  • Khi kỹ thuật dữ liệu và phân tích dữ liệu tiến lên một cấp độ tiếp theo, việc Big Data Testing là không thể tránh khỏi.
  • Xử lý Big Data có thể là hàng loạt, thời gian thực hoặc tương tác
  • 3 giai đoạn kiểm tra ứng dụng Big Data là
    • Xác thực giai đoạn dữ liệu
    • Xác thực “MapReduce”
    • Giai đoạn xác nhận đầu ra
  • Kiểm tra kiến ​​trúc là giai đoạn quan trọng của Kiểm thử Big Data, vì hệ thống được thiết kế kém có thể dẫn đến các lỗi chưa từng có và làm giảm hiệu suất
  • Kiểm tra hiệu suất cho Big Data bao gồm xác minh
    • Thông lượng dữ liệu
    • Xử lí dữ liệu
    • Hiệu suất thành phần phụ
  • Kiểm thử Big Data rất khác với kiểm thử dữ liệu truyền thống về Dữ liệu, Cơ sở hạ tầng & Công cụ xác thực
  • Các thách thức trong Big Data Testing bao gồm ảo hóa, tự động hóa kiểm tra và xử lý tập Big Data. Kiểm tra hiệu suất của các ứng dụng Big Data cũng là một vấn đề.

Check Also
Close
Back to top button
You cannot copy content of this page