데이터 집약적 컴퓨팅
Data-intensive computing데이터 집약적인 컴퓨팅은 데이터 병렬 접근 방식을 사용하여 대량의 데이터를 일반적으로 테라바이트 또는 페타바이트 규모로 처리하고 일반적으로 빅 데이터라고 하는 병렬 컴퓨팅 애플리케이션의 한 종류다. 실행 시간의 대부분을 계산 요건에 할애하는 컴퓨팅 애플리케이션은 컴퓨팅 집약적인 것으로 간주되는 반면, 대량의 데이터를 필요로 하고 처리 시간의 대부분을 I/O 및 데이터 조작에 할애하는 컴퓨팅 애플리케이션은 데이터 집약적인 것으로 간주된다.[1]
소개
인터넷과 월드 와이드 웹의 빠른 성장은 온라인에서 이용 가능한 방대한 양의 정보로 이어졌다. 또한, 비즈니스 및 정부 조직은 처리, 분석 및 연결되어야 하는 정형 및 비정형 정보를 대량으로 생성한다. 빈턴 서프는 이를 "정보의 눈사태"라고 표현하며 "인터넷의 에너지를 이용해야만 정보가 우리를 자극할 수 있다"고 말했다.[2] EMC Corporation이 후원한 IDC 백서는 2007년 디지털 형태로 현재 저장되어 있는 정보의 양을 281EB로 추정했으며, 조직 내 정보가 훨씬 더 빠른 속도로 증가하면서 전체 복합 성장률을 57%로 추정했다.[3] 소위 정보 폭발이라고 불리는 2003년의 연구에서는 모든 현재 정보의 95%가 구조화된 정보에 비해 데이터 처리 요구사항이 증가하여 비정형적인 형태로 존재하는 것으로 추정되었다.[4] 이 방대한 양의 데이터를 저장, 관리, 액세스 및 처리하는 것은 이 데이터를 정보로 검색, 분석, 채굴 및 시각화해야 하는 필요를 충족시키기 위한 근본적인 필요성과 엄청난 난제를 나타낸다.[5] 데이터 집약적인 컴퓨팅은 이러한 요구를 해결하기 위한 것이다.
병렬 처리 접근방식은 일반적으로 계산 집약적 또는 데이터 집약적 접근방식으로 분류할 수 있다.[6][7][8] 컴퓨팅 집약적인 것은 컴퓨팅 바인딩된 애플리케이션 프로그램을 설명하는 데 사용된다. 그러한 애플리케이션은 실행 시간의 대부분을 I/O와 반대로 계산 요건에 할애하며, 일반적으로 소량의 데이터를 요구한다. 컴퓨팅 집약적인 애플리케이션의 병렬 처리에는 일반적으로 애플리케이션 프로세스 내에서 개별 알고리즘을 병렬화하고, 전체 애플리케이션 프로세스를 별도의 작업으로 분해하는 작업이 포함되며, 이는 직렬 처리보다 전체적인 높은 성능을 달성하기 위해 적절한 컴퓨팅 플랫폼에서 병렬로 실행될 수 있다. 계산 집약적인 애플리케이션에서, 각 운영이 문제의 특정 부분을 해결하면서 동시에 여러 운영이 수행된다. 이것을 흔히 과업 병행론이라고 한다.
I/O에 구속되거나 대량의 데이터를 처리해야 하는 애플리케이션을 설명하기 위해 데이터 집약적인 데이터를 사용한다.[9] 이러한 애플리케이션은 처리 시간의 대부분을 I/O와 데이터 이동 및 조작에 할애한다. 데이터 집약적인 애플리케이션의 병렬 처리에는 일반적으로 데이터를 적절한 컴퓨팅 플랫폼에서 병렬로 동일한 실행 가능한 애플리케이션 프로그램을 사용하여 독립적으로 처리할 수 있는 여러 세그먼트로 분할하거나 세분화한 다음, 완성된 출력 데이터를 생성하기 위해 결과를 재조립하는 것이 포함된다.[10] 데이터의 총분포가 클수록 데이터의 병렬처리에 유리하다. 데이터 집약적인 처리 요건은 일반적으로 데이터 크기에 따라 선형적으로 확장되며, 간단한 병렬화에 매우 적합하다. 데이터 집약적인 컴퓨팅의 근본적인 과제는 기하급수적으로 증가하는 데이터 볼륨을 관리하고 처리하며, 관련 데이터 분석 주기를 대폭 줄여 실용적이고 시기 적절한 애플리케이션을 지원하고, 방대한 양의 데이터를 검색 및 처리할 수 있도록 확장할 수 있는 새로운 알고리즘을 개발하는 것이다. 연구자들은 컴퓨터의 처리 속도를 설명하기 위해 MIPS라는 용어가 어떻게 적용되는지와 유사한 방식으로 기록 처리 속도를 측정하기 위해 "초당 기록물 목록"이라는 용어를 만들었다.[11]
데이터 병렬
데이터 병렬 애플리케이션을 지원할 수 있는 컴퓨터 시스템 아키텍처는 2000년대 초반에 데이터 집약적인 컴퓨팅의 대규모 데이터 처리 요구사항을 위해 추진되었다.[12] 데이터 병렬은 데이터 집합의 각 데이터 항목에 개별적으로 연산을 적용하여 데이터 볼륨에 따라 병렬의 정도를 조정할 수 있게 했다. 데이터 병렬 애플리케이션을 개발하는 가장 중요한 이유는 확장 가능한 성능의 가능성이며, 몇 가지 순서로 성능 향상을 초래할 수 있다. 데이터 병렬화를 이용한 애플리케이션 개발의 핵심 쟁점은 알고리즘의 선택, 데이터 분해 전략, 처리 노드의 로드 밸런싱, 노드 간 메시지 전달 통신, 결과의 전반적인 정확성이다.[13] 데이터 병렬 애플리케이션의 개발은 이용 가능한 프로그래밍 도구의 맥락에서 문제를 정의하고 대상 아키텍처의 한계를 해결하기 위해 상당한 프로그래밍 복잡성을 수반할 수 있다. 웹 문서로부터 정보를 추출하고 인덱싱하는 것은 데이터 집약적인 컴퓨팅의 전형으로, 웹과 다른 유형의 문서 수집은 일반적으로 병렬로 처리될 수 있기 때문에 데이터 병렬 구현으로부터 상당한 성능상의 이점을 얻을 수 있다.[14]
미국 국립과학재단(NSF)은 2009년부터 2010년까지 연구 프로그램에 자금을 지원했다.[15] 중점 분야는 다음과 같다.
- 데이터 집약적인 시스템에서 데이터의 병렬 처리 문제를 해결하기 위한 병렬 프로그래밍 접근 방식
- 데이터의 병렬 처리를 자연스럽게 표현할 수 있는 모델, 언어 및 알고리즘을 포함한 추상화 프로그래밍
- 높은 수준의 신뢰성, 효율성, 가용성 및 확장성을 제공하는 데이터 집약적인 컴퓨팅 플랫폼 설계
- 이 컴퓨팅 패러다임을 활용할 수 있는 응용프로그램을 식별하고 데이터 집약적인 새로운 응용프로그램을 지원하기 위해 어떻게 진화해야 하는지 판단
Pacific Northwest National Labs는 데이터 집약적인 컴퓨팅을 "현재의 기술의 최전선을 이루는 볼륨과 속도로 데이터를 캡처, 관리, 분석 및 이해"[16][17]라고 정의했다.
접근하다
데이터 집약적인 컴퓨팅 플랫폼은 일반적으로 고속 통신 스위치와 네트워크를 사용하여 연결된 대형 범용 컴퓨팅 클러스터에서 여러 프로세서와 디스크를 결합하는 병렬 컴퓨팅 접근 방식을 사용하므로, 데이터를 사용 가능한 컴퓨팅 리소스 간에 분할하여 독립적으로 처리하여 성능을 달성할 수 있다.e 및 데이터 양에 따른 확장성. 클러스터는 병렬 및 분산 시스템의 한 유형으로 정의될 수 있으며, 이는 단일 통합 컴퓨팅 리소스로 함께 작동하는 상호 연결된 독립 실행형 컴퓨터 모음으로 구성된다.[18] 프로세서, 로컬 메모리 및 디스크 리소스로 구성된 각 노드는 클러스터의 다른 노드와 어떤 것도 공유하지 않기 때문에 이러한 병렬 프로세싱 접근방식을 "공유되지 않음" 접근법이라고 부르곤 한다. 병렬 컴퓨팅에서 이 접근방식은 데이터 집약적인 컴퓨팅과 "당혹스러울 정도로 병렬적인" 문제, 즉 문제를 다수의 병렬 작업으로 분리하는 것이 상대적으로 쉬우며 작업 전반의 관리 이외의 작업 사이에 종속성이나 통신이 필요하지 않은 문제에 적합한 것으로 간주된다. 이러한 유형의 데이터 처리 문제는 본질적으로 클러스터, 데이터 그리드, 클라우드 컴퓨팅을 포함한 다양한 형태의 분산 컴퓨팅에 적응할 수 있다.
특성.
데이터 집약적인 컴퓨팅 시스템의 몇 가지 공통적인 특성은 이들을 다른 형태의 컴퓨팅과 구별한다.
- 데이터 및 프로그램 또는 알고리즘의 수집 원리는 계산을 수행하는 데 사용된다. 데이터 집약적인 컴퓨팅에서 높은 성능을 달성하려면 데이터의 이동을 최소화하는 것이 중요하다.[19] 이 특성은 데이터가 상주하는 노드에서 처리 알고리즘을 실행할 수 있도록 하여 시스템 오버헤드를 줄이고 성능을 향상시킨다.[20] InfiniBand와 같은 새로운 기술은 데이터를 별도의 저장소에 저장할 수 있게 하고, 데이터 결합에 버금가는 성능을 제공한다.
- 프로그래밍 모델이 활용되었다. 데이터 집약적인 컴퓨팅 시스템은 애플리케이션에 대해 데이터에 대한 높은 수준의 운영의 관점에서 표현되는 머신 독립적 접근방식을 활용하며, 런타임 시스템은 분산 컴퓨팅 클러스터 전반에서 프로그램과 데이터의 스케줄링, 실행, 로드 밸런싱, 통신 및 이동을 투명하게 제어한다.[21] 프로그래밍 추상화 및 언어 도구는 새로운 데이터 흐름 프로그래밍 언어와 정렬과 같은 공통 데이터 조작 알고리즘의 공유 라이브러리를 통합한 데이터 흐름과 변환의 관점에서 처리를 표현할 수 있도록 한다.
- 안정성 및 가용성에 초점을 맞춘다. 처리 노드가 수백 개 또는 수천 개인 대규모 시스템은 본질적으로 하드웨어 장애, 통신 오류 및 소프트웨어 버그에 더 취약하다. 데이터 집약적인 컴퓨팅 시스템은 오류 복구 기능을 제공하도록 설계되어 있다. 여기에는 일반적으로 디스크에 있는 모든 데이터 파일의 중복 복사본, 디스크에 중간 처리 결과의 저장, 노드 또는 처리 실패의 자동 감지, 결과의 선택적 재계산 등이 포함된다.
- 기본 하드웨어 및 소프트웨어 아키텍처의 고유한 확장성. 데이터 집약적인 컴퓨팅 시스템은 대개 거의 모든 양의 데이터를 수용하거나 단순히 처리 노드를 추가함으로써 시간상 중요한 성능 요구사항을 충족하도록 선형적으로 확장할 수 있다. 특정 애플리케이션에 할당된 노드 및 처리 작업의 수는 하드웨어, 소프트웨어, 통신 및 분산 파일 시스템 아키텍처에 따라 가변적이거나 고정적일 수 있다.
시스템 아키텍처
20년 이상 처리 노드의 공유 없는 클러스터에서 실행할 수 있는 병렬 및 분산 관계형 데이터베이스 관리 시스템을 포함하여 데이터 집약적인 컴퓨팅 및 대규모 데이터 분석 애플리케이션을 위해 다양한 시스템 아키텍처가 구현되었다.[22] 그러나 대부분의 데이터 증가는 비정형 형태의 데이터로 인해 발생하며, 보다 유연한 데이터 모델을 가진 새로운 처리 패러다임이 필요했다. 구글이 개척한 맵리듀스 아키텍처와 야후, 페이스북 등이 사용하는 하둡이라는 오픈소스 구현에서 이용할 수 있는 등 여러 솔루션이 등장했다. 또한 LexisNexis Risk Solutions는 LexisNexis가 사용하는 데이터 집약적인 컴퓨팅을 위한 확장 가능한 플랫폼을 개발 및 구현했다.
맵리듀스
구글이 개척한 맵리듀스 아키텍처와 프로그래밍 모델은 데이터 집약적인 컴퓨팅을 위해 설계된 현대 시스템 아키텍처의 한 예다.[23] MapReduce 아키텍처는 프로그래머가 기능 프로그래밍 스타일을 사용하여 입력 데이터와 연관된 키-값 쌍을 처리하여 일련의 중간 키-값 쌍을 생성하는 맵 함수와 동일한 중간 키와 연관된 모든 중간 값을 병합하는 축소 함수를 만들 수 있다. 시스템은 입력 데이터의 분할, 처리 클러스터 전체의 작업 스케줄링 및 실행, 노드 간의 통신 관리 등의 세부사항을 자동으로 처리하기 때문에 병렬 프로그래밍 경험이 없는 프로그래머는 대규모 분산 처리 환경을 쉽게 사용할 수 있다.
MapReduce 아키텍처의 프로그래밍 모델은 계산이 입력 데이터와 관련된 일련의 입력 키-값 쌍을 취하고 일련의 출력 키-값 쌍을 생성하는 단순한 추상화다. Map 단계에서는 입력 데이터가 입력 분할로 분할되어 클러스터의 처리 노드와 관련된 Map 태스크에 할당된다. 맵 태스크는 일반적으로 클러스터에 할당된 데이터 파티션을 포함하는 동일한 노드에서 실행된다. 이러한 Map 태스크는 태스크에 할당된 입력 데이터의 파티션에서 각 입력 키-값 쌍에 대해 사용자 지정 계산을 수행하고, 각 키에 대한 중간 결과 집합을 생성한다. 그런 다음 순서 섞기 및 정렬 단계는 각 맵 태스크에서 생성된 중간 데이터를 취하여 이 데이터를 다른 노드의 중간 데이터로 정렬하고, 이 데이터를 축소 태스크에 의해 처리될 영역으로 나누고, 필요에 따라 이 데이터를 축소 태스크가 실행될 노드에 배포한다. 감소 태스크는 출력 데이터를 생성하기 위해 키와 관련된 값을 더 작은 값의 집합에 병합할 수 있는 중간 데이터에 대해 사용자 지정 작업을 추가로 수행한다. 좀 더 복잡한 데이터 처리 절차의 경우, 다중 MapReduce 통화는 순차적으로 연결될 수 있다.
하둡
아파치 하둡은 맵리듀스 아키텍처를 구현하는 아파치 소프트웨어 재단이 후원하는 오픈소스 소프트웨어 프로젝트다. 하둡은 이제 기본 코어, MapReduce, HDFS 분산 파일 시스템 외에도 여러 하위 프로젝트를 포괄한다. 이러한 추가적인 하위 프로젝트는 기본 Hadoop 구현에 향상된 애플리케이션 처리 기능을 제공하며, 현재 Avro, Pig, HBase, ZooKeeper, Hive, Chukwa를 포함한다. Hadoop MapReduce 아키텍처는 Hadoop의 기본 프로그래밍 언어가 C++가 아닌 Java라는 점을 제외하면 기능적으로 구글 구현과 유사하다. 구현은 상용 프로세서의 클러스터에서 실행되도록 의도되었다.
Hadoop은 MapReduce 작업을 위한 분산된 데이터 처리 스케줄링 및 실행 환경과 프레임워크를 구현한다. Hadoop은 Google MapReduce 구현에서 GFS와 유사한 HDFS라는 분산 파일 시스템을 포함하고 있다. Hadoop 실행 환경은 Hadoop MapReduce 아키텍처를 사용하여 실행되도록 설계된 추가 분산 데이터 처리 기능을 지원한다. 여기에는 랜덤 액세스 읽기/쓰기 기능을 제공하는 분산된 컬럼 지향 데이터베이스인 HBase, 데이터 요약, 임시 쿼리 및 대규모 데이터셋 분석을 위한 SQL과 같은 쿼리 기능을 제공하는 Hadoop 위에 구축된 데이터 웨어하우스 시스템 Hive, Pig – 높은 수준의 데이터 흐름 프로그래밍 언어 및 데이터 집약적인 컴퓨팅을 위한 실행 프레임워크.
Pig는 데이터 분석 애플리케이션을 위한 특정 언어 표기법을 제공하고 Hadoop MapReduce 환경을 사용할 때 프로그래머 생산성을 향상시키고 개발 주기를 단축하기 위해 Yahoo!에서 개발되었다. 돼지 프로그램은 실행 환경에서 필요할 경우 맵리듀스 프로그램의 시퀀스로 자동 번역된다. Pig는 데이터의 로드, 저장, 필터링, 그룹화, 중복 제거, 주문, 정렬, 집계 및 결합 작업을 위한 언어의 기능을 제공한다.[24]
HPCC
HPCC(High-Performance Computing Cluster)는 LexisNexis Risk Solutions에 의해 개발 및 구현되었다. 이 컴퓨팅 플랫폼의 개발은 1999년에 시작되었고 애플리케이션은 2000년 후반에 생산되었다. 또한 HPCC 접근방식은 Linux 운영 체제를 실행하는 하드웨어의 범용 클러스터를 활용한다. 사용자 정의 시스템 소프트웨어와 미들웨어 구성요소를 기본 Linux 운영 체제에서 개발 및 계층화하여 데이터 집약적인 컴퓨팅에 필요한 실행 환경과 분산 파일 시스템 지원을 제공하였다. LexisNexis는 또한 데이터 집약적인 컴퓨팅을 위한 새로운 고급 언어를 구현했다.
ECL 프로그래밍 언어는 프로그래머가 데이터 처리 결과의 정의와 그 결과 달성에 필요한 데이터 흐름과 변환을 정의할 수 있도록 하는 높은 수준의 선언적 데이터 중심 암묵적 병렬 언어다. ECL 언어는 데이터 정의, 필터링, 데이터 관리 및 데이터 변환을 위한 광범위한 기능을 포함하며, 사용자 정의 변환 기능을 포함할 수 있는 데이터셋의 레코드에서 작동할 수 있는 광범위한 내장 기능을 제공한다. ECL 프로그램은 최적화된 C++ 소스 코드로 컴파일되며, 이후 실행 가능한 코드로 컴파일되어 처리 클러스터의 노드로 배포된다.
배치 및 온라인 측면 모두에서 데이터 집약적인 컴퓨팅 애플리케이션을 처리하기 위해 HPCC는 두 개의 서로 다른 클러스터 환경을 포함하며, 각각은 병렬 데이터 처리 목적에 맞게 독립적으로 최적화될 수 있다. Thor 플랫폼은 데이터 클린징 및 위생, 추출, 변환, 로드(ETL), 연결 및 엔티티 해결 기록, 대규모 데이터 임시 분석, 고성능 스트루크 지원을 위한 핵심 데이터 및 인덱스 생성 등을 위한 대규모 원시 데이터 처리를 위한 데이터 정제소(Data 정제소)를 목적으로 하는 클러스터다.tedured 쿼리 및 데이터 웨어하우스 애플리케이션. Thor 시스템은 하드웨어 구성, 기능, 실행 환경, 파일 시스템 및 기능이 Hadoop MapReduce 플랫폼과 유사하지만 동등한 구성에서 더 높은 성능을 제공한다. Roxie 플랫폼은 수천 개의 동시 질의와 사용자들을 지원하는 웹 서비스 인터페이스를 통해 온라인 애플리케이션의 병렬 데이터 액세스 처리 요구 사항을 전달하는 온라인 고성능 구조 쿼리 및 분석 시스템 또는 데이터 웨어하우스를 제공한다. Roxie 시스템은 HBase 및 Hive 기능이 추가된 Hadoop과 기능 및 기능이 유사하지만, 고성능 온라인 처리를 위해 최적화된 실행 환경과 파일 시스템을 제공한다. Thor와 Roxie 시스템은 모두 애플리케이션 구현에 동일한 ECL 프로그래밍 언어를 사용하여 프로그래머 생산성을 높인다.
참고 항목
참조
- ^ A.M. Middleton의 클라우드 컴퓨팅 핸드북, "클라우드 컴퓨팅을 위한 데이터 집약적 기술" 클라우드 컴퓨팅 핸드북. 2010년 스프링거
- ^ Vinton Cerf, IEEE Computer, Vol. 40, No. 1, 2007, 페이지 104-105에 의한 정보 눈사태.
- ^ J.F.가 2013년 6월 27일 웨이백 머신에 보관한 확장 디지털 유니버스. 간츠, D. 라인젤, C. 추트, W. 슐리칭, J. 맥아더, S. 민튼, J. 세네티, A. 톤체바, 그리고 A. 만프레디즈, IDC, 백서, 2007.
- ^ 얼마나 많은 정보? 2003년, P. Lyman, and H.R. Varian, University of California at Berkeley, Research Report, 2003.
- ^ 데이터가 있는가? 웨이백 머신에 보관된 2011-07-18 정보 시대의 데이터 보존 가이드, F. Berman, ACM의 통신, Vol. 51, 2008, 12, 페이지 50-56.
- ^ D.B.에 의한 병렬 컴퓨팅 모델 및 언어 스킬리콘, 그리고 D. Talia, ACM Computing Surveys, Vol. 30, 1998, 2페이지 123-169.
- ^ 21세기의[permanent dead link] 컴퓨터, 나. 고튼, P. 그린필드, A. Szalay, R. 윌리엄스, IEEE 컴퓨터, 41권, 2008년 4권, 30-32페이지.
- ^ 1998년 W.E.E.Johnston, IEEE Computer Society에 의한 고속, 광역, 데이터 집약적 컴퓨팅: 10년 회고전.
- ^ IEEE: 고성능 데이터 집약적 컴퓨팅을 위한 하드웨어 기술, M. 고칼레, J. 코헨, A. 유, 그리고 W.M.밀러, IEEE 컴퓨터, 제41권, 제4권, 2008년, 페이지 60-68.
- ^ IEEE: L.S.에 의한 웨이백 머신에 보관된 2011-07-24 데이터 병렬 애플리케이션의 설계 방법론 Nyland, J.F. Prins, A. Goldberg, P.H. Mills, IEEE Transactions on Software Engineering, Vol. 26, No. 4, 2000, 페이지 293-314.
- ^ A.M. Middleton의 Wayback Machine에 보관된 클라우드 컴퓨팅 핸드북 2010-11-25 "클라우드 컴퓨팅을 위한 데이터 집약적 기술" 클라우드 컴퓨팅 핸드북. 스프링거, 2010 페이지 83-86.
- ^ D의 테라스케일 도전. 라비찬드란, P. 팬텔, E. 호비. "테라스케일 도전", 시맨틱 웹을 위한 KDD 채굴 워크숍의 진행, 2004
- ^ 워크스테이션의 자율 네트워크에서 병렬 컴퓨팅을 위해 사용 가능한 리소스에 대한 동적 적응 U. Rencuzogullari 및 S에 의해 웨이백 머신에 보관된 2011-07-20. 드와르카다스. "워크스테이션의 자율적 네트워크에서 병렬 컴퓨팅을 위한 가용 자원에 대한 동적 적응" 제8회 ACM SIGPlan 심포지엄의 진행, 2001년
- ^ E에 의한 대규모 문서 수집에 대한 정보 추출. Agichtein, 마이크로소프트 Research, 2004년 "대규모 문서 수집으로 정보 확장"
- ^ "Data-intensive Computing". Program description. NSF. 2009. Retrieved 24 April 2017.
- ^ PNNL에 의한 데이터 집약적 컴퓨팅. "데이터 집약적 컴퓨팅,"
- ^ R.T. Koues, G.A. Anderson, S.T. Elbert, I. Gorton, D.K. Gracio에 의한 데이터 집약적 컴퓨팅의 변화하는 패러다임, "데이터 집약적 컴퓨팅의 변화하는 패러다임" 컴퓨터, Vol. 42, No. 1, 2009, 페이지 26.
- ^ R에 의한 클라우드 컴퓨팅 및 신흥 IT 플랫폼. Buya, C.S. Yeo, S. Venugopal, J. Broberg, I. Brandic, "클라우드 컴퓨팅 및 신흥 IT 플랫폼: 제5의 효용으로서 컴퓨팅을 제공하기 위한 비전, 과대 광고, 현실," 미래 세대 컴퓨터 시스템, 제25권, 제6호, 2009년, 페이지 599-616.
- ^ J. Gray의 분산 컴퓨팅 경제학, "분산 컴퓨팅 경제학", ACM 대기열, Vol. 6, 2008, 3, 페이지 63-68.
- ^ 21세기의[permanent dead link] 컴퓨터, 나. 고튼, P. 그린필드, A. Szalay, R. 윌리엄스, IEEE 컴퓨터, 41권, 2008년 4권, 30-32페이지.
- ^ R.E. Bryant의 데이터 집약적인 확장 가능 컴퓨팅. "데이터 집약적인 확장 가능 컴퓨팅," 2008년
- ^ A에 의한 대규모 데이터 분석 접근법 비교 파블로, E. 폴슨, A. 라신, D.J. 아바디, D.J. 드위트, S. 매든, M. 스톤브레이커. 2009년 제35회 SGIMOD 국제 데이터 관리 회의의 진행.
- ^ 맵리듀스: J. Dean 및 S에 의해 웨이백 머신에 보관된 대형 클러스터의 단순화된 데이터 처리 2009-12-23 게마왓. 운영체제 설계 및 구현에 관한 제6차 심포지엄(OSDI), 2004년.
- ^ 일급 시민 돼지 라틴어로: C가 웨이백 기계에 보관한 2011-07-20 데이터 처리를 위한 외국어가 아님. 올스턴, B. 리드, U.Srivastava, R. 쿠마르, A. Tomkins. (SGIMOD 2008 발표), 2008년