큰 데이터 데이터 분석 플랫폼 아키텍처

출처: 인터넷
작성자: 사용자
키워드: 다차원 대규모 데이터 분석 플랫폼을 통해

인터넷, 모바일 인터넷 및 IoT의 개발, 우리는 실제로 대규모 데이터 시대에 도입, 데이터 리서치 회사 IDC 2011 총 데이터 1.8 조 기가바이트, 이러한 대규모 데이터의 분석을 도달할 것으로 예상 되고있다 매우 중요 하 고 긴급 한 수요를 부정할 수 있다 아무도.

인터넷 데이터 분석 회사로 서 우리는 "반란" 대규모 데이터의 분석의 분야 에서입니다. 년 동안, 우리가 힘든 비즈니스 요구와 데이터 압력, 거의 모든 가능한 큰 데이터 분석 접근을 시도 했 고 결국 Hadoop 플랫폼에 착륙.

Hadoop 확장성, 견고성, 계산 성능 및 비용, 대체할 수 없는 장점이 고 사실 현재 인터넷 기업에 대 한 주요 데이터 분석 플랫폼 되고있다. 이 문서는 주로 다차원 분석 및 데이터 마이닝 플랫폼 아키텍처 기반 Hadoop 플랫폼을 소개 합니다.

대용량 데이터 분석의 분류

Hadoop 플랫폼을 대상으로 사업 하는 귀하의 비즈니스에 맞춰 인지 결정할 수 있도록 더 많은 지금 약의 분류, 다른 특정 요구에 대 한 비즈니스 요구의 대용량 데이터 분석에는 몇 가지 각도에서 채택 해야 다른 데이터 분석 프레임 워크입니다.

실시간 데이터 분석, 실시간 데이터 분석 및 오프 라인 데이터 분석 두 가지로 나누어집니다.
실시간 데이터 분석은 금융, 모바일 등 제품 및 인터넷 소비자 하지 사용자 경험에 영향을 미치는의 목표를 달성 하기 위해 몇 초 안에 반환 될 데이터의 행 수 천억의 분석 요구에 일반적으로 사용 됩니다. 이 수요를 충족 시키기 위해 잘 디자인 된 전통적인 관계형 데이터베이스 클러스터 또는 일부 메모리 컴퓨팅 플랫폼 또는 HDD 아키텍처, 요하는 것입니다 의심할 여 지 없이 높은 하드웨어 및 소프트웨어 비용을 처리 하는 병렬으로 사용할 수 있습니다. 현재, 새로운 대규모 데이터 실시간 분석 도구에 EMC Greenplum, SAP 하나 있다.

피드백의 대부분에 대 한 시간 요구 사항은 그리 가혹한 응용 프로그램을 오프 라인 통계 분석, 기계 학습, 검색 엔진 리버스 인덱스 계산, 추천 엔진 계산, 등, 오프 라인 분석, 데이터 수집 도구 전용된 분석 플랫폼으로 로그 데이터를 가져오는 데 사용 해야 합니다. 그러나, 거 대 한 데이터를 얼굴에 전통적인 ETL 도구 유효 하지 않습니다 종종 완전히, 주로 하기 때문에 데이터 형식 변환 비용 너무 크고, 성능에 대규모 데이터 수집의 요구를 충족 하지 않을 수 있습니다. 인터넷 기업의 대규모 데이터 수집 도구, 오픈 소스 학자, 링크 드 인 오픈 소스 카프카, Taobao 오픈 소스 Timetunnel, Hadoop Chukwa에 페이스 북은, 모두 두 번째 로그 데이터 수집 및 전송 요구, 당 메가바이트의 수백을 만날 수 있다 그리고 Hadoop 중앙 시스템에 데이터를 업로드.

큰 데이터의 데이터 양에 따라 메모리 수준, BI 수준, 대규모 레벨 3 종류를 나눕니다.
여기에 메모리 수준 데이터를 클러스터의 최대 메모리 크기를 초과 하지 않는 금액을 말합니다. 오늘날의 메모리의 용량, 페이스 북의 memcached 데이터 메모리에 캐시를 과소 평가 하지 마십시오 최대 320 결핵, 그리고 현재 PC 서버 메모리 또한 수 이상 백 기가바이트. 따라서 일부 메모리 데이터베이스가 될 수 있습니다 사용, 매우 빠른 분석 기능을 얻을 수 있도록 메모리에 상주 핫스팟 데이터 실시간 분석 사업 위해 아주 적당 하다. 그림 1은 실용적이 고 실현 가능한 MongoDB 분석 아키텍처입니다.


