Hướng dẫn kiểm tra dữ liệu lớn: Là gì, Chiến lược, Cách kiểm tra Hadoop

Kiểm tra dữ liệu lớn

Kiểm tra dữ liệu lớn là một quá trình thử nghiệm một ứng dụng dữ liệu lớn nhằm đảm bảo rằng tất cả các chức năng của ứng dụng dữ liệu lớn hoạt động như mong đợi. Mục tiêu của thử nghiệm dữ liệu lớn là đảm bảo hệ thống dữ liệu lớn 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.

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

Chiến lược thử nghiệm dữ liệu lớn là gì?

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

Trong chiến lược thử nghiệm Dữ liệu lớn, 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 kỹ năng kiểm tra ở mức độ cao vì quá trình xử lý rất nhanh. Quá trình xử lý có thể có ba loại

Chiến lược thử nghiệm dữ liệu lớn

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 thử nghiệm ứng dụng, cần kiểm tra chất lượng dữ liệu và nên được coi là một phần của thử nghiệm cơ sở dữ liệu. Nó liên quan đến việc kiểm tra các đặc điểm khác nhau như sự 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 ứng dụng Hadoop

Hình sau đây cung cấp tổng quan cấp cao về các giai đoạn trong Kiểm tra Ứng dụng Dữ liệu lớn

Kiểm tra ứng dụng Hadoop

Kiểm tra dữ liệu lớn hoặc Kiểm tra Hadoop có thể được chia thành ba bước

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

Bước đầu tiên trong hướng dẫn kiểm tra dữ liệu lớn này được gọi là giai đoạn tiền 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, blog, phương tiện truyền thông xã hội, v.v. phải đượ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 với nhau
  • Xác minh đúng dữ liệu được trích xuất và tải vào đúng vị trí HDFS

Công cụ như Tài năng, dữ liệu, 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, người kiểm tra Dữ liệu lớn 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 trên nhiều nút, đảm bảo rằng

  • Quá trình thu nhỏ bản đồ hoạt động chính xác
  • Các quy tắc tổng hợp hoặc phân tách dữ liệu được thực hiện 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 thứ ba của thử nghiệm Hadoop là quá trình xác thực đầ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 dữ liệu và tải dữ liệu thành công vào hệ thống đích
  • Để kiểm tra xem không có dữ liệu nào bị hỏng bằng cách so sánh dữ liệu đích với dữ liệu hệ thống tệp HDFS

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

Hadoop xử lý khối lượng dữ liệu rất lớn và đòi hỏi nhiều tài nguyên. Do đó, thử nghiệm kiến ​​trúc là rất quan trọng để đảm bảo sự thành công của dự án Dữ liệu lớn của bạn. Một 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, Kiểm tra hiệu suất và chuyển đổi dự phòng các dịch vụ nên được thực hiện trong môi trường Hadoop.

