빅 데이터 테스트 튜토리얼: 정의, 전략, Hadoop 테스트 방법
빅데이터 테스트
빅데이터 테스트 빅 데이터 애플리케이션의 모든 기능이 예상대로 작동하는지 확인하기 위한 빅 데이터 애플리케이션의 테스트 프로세스입니다. 빅데이터 테스트의 목표는 빅데이터 시스템이 성능과 보안을 유지하면서 원활하고 오류 없이 실행되는지 확인하는 것입니다.
빅데이터는 전통적인 컴퓨팅 기술로는 처리할 수 없는 대규모 데이터 세트의 모음입니다. 지원 이러한 데이터 세트에는 처리할 다양한 도구, 기술 및 프레임워크가 포함됩니다. 빅데이터는 양, 다양성, 속도 측면에서 놀라운 데이터 생성, 저장, 검색 및 분석과 관련됩니다. 빅 데이터, Hadoop 및 MapReduce에 대해 자세히 알아볼 수 있습니다. LINK
빅 데이터 테스트 전략이란 무엇입니까?
빅데이터 애플리케이션 테스트는 소프트웨어 제품의 개별 기능을 테스트하는 것보다 데이터 처리를 더 많이 검증하는 것입니다. 빅데이터 테스트를 하게 되면, 성능 및 기능 테스트 열쇠입니다.
빅데이터 테스트 전략에서 QA 엔지니어는 상품 클러스터 및 기타 지원 구성 요소를 사용하여 테라바이트 규모의 데이터가 성공적으로 처리되었는지 확인합니다. 처리 속도가 매우 빠르기 때문에 높은 수준의 테스트 기술이 필요합니다. 처리에는 세 가지 유형이 있습니다.
이와 함께 데이터 품질도 Hadoop 테스트에서 중요한 요소입니다. 애플리케이션을 테스트하기 전에 데이터 품질을 확인하는 것이 필요하며 데이터베이스 테스트의 일부로 고려해야 합니다. 여기에는 적합성, 정확성, 중복, 일관성, 유효성, 데이터 완전성과 같은 다양한 특성을 확인하는 작업이 포함됩니다. 다음으로 이 Hadoop 테스트 튜토리얼에서는 Hadoop 애플리케이션을 테스트하는 방법을 알아봅니다.
Hadoop 애플리케이션을 테스트하는 방법
다음 그림은 빅데이터 애플리케이션 테스트의 단계에 대한 개략적인 개요를 제공합니다.
빅 데이터 테스트 또는 Hadoop 테스트는 크게 세 단계로 나눌 수 있습니다.
1단계: 데이터 스테이징 검증
이 빅 데이터 테스트 튜토리얼의 첫 번째 단계는 프로세스 검증과 관련된 Hadoop 이전 단계라고 합니다.
- 다음과 같은 다양한 소스의 데이터 RDBMS, 웹로그, 소셜 미디어 등을 검증하여 올바른 데이터가 시스템에 입력되었는지 확인해야 합니다.
- 원본 데이터와 Hadoop 시스템에 푸시된 데이터를 비교하여 일치하는지 확인
- 올바른 데이터가 추출되어 올바른 HDFS 위치에 로드되었는지 확인
같은 도구 탈 렌드, 데이터 메어, 데이터 스테이징 검증에 사용할 수 있습니다.
2단계: "MapReduce" 검증
두 번째 단계는 "MapReduce"의 유효성 검사입니다. 이 단계에서 빅 데이터 테스터는 모든 노드에서 비즈니스 로직 유효성 검사를 확인한 다음 여러 노드에 대해 실행한 후 유효성을 검사합니다.
- Map Reduce 프로세스가 올바르게 작동합니다.
- 데이터 집계 또는 분리 규칙이 데이터에 구현됩니다.
- 키 값 쌍이 생성됩니다.
- Map-Reduce 프로세스 후 데이터 검증
3단계: 출력 검증 단계
Hadoop 테스트의 마지막 또는 세 번째 단계는 출력 유효성 검사 프로세스입니다. 출력 데이터 파일이 생성되어 요구 사항에 따라 EDW(엔터프라이즈 데이터 웨어하우스) 또는 기타 시스템으로 이동할 준비가 됩니다.
세 번째 단계의 활동에는 다음이 포함됩니다.
- 변환 규칙이 올바르게 적용되었는지 확인하려면
- 데이터 무결성을 확인하고 대상 시스템에 데이터가 성공적으로 로드되었는지 확인하려면
- 대상 데이터와 HDFS 파일 시스템 데이터를 비교하여 데이터 손상이 없는지 확인하려면
Archi강의 테스트
Hadoop은 매우 방대한 양의 데이터를 처리하며 리소스를 많이 사용합니다. 따라서 아키텍처 테스트는 빅데이터 프로젝트의 성공을 보장하는 데 매우 중요합니다. 설계가 잘못되었거나 부적절한 시스템은 성능 저하로 이어질 수 있으며 시스템은 요구 사항을 충족하지 못할 수 있습니다. 최소한, 성능 및 장애 조치 테스트 서비스는 Hadoop 환경에서 수행되어야 합니다.
성능 시험 작업 완료 시간, 메모리 활용도, 데이터 처리량 및 유사한 시스템 측정항목에 대한 테스트가 포함됩니다. Failover 테스트 서비스의 목적은 데이터 노드에 장애가 발생하더라도 데이터 처리가 원활하게 이루어지는지 확인하는 것입니다.
성능 시험
빅 데이터에 대한 성능 테스트에는 두 가지 주요 작업이 포함됩니다.
- 데이터 수집 및 전반: 빅데이터 테스터는 빠른 시스템이 다양한 데이터 소스의 데이터를 어떻게 소비할 수 있는지 검증하는 단계입니다. 테스트에는 지정된 시간 프레임에 대기열이 처리할 수 있는 다른 메시지를 식별하는 작업이 포함됩니다. 또한 Mongo에 대한 삽입 속도와 같이 기본 데이터 저장소에 데이터를 얼마나 빨리 삽입할 수 있는지도 포함됩니다. Cassandra 데이터베이스.
성능 테스트 접근 방식
빅데이터 애플리케이션에 대한 성능 테스트에는 방대한 양의 정형 및 비정형 데이터에 대한 테스트가 포함되며, 이러한 대규모 데이터를 테스트하려면 구체적인 테스트 접근 방식이 필요합니다.
성능 테스트는 다음 순서로 진행됩니다.
- 이 프로세스는 성능을 테스트할 빅데이터 클러스터 설정으로 시작됩니다.
- 해당 워크로드 식별 및 설계
- 개별 클라이언트 준비(맞춤 스크립트 생성)
- 테스트를 실행하고 결과를 분석합니다. (목표가 충족되지 않으면 구성 요소를 조정하고 다시 실행합니다.)
- 최적의 구성
성능 테스트를 위한 매개변수
성능 테스트를 위해 검증해야 할 다양한 매개 변수는 다음과 같습니다.
- 데이터 저장: 데이터가 다른 노드에 저장되는 방법
- 커밋 로그: 커밋 로그의 증가가 허용되는 크기
- 동시성: 쓰기 및 읽기 작업을 수행할 수 있는 스레드 수
- 캐싱: 캐시 설정 "행 캐시" 및 "키 캐시"를 조정합니다.
- 시간 초과: 연결 시간 초과, 쿼리 시간 초과 등에 대한 값입니다.
- JVM 매개변수: 힙 크기, GC 수집 알고리즘 등
- 지도 감소 성능: 정렬, 병합 등
- 메시지 대기열: 메시지 속도, 크기 등
테스트 환경 요구 사항
테스트 환경은 테스트 중인 애플리케이션 유형에 따라 달라져야 합니다. 빅데이터 소프트웨어 테스팅을 위해서는 테스트 환경이 다음을 포함해야 합니다.
- 대용량 데이터를 저장하고 처리할 수 있는 충분한 공간이 있어야 함
- 분산 노드와 데이터가 있는 클러스터가 있어야 합니다.
- 빅데이터 성능을 테스트하려면 성능을 높게 유지하기 위해 최소한의 CPU 및 메모리 사용률이 있어야 합니다.
빅 데이터 테스트 vs. 기존 데이터베이스 테스트
등록 | 기존 데이터베이스 테스트 | 빅데이터 테스트 |
---|---|---|
Data | 테스터는 구조화된 데이터를 사용하여 작업합니다. | 테스터는 구조화된 데이터와 구조화되지 않은 데이터 모두에서 작동합니다. |
테스트 접근법 | 테스트 접근 방식이 잘 정의되어 있고 시간 테스트를 거쳤습니다. | 테스트 접근 방식에는 집중적인 R&D 노력이 필요합니다. |
테스트 전략 | 테스터는 수동으로 수행하는 "샘플링" 전략 또는 자동화 도구를 통한 "완전한 검증" 전략을 선택할 수 있습니다. | 빅데이터의 '샘플링' 전략은 도전 과제입니다. |
인프라 | 파일 크기가 제한되어 있으므로 특별한 테스트 환경이 필요하지 않습니다. | 데이터 크기와 파일(HDFS)이 크기 때문에 특별한 테스트 환경이 필요합니다. |
검증 도구 | 테스터는 Excel 기반 매크로 또는 UI 기반 자동화 도구 | 정의된 도구가 없으며 MapReduce와 같은 프로그래밍 도구부터 HIVEQL까지 범위가 넓습니다. |
테스트 도구 | 테스트 도구는 기본적인 운영 지식이 있고 별다른 교육 없이도 사용할 수 있습니다. | 테스트 도구를 작동하려면 특정한 기술과 훈련이 필요합니다. 또한, 도구는 아직 초기 단계에 있으며 시간이 지나면서 새로운 기능이 추가될 수 있습니다. |
빅 데이터 시나리오에 사용되는 도구
빅 데이터 Cluster | 빅 데이터 도구 |
---|---|
NoSQL : | CouchDB, 데이터베이스 MongoDB, Cassandra, Redis, ZooKeeper, HBase |
맵리듀스: | 하둡, Hive, Pig, 계단식, Oozie, Kafka, S4, MapR, Flume |
스토리지 : | S3, HDFS(하둡 분산 파일 시스템) |
서버 : | 탄력있는, Heroku, 탄력적, Google App Engine, EC2 |
처리 | 알, 야후! 파이프, 기계식 터크, BigSheets, Datameer |
빅 데이터 테스트의 과제
- 자동화
자동화 테스트 빅데이터에는 기술적인 전문성을 갖춘 사람이 필요합니다. 또한, 테스트 중에 발생하는 예상치 못한 문제를 처리할 수 있는 자동화 도구가 갖춰져 있지 않습니다.
- 가상화
이는 테스트의 필수 단계 중 하나입니다. 가상 머신 지연 시간은 실시간 빅 데이터 성능 테스트에서 타이밍 문제를 야기합니다. 빅데이터로 이미지를 관리하는 것도 번거롭다.
- 대규모 데이터 세트
- 더 많은 데이터를 검증하고 더 빠르게 검증해야 함
- 테스트 작업을 자동화해야 함
- 다양한 플랫폼에서 테스트할 수 있어야 함
성능 테스트 과제
- 다양한 기술 세트: 각 하위 구성 요소는 서로 다른 기술에 속하며 별도로 테스트해야 합니다.
- 특정 도구를 사용할 수 없음: 단일 도구로는 엔드투엔드 테스트를 수행할 수 없습니다. 예를 들어, NoSQL 메시지 대기열에 적합하지 않을 수 있음
- 테스트 스크립팅: 테스트 시나리오 및 테스트 케이스를 설계하려면 높은 수준의 스크립팅이 필요합니다.
- 테스트 환경: 데이터 용량이 크기 때문에 특별한 테스트 환경이 필요합니다.
- 모니터링 솔루션: 전체 환경을 모니터링할 수 있는 제한된 솔루션이 존재합니다.
- 진단 솔루션: 성능 병목 현상 영역을 드릴다운하기 위해 개발하려면 맞춤형 솔루션이 필요합니다.
요약
- 데이터 엔지니어링 및 데이터 분석이 다음 단계로 발전함에 따라 빅 데이터 테스트는 불가피합니다.
- 빅 데이터 처리는 배치, 실시간 또는 대화형일 수 있습니다.
- 빅 데이터 애플리케이션 테스트의 3단계는 데이터 스테이징 검증, "MapReduce" 검증 및 출력 검증 단계입니다.
- Archi테스팅은 빅데이터 테스팅의 중요한 단계입니다. 제대로 설계되지 않은 시스템은 전례 없는 오류와 성능 저하로 이어질 수 있기 때문입니다.
- 빅 데이터에 대한 성능 테스트에는 데이터 처리량, 데이터 처리 및 하위 구성 요소 성능 검증이 포함됩니다.
- 빅 데이터 테스트는 데이터, 인프라 및 검증 도구 측면에서 기존 데이터 테스트와 매우 다릅니다.
- 빅 데이터 테스트 과제에는 가상화, 테스트 자동화 및 대규모 데이터 세트 처리가 포함됩니다. 빅데이터 애플리케이션의 성능 테스트도 문제이다.