실시간 분석을 위한 그림 1 MongoDB 아키텍처 MongoDB 큰 클러스터에서 몇 가지 안정성 문제는 현재, 정기적인 쓰기 차단 및 마스터-슬레이브 동기화 실패 발생 합니다 하지만 여전히는 NoSQL의 고속 데이터 분석을 위한 잠재력.

또한, 현재 서비스 공급 업체의 대부분 이상 4gb SSD, 메모리 + SSD를 사용 하 여 솔루션을 시작 했습니다, 그리고 또한 쉽게 메모리 분석의 성능을 달성할 수 있다. SSD의 개발, 메모리 데이터의 분석에 널리 사용 됩니다.

비스무트 수준 너무 커서 메모리에 있는 데이터의 양을 의미 하지만 일반적으로 전통적인 bi 제품에는 특별히 고안 된 BI 데이터베이스 분석 될 수 있다. 현재 주류 BI 제품에는 TB 급 데이터 분석 솔루션에 대 한 지원 합니다. 넓은 다양 한, 명확 하 게 열거.

대량 수준 완전히 무효화 하는 데이터 또는 데이터베이스와 BI 제품에 대 한 금지 비용의 금액을 말합니다. 또한 대규모 데이터 수준으로, 많은 우수한 엔터프라이즈급 제품 하지만 하드웨어와 소프트웨어의 비용을 기반으로, 대부분 인터넷 회사 현재를 사용 하 여 Hadoop의 HDFs 분산 파일 시스템 데이터를 저장 하 고 분석을 위한 MapReduce를 사용. 다차원 데이터 분석 플랫폼 Hadoop에 MapReduce에 따라이 문서의 뒷부분에 소개 된다.

데이터 분석의 알고리즘 복잡성
다른 비즈니스 요구 사항에 따라 데이터 분석의 알고리즘은 매우 다른, 그리고 데이터 분석의 알고리즘 복잡성 아키텍처에 밀접 하 게 관련. 예를 들어 Redis 매우 고성능 메모리 목록 같은 간단한 세트 및 세트, SortedSet, 지 원하는 키 값 NoSQL 이며 데이터 분석 요구, 간단 하 게 정렬 하는 경우 연결된 리스트는 해결 될 수 있다, 동시에 데이터의 총 금액은 (정확 하 게 메모리와 가상 메모리를 2로 나눈 값), 메모리 보다 큰 다음 Redis 사용 하 여 매우 놀라운 분석 성능 달성 의심할 여 지 없이 것입니다.

많은 쉽게 병렬 문제 (쩔 병렬), 완전히 독립적인 부분으로 분해 또는 대규모 얼굴 인식, 그래픽 렌더링 등 분산된 알고리즘을 변형 시킬 수 매우 간단한 계산 될 수 있습니다, 그리고 같은 문제는 자연스럽 게 사용 하 여 병렬 처리 클러스터는 더 적절 한.

대부분 통계 분석, 대 한 기계 학습 문제 mapreduce 알고리즘을 사용 하 여 다시 작성 될 수 있습니다. MapReduce는 현재 최고의 컴퓨팅 흐름 통계, 추천 엔진, 동향 분석, 사용자 행동 분석, 데이터 마이닝 분류자, 분산된 색인 등의 분야에서.


그림 2는 Rcfile의 순위

큰 데이터 OLAP 분석에 얼굴에 몇 가지 문제

OLAP 분석에는 많은 수를의 데이터 그룹화 및 간 테이블 연결 하지 nosql 및 전통적인 데이터베이스의 장점을 명확 하 고 자주 BI 최적화에 대 한 특정 데이터베이스를 사용 해야 합니다 필요 합니다. 예를 들어 대부분의 BI 최적화를 위한 데이터베이스 열 저장소를 사용 또는 혼합된 저장, 압축, 지연 로드, 스토리지 블록의 사전 통계와 인덱싱 기술을 조각.

Hadoop 플랫폼에서 OLAP 분석 또한이 문제는 그리고 페이스 북 하이브, Rcfile 데이터 형식을 더 나은 데이터 분석 성능을 얻기 위해 일부 위의 최적화 기법을 사용 하 여 개발. 로 그림 2에 나와 있습니다.