Kiểm tra năng suất bao gồm kiểm tra thời gian hoàn thành công việc, mức sử dụng bộ nhớ, thông lượng dữ liệu và các số liệu hệ thống tương tự. Mặc dù mục đích 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 Dữ liệu lớn 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, người kiểm tra Dữ liệu lớn xác minh cách hệ thống nhanh có thể tiêu thụ dữ liệu từ nhiều nguồn dữ liệu khác nhau. Việc kiểm tra bao gồm 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 độ chèn dữ liệu vào kho dữ liệu cơ bản, ví dụ như tốc độ chèn vào Mongo và Cassandra cơ sở dữ liệu.
  • Xử lí dữ liệu: Nó liên quan đến việc xác minh tốc độ thực hiện các truy vấn hoặc công việc giảm bản đồ. Nó cũng bao gồm việc kiểm tra việc xử lý dữ liệu một cách tách biệt khi kho dữ liệu cơ bản được đưa vào các tập dữ liệu. Ví dụ: chạy công việc Map Giảm trên cơ sở HDFS
  • 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ông báo được lập chỉ mục và sử dụng 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 kiểm tra hiệu suất

    Kiểm tra hiệu suất cho ứng dụng dữ liệu lớn liên quan đến việc kiểm tra khối lượng lớn dữ liệu có cấu trúc và không cấu trúc, đồng thời nó đòi hỏi một phương pháp thử nghiệm cụ thể để kiểm tra dữ liệu khổng lồ đó.

    Phương pháp kiểm tra hiệu suất

    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 cài đặt Cụm dữ liệu lớn cần 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 thử và phân tích kết quả (Nếu không đạt được mục tiêu thì đ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 tăng 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 chính”.
    • Hết 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 vùng heap, 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ốc độ tin nhắn, kích thước, v.v.

    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. Để kiểm thử phần mềm Dữ liệu lớn, môi trường kiểm thử phải bao gồm

    • Nó cần 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 phân tán
    • Nó phải có mức sử dụng CPU và bộ nhớ tối thiểu để duy trì hiệu suất cao nhằm kiểm tra hiệu suất Dữ liệu lớn

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

    Bất động sản Kiểm tra cơ sở dữ liệu truyền thống Thử nghiệm dữ liệu lớn
    Ngày Người kiểm tra làm việc với dữ liệu có cấu trúc Trình kiểm tra hoạt động với cả dữ liệu có cấu trúc và không có cấu trúc
    Phương pháp thử nghiệm Phương pháp thử nghiệm được xác định rõ ràng và được thử nghiệm theo thời gian Phương pháp thử nghiệm đòi hỏi nỗ lực R&D tập trung
    Chiến lược thử nghiệm Người kiểm thử có thể lựa chọn chiến lược “Lấy mẫu” thực hiện thủ công hoặc chiến lược “Xác minh toàn diện” bằng công cụ tự động hóa Chiến lược “lấy mẫu” trong Big data là một thách thức
    Cơ sở hạ tầng 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ị giới hạn 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)
    Công cụ xác thực Người kiểm tra sử dụng công cụ dựa trên Excel macro hoặc các công cụ tự động hóa dựa trên giao diện người dùng Không có công cụ xác định, phạm vi rất rộng, từ các công cụ lập trình như MapReduce đến HIVEQL
    Công cụ kiểm tra Cô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 cần đào tạo. Nó đòi hỏi một bộ 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 Kịch bản dữ liệu lớn

    Dữ Liệu Lớn. Cluster Công cụ dữ liệu lớn
    Không có SQL: CouchDB, Cơ sở dữ liệu MongoDB, Cassandra, Redis, ZooKeeper, HBase
    Giảm bản đồ: Hadoop, Hive, Pig, Cascading, Oozie, Kafka, S4, MapR, Flume
    Lưu trữ: S3, HDFS (Hệ thống tệp phân tán Hadoop)
    May chủ: Đàn hồi, Heroku, Đàn hồi, Google App Engine, EC2
    Đang xử lý R, Yahoo! Ống, Turk cơ khí, BigSheets, Datameer

    Những thách thức trong thử nghiệm dữ liệu lớn

    • Tự động hóa

      kiểm thử tự động hóa đối với Dữ liệu lớn cần người có chuyên môn kỹ thuật. Ngoài ra, các công cụ tự động cũng không được trang bị để xử lý các sự cố 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 quá trình kiểm tra hiệu suất dữ liệu lớn theo thời gian thực. Ngoài ra, việc quản lý hình ảnh trong Dữ liệu lớn cũng là một rắc rối.

    • Tập dữ liệu lớn
      • Cần xác minh thêm dữ liệu và cần thực hiện nhanh hơn
      • Cần tự động hóa nỗ lực kiểm tra
      • Cần có khả năng thử nghiệm trên nền tảng khác nhau

    Thử thách kiểm tra hiệu năng

    • 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ụ nào có thể thực hiện thử nghiệm toàn diện. Ví dụ, NoSQL có thể không phù hợp với hàng đợi tin nhắn
    • Kiểm tra kịch bản: Cần có mức độ viết kịch bản cao để thiết kế các kịch bản thử nghiệm và 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 dữ liệu lớn
    • Giám sát giải pháp: Có một số 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: cần phải phát triển một giải pháp Tùy chỉnh để đi sâu vào các khu vực tắc nghẽn về hiệu suất

    Tổng kết

    • Khi kỹ thuật dữ liệu và phân tích dữ liệu tiến lên một tầm cao mới, việc thử nghiệm Dữ liệu lớn là điều không thể tránh khỏi.
    • Xử lý dữ liệu lớn có thể là Hàng loạt, Thời gian thực hoặc Tương tác
    • 3 giai đoạn của Thử nghiệm ứng dụng Dữ liệu lớn là Xác thực theo giai đoạn dữ liệu, xác thực “MapReduce” và giai đoạn xác thực đầu ra
    • ArchiKiểm thử kiến ​​trúc là giai đoạn quan trọng của kiểm thử Dữ liệu lớn, 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 Dữ liệu lớn bao gồm xác minh Thông lượng dữ liệu, Xử lý dữ liệu và hiệu suất của Thành phần phụ
    • Kiểm tra dữ liệu lớn rất khác so với kiểm tra 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 Kiểm tra dữ liệu lớn bao gồm ảo hóa, tự động hóa kiểm tra và xử lý tập dữ liệu lớn. Kiểm tra hiệu năng của các ứng dụng Dữ liệu lớn cũng là một vấn đề.