문제

누구든지 Facebook, Yahoo, Google 등과 같은 회사가 운영 및 특히 웹 분석을 위해 수행하는 대규모 (예 : 멀티 TB 범위) 로그 분석을 수행하는 방법에 대한 참조를 제공하거나 높은 수준의 개요를 제공 할 수 있습니까?

특히 웹 분석에 중점을두면 쿼리 성능 및 데이터 저장의 두 가지 밀접하게 관련된 두 가지 측면에 관심이 있습니다.

일반적인 접근 방식은 맵 감소를 사용하여 각 쿼리를 클러스터 (예 : Hadoop 사용)를 배포하는 것입니다. 그러나 사용할 가장 효율적인 스토리지 형식은 무엇입니까? 이것은 로그 데이터이므로 각 이벤트에 타임 스탬프가 있다고 가정 할 수 있으며 일반적으로 데이터는 구조화되어 있으며 드물게 구성되지 않습니다. 대부분의 웹 분석 쿼리에는 두 개의 임의의 타임 스탬프 사이의 데이터 조각을 분석하고 해당 데이터의 집계 통계 또는 이상을 검색하는 것이 포함됩니다.

Big Table (또는 HBase)과 같은 열 지향 DB가 효율적인 저장 방법이되고 더 중요한 것은 그러한 데이터를 쿼리 하는가? 타임 스탬프를 기준으로 행의 하위 집합을 선택한다는 사실이 이러한 유형의 스토리지의 기본 전제에 대해 작동합니까? 구조화되지 않은 데이터로 저장하는 것이 좋습니다. 리버스 인덱스?

도움이 되었습니까?

해결책

불행히도 모든 대답에 맞는 크기는 없습니다.

나는 현재 Cascading, Hadoop, S3 및 Aster Data를 사용하여 AWS 내부의 단계별 파이프 라인을 통해 하루에 100 공연을 처리하고 있습니다.

Aster Data는 Hadoop의 계단식 프로세스에 의해 청소 및 구문 분석 된 대규모 데이터 세트에 대한 SQL 인터페이스를 제공하므로 쿼리 및보고에 사용됩니다. 계단식 JDBC 인터페이스를 사용하면 Aster 데이터를로드하는 것은 상당히 사소한 프로세스입니다.

HBase 및 Hypertable과 같은 도구는 키/가치 저장소이므로 MapReduce/Cascading 앱의 도움 없이는 Ad-Hoc Queries와 조인을 수행하여 대역에서 조인을 수행하여 매우 유용한 패턴입니다.

전체 공개에서 저는 계단식 프로젝트의 개발자입니다.

http://www.asterdata.com/

http://www.cascading.org/

다른 팁

Book Hadoop : O'Reilly의 Definitive Guide는 Hadoop이 실제 두 회사에서 어떻게 사용되는지에 대해 논의하는 장이 있습니다.

http://my.safaribooksonline.com/9780596521974/ch14

종이를 살펴보십시오 데이터 해석 : Sawzall과의 병렬 분석 Google에 의해. 이것은 Google이 로그 분석에 사용하는 도구의 논문입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top