그러나, Hadoop 플랫폼에 대 한 단순히 모방 SQL, 데이터 분석을 위해 충분 하지 않습니다, 있지만 첫 번째 하이브를 하이브를 사용 하 여 HIVEQL 번역 MapReduce은 최적화 된, 하지만 여전히 비효율적. 다차원 분석은 아직도 팩트 테이블 및 차원 테이블 협회, 성능의 많은의 치수를 크게 감소 한다. 둘째, Rcfile 혼합된 저장소 모드, 데이터 형식 제한, 즉, 데이터 형식은 특정 분석, 비즈니스 모델 변경의 한 번 분석을 위한, 대규모 데이터 변환 포맷의 비용이 매우 큽니다. 마지막으로, HIVEQL는 여전히 OLAP 비즈니스 분석가 게 매우 친절 하 고 치수 및 통계는 직접 기업 들 대상으로 하는 분석 언어.

그리고 현재 OLAP는 가장 큰 문제는: 유연한 비즈니스는 필연적으로 리드 비즈니스 모델 자주 변화, 및 비즈니스 크기와 통계를 한 번 변경, 기술자 전체 큐브 (다차원 큐브)를 재정의 하는 데 필요한, 비즈니스 직원 수만이 큐브에 다차원 분석 이 비즈니스 사람들이 신속 하 게 문제 분석의 관점을 변화 제한 되도록 딱딱한 일상적인 보고 시스템으로 소위 BI 시스템.

사용 하 여 Hadoop 다차원 분석을 위해 우선, 문제, 변경 하기 어려운 위의 크기를 해결 하기 위해 Hadoop 데이터 구조화 되지 않은 기능, 데이터 수집 자체가 사용 많은 중복 정보입니다. 같은 시간에 많은 중복 차원 정보 중복 차원에서 유연 하 게 문제 분석의 각도 바꿀 수 있는 팩트 테이블, 통합 수 있습니다. 둘째, Hadoop을 사용 하 여 mapreduce 강력한 병렬 처리 능력의 OLAP 분석, 얼마나 많은 차원에 상관 없이 오버 헤드는 증가 하지 크게. 즉, Hadoop 생각 또는 기대, 수많은 차원이 큰 큐브를 지원할 수 있으며 각 다차원 분석 분석의 성능에 크게 영향을 주지 않고 치수의 수백을 지원할 수 있습니다.


그림 3 Mdx→mapreduce 스케치 지도 따라서 우리의 큰 데이터 분석 아키텍처,이 거 대 한 큐브, 지원 직접 변환 치수 및 통계 정의 차원 및 통계 자체로, 비즈니스 차원 및 통계 mapreduce 작업에 직접 번역, 사업 사람들에 게 그리고 결국 보고서 생성. 사용자 정의 "MDX" (다차원 식 또는 다차원 큐브 쿼리)로 쉽게 이해 될 수 있다 언어 →mapreduce 변환 도구. 같은 시간, OLAP 분석 및 보고서의 프레 젠 테이 션에서 결과 여전히 전통적인 BI와 보고 제품 호환. 로 그림 3에 나와 있습니다.

그림 3, 연간 소득에 사용자 자신의 치수를 설정할 수 있습니다 보여 줍니다. 또한, 사용자 성별 및 한 차원으로 학문적 인 자격을 결합 하 여 같은 열에 크기를 정의할 수 있습니다. Hadoop 데이터의 구조화 되지 않은 특성 때문에 차원 수 임의로 분할 되며 비즈니스 요구 사항에 따라 개편.


그림 4 다차원 분석 플랫폼 Hadoop 아키텍처 다이어그램

Hadoop 다차원 분석 플랫폼의 아키텍처

전체 구조는 4 개의 부분으로 구성 됩니다: 데이터 수집 모듈, 데이터 중복 모듈, 차원 정의 모듈 및 병렬 분석 모듈. 으로 그림 4에 나와 있습니다.

데이터 수집 모듈 채택 Cloudera Flume 전송 대규모 작은 로그 파일을 병합 하 고 데이터 전송 보안을 보장 한다. 단일 수집기 중단 후 데이터 손실, 되지 않습니다 그리고 에이전트 데이터 다른 colllecter 처리를 자동으로 전송 될 수 있습니다, 전체 컬렉션 시스템 작업에는 영향을 미치지 않습니다. 으로 그림 5에 나와 있습니다.

