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

Mục lục:

Anonim

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

Kiểm tra dữ liệu lớn là một quá trình kiểm tra ứng dụng dữ liệu lớn để đả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 kiểm thử dữ liệu lớn là đảm bảo rằng 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à một tập hợp các bộ dữ liệu lớn 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ý. 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, đặ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ề Dữ liệu lớn, Hadoop và MapReduce tại đây

Trong hướng dẫn Kiểm tra dữ liệu lớn này, bạn sẽ học-

  • Chiến lược kiểm tra dữ liệu lớn là gì?
  • Cách kiểm tra các ứng dụng Hadoop
  • Kiểm tra kiến ​​trúc
  • Kiểm tra năng suất
  • Phương pháp tiếp cận kiểm tra hiệu suất
  • Các thông số để kiểm tra hiệu suất
  • Các nhu cầu về môi trường thử nghiệm
  • Kiểm tra dữ liệu lớn Vs. Kiểm tra cơ sở dữ liệu truyền thống
  • Các công cụ được sử dụng trong các kịch bản dữ liệu lớn
  • Những thách thức trong kiểm tra dữ liệu lớn

Chiến lược kiểm tra dữ liệu lớn là gì?

Thử nghiệm ứng dụng Dữ liệu lớn là xác minh nhiều hơn việc 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ử dữ liệu lớn, 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 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ý diễn ra rất nhanh. Quá trình xử lý có thể có ba loại

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 dưới đây 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 Dữ liệu lớn

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 theo 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 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 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 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 không có lỗi dữ liệu nào 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 Dữ liệu lớn 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 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, trình 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. 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 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à dữ liệu 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ồ đó.

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 Dữ liệu lớn 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".
  • 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 đố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 dữ liệu lớn, 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 phân tán
  • 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 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

Tính chất

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

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

Dữ liệu

  • Tester làm việc với dữ liệu có cấu trúc
  • Tester 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

Phương pháp tiếp cận thử nghiệm

  • Phương pháp kiểm tra được xác định rõ ràng và được kiểm tra theo thời gian
  • Phương pháp thử nghiệm đòi hỏi các nỗ lực R&D tập trung

Chiến lược thử nghiệm

  • Người kiểm tra 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óa
  • Chiến lược "lấy mẫu" trong Dữ liệu lớn 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ị 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)

Công cụ xác thực

Tester 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ùng

Khô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

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 đào tạo hơn.

Nó yêu cầu 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 các kịch bản dữ liệu lớn

Cụm dữ liệu lớn

Công cụ dữ liệu lớn

NoSQL:

  • CouchDB, Cơ sở dữ liệu MongoDB, Cassandra, Redis, ZooKeeper, HBase

MapReduce:

  • 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ủ:

  • Co giãn, Heroku, Elastic, Google App Engine, EC2

Chế biến

  • R, Yahoo! Pipes, Mechanical Turk, BigSheets, Datameer

Những thách thức trong kiểm tra dữ liệu lớn

  • Tự động hóa

    Thử nghiệm tự động hóa cho Dữ liệu lớn 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 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 vấn đề phức tạp.

  • 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 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 dữ liệu lớn
  • 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 là cần thiết để phát triển để đi sâu vào các khu vực tắc nghẽn hiệu suất

Tóm lược

  • 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 kiểm tra Dữ liệu lớn là 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 kiểm tra ứng dụng Dữ liệu lớn 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ử 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
    • Hiệu suất thành phần phụ
  • Kiểm thử dữ liệu lớn 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 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 suất của các ứng dụng Dữ liệu lớn cũng là một vấn đề.