데이터 중복 모듈은 필요 하지만 충분 한 차원 정보 로그 데이터에 없는 경우 또는 자주 치수를 증가 하려는 경우, 데이터 중복 모듈 정의를 해야 합니다. 차원 정보 및 중복 차원 정의 통해 중복이 필요 하 고 데이터 로그에 정보를 확장 하는 방법을 지정 하는 소스 (데이터베이스, 파일, 메모리, 및 등)을 정의 합니다. 대규모 데이터에 데이터 중복 모듈은 전체 시스템의 병목 현상이 자주, 그것은 몇 가지 빠른 메모리 NoSQL 중복 원본 데이터를 사용 하 고 가능한 많은 노드를 사용 하 여 병렬 중복 수행 제안 또는 일괄 지도 데이터 포맷을 변환 하는 Hadoop에 실행 가능 하다.


그림 5 수집 모듈


그림 6 코어 모듈의 논리


그림 7 MapReduce 워크플로 예제 차원 정의 모듈은 비즈니스 사용자를 위한 프런트 엔드 모듈, 사용자 비주얼 정의 차원 및 데이터 로그에서 통계를 정의 하 고 다차원 분석 언어를 자동으로 생성. 또한 GUI를 통해 방금 정의한 다차원 분석 명령을 수행 하는 시각적 파서를 사용할 수 있습니다.

병렬 분석 모듈 사용자 님 다차원 분석 명령을 수락, 코어 모듈을 통해 맵 리듀스 명령을 해결, Hadoop 클러스터에 전송 하 고 보고서 센터에서 프레 젠 테이 션에 대 한 보고서 생성.

코어 모듈 MapReduce 파서 다차원 분석 언어 변환, 사용자 정의 차원 및 측정값을 읽기, MapReduce 프로그램 사용자의 다차원 분석 명령을 번역할 것입니다. 코어 모듈의 구체적인 논리는 그림 6에 표시 됩니다.

지도의 어셈블리 기반 하는 클래스를 줄일 수는 jobconf에 그림 6에서 매개 변수 복잡 하지 않습니다, 그리고 어려움은 많은 실제적인 문제는 mapreduce 작업을 통해 해결 하기 어려운 워크플로가 여러 mapreduce 작업 (워크플로)로 구성 되어야 합니다. 여기에 귀하의 비즈니스에 맞게 하는 부분이입니다. 그림 7 간단한 mapreduce 워크플로의 예입니다.

MapReduce 출력은 일반적으로 통계 분석 결과, 대량 데이터의 입력에 비해 데이터의 양이 훨씬 더 작은 제품 표시를 보고 일반적인 데이터를 가져올 수 있습니다.

결론

물론, 이러한 다차원 분석 아키텍처 단점 없이 아니다. Mapreduce 자체 계산에 대 한 데이터의 대부분을 스캔 무력 때문에, 그것은 전통적인 bi 제품 같은 조건부 쿼리에 최적화 될 수 없습니다도 캐싱 개념 있나요. 많은 작은 쿼리 "널"을 해야 하는 경우가 많습니다. 아직도, 오픈소스 Hadoop 많은 사람들의 큰 데이터 분석 문제 해결, 정말 "무한 한 선행".

Hadoop 클러스터의 하드웨어 및 소프트웨어는 매우 낮은 스토리지 및 GB 당 계산의 비용 1%는 또는 성과 다른 기업 제품의 천 당 1 개도 대단하네요. 우리가 쉽게 수백 수십억와 심지어 수조 데이터 수준 다차원 통계 분석 및 기계 학습의 수행할 수 있습니다.

6 월 29 일에 Hadoop 서밋 2011, 야 후 Hortonworks Hadoop 개발 및 운영에 전념 하는 회사 밖으로 박탈. Cloudera에서 병렬 컴퓨팅 플랫폼 Hadoop의 mapreduce는 속도 3 배 시간으로 알려진 모임의 보조 도구의 많은 제공 합니다. Hadoop 곧 제품의 다음 세대에 알리다 것입니다, 그것은 더 강력한 있어야 분석 기능 및 더 편리한 사용, 그래서 미래의 대규모 데이터의도 전에 직면 하 진짜 쉬운.

(책임 편집기: 관리자)

관련 문서

연락처

이 페이지의 내용은 인터넷에서 가져온 것이므로 Alibaba Cloud의 공식 의견이 아닙니다.이 페이지에서 언급 된 제품 및 서비스는 Alibaba Cloud와는 관련이 없으므로이 페이지의 내용이 골칫거리 인 경우 저희에게 알려주십시오. 우리는 5 일 근무일 이내에 이메일을 처리 할 것입니다.

커뮤니티에서 표절 사례를 발견한 경우 info-contact@alibabacloud.com 으로 관련 증거를 첨부하여 이메일을 보내주시기 바랍니다. 당사 직원이 영업일 기준 5일 내에 연락 드리도록 하겠습니다.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.