대규모 데이터 (이 하 "빅 데이터") 전통적인 방법에서 사용 될 수 있는 데이터를 말합니다. 과거에는, 웹 검색 엔진의 창조 자는이 문제에 직면 하는 첫번째 되었습니다. 오늘, 소셜 네트워크, 모바일 응용 프로그램 및 다양 한 센서 및 과학 분야의 다양 한 매일 페타바이트의 데이터를 만듭니다. 이 대규모 데이터 처리 문제에 대 한 응답, Google는 MapReduce를 만들었습니다. Google의 작업, 그리고 야 후에 의해 만들어진 Hadoop 대규모 데이터 처리 도구의 완벽 한 생태계를 해치.
MapReduce의 인기와 함께 데이터 스토리지 계층, MapReduce 및 쿼리 (SMAQ)의 스택 타입 모델 또한 점차적으로 표시 됩니다. Smaq 시스템은 일반적으로 오픈 소스, 분산, 그리고 평범한 하드웨어에서 실행 합니다.
그냥 리눅스로 이루어진 램프, 아파치, MySQL, PHP 변경 인터넷 응용 프로그램 개발 분야, SMAQ 더 넓은 세계에 대규모 데이터 처리를 가져올 것 이다. 마찬가지로 램프 Web2.0의 핵심 드라이버 되었다, SMAQ 시스템 데이터 중심의 혁신적인 제품 및 서비스의 새로운 시대를 지원 합니다.
비록 Hadoop 기반 아키텍처 지배, SMAQ 모델 주류 NoSQL 데이터베이스를 포함 하 여 다른 시스템의 많은 수를 포함 합니다. 이 문서는 Smaq 스택 모델 및이 모델에 포함 될 수 있는 오늘날의 대규모 데이터 처리 도구를 설명 합니다.
MapReduce
MapReduce는 Google 웹 페이지 색인 생성에 의해 만들어집니다. MapReduce 프레임 워크 오늘 가장 대규모 데이터 처리 공장 되고있다. MapReduce에 열쇠 데이터 컬렉션에 쿼리를 분할 하 고 여러 노드에서 동시에 실행 하는 것 이다. 이 분산된 패턴 데이터를 단일 컴퓨터에 저장할 수 너무 큰 문제를 해결 합니다.
MapReduce가 작동 하는 방식을 이해 하려면 우리가 먼저 봐 이름을 나타내는 두 개의 프로세스. 첫째,에서 지도 단계, 입력된 데이터를 한 항목으로 처리 하 고 중간 결과 집합으로 변환 하 고 축소 단계에서 이러한 중간 결과 다음 생산 유도 결과 우리가 기대를 생성 하도록 법령에 의해.
MapReduce에 관해서, 가장 일반적인 예제 중 하나를 문서에 서로 다른 단어의 숫자를 찾는 것입니다. 단어를 밖으로 지도 단계에 그려지고 count 값이 1 동일한 단어의 수 값을 추가 하려면 감소 노드에 추가 됩니다.
그것은 매우 간단한 작업을 복잡 하 고 mapreduce 같습니다. MapReduce 지도이 작업을 수행 하 고 단계를 줄일 수를 위해에서이 병렬화 하는 작업에 특정 제한 준수 해야 합니다. 하나 이상의 mapreduce에 쿼리 요청을 변환 하는 것은 직관적인 처리 되지 않습니다 그리고이 문제를 해결 하려면 일부 고급 추상화의 제공 됩니다,이 쿼리는 다음 섹션에서 설명 하겠습니다.
MapReduce를 사용 하 여 일반적으로 문제를 해결 하 세 가지 작업을 필요로 합니다.
데이터 로드 데이터 웨어하우스의 이름,이 과정은 불린다 추출 (추출), 변환 (변환), 로드 (load) {라는 ETL} 더 적절 한. 필요한 구조 MapReduce에 액세스할 수 있는 스토리지 계층에 로드는 그리고 처리를 MapReduce를 사용 하려면 데이터 원본 데이터에서 추출 해야 합니다.
mapreduce는 데이터 스토리지 계층에서 그것을 처리 하 고 스토리지 계층에 결과 반환 합니다.
추출 결과-처리, 그것은 또한 결과 사람에 게 사용할 수 있도록 스토리지 계층의 결과 데이터를 표시 하 고 수 하는 데 필요한.
많은 Smaq 시스템은 이러한 세 가지 프로세스의 단순화 주위 주로 그들의 자신의 속성.
Hadoop MapReduce
Hadoop은 주요 오픈 소스 MapReduce 구현입니다. 야 후에 의해 자금, 2006 웹 규모 데이터 처리 용량에에서 도달 2008 Doug 절단 하 여 만들었습니다.
아파치 Hadoop 프로젝트 관리 이제 됩니다. 와 완전 한 SMAQ 모델을 형성 하는 하위의 수와 함께 지속적인 노력.
자바에서 구현 하기 때문에 Hadoop의 MapReduce 구현 수 있는 Java 언어를 통해 상호 작용 합니다. 만들기는 MapReduce 작업 일반적으로 지도에 필요한 계산을 구현 하는 함수를 작성 해야 하 고 단계를 줄일 수 있습니다. 데이터 처리 hadoop 분산 파일 시스템에 로드할 수 있어야 합니다.
WordCount 대 한 예에서는 map 함수는 다음과 같습니다 (주요 단계는 Hadoop mapreduce 문서)에서
공용 정적 클래스 지도
매퍼 없음 확장
전용 마지막 정적 intwritable 하나 = 새로운 intwritable (1);
개인 텍스트 단어 = 새로운 텍스트 ();
공공 무효 지도 (longwritable 키, 텍스트 값, 컨텍스트 컨텍스트)
던짐 IOException, Interruptedexception 없음
문자열 라인 = value.tostring ();
StringTokenizer 토크 나이저 = 새로운 StringTokenizer (선);
동안 (Tokenizer.hasmoretokens ()) 없음
Word.set (Tokenizer.nexttoken ());
Context.write (단어, 1);
}
}
}
해당 감소 함수는 다음과 같습니다.
공용 정적 클래스 감소
감속 기 없음 확장
공공 무효 (텍스트 키를 iterable 값 감소
컨텍스트 컨텍스트) throw IOException, Interruptedexception 없음
int sum = 0;
없음; (intwritable 발: 값)에 대 한
합계 + + val.get ();
}
Context.write (키, 새로운 intwritable (합));
}
}
Hadoop mapreduce 작업을 실행 하려면 다음 단계를 포함 됩니다.
1. 자바 프로그램과 MapReduce 단계 정의
2. 파일 시스템에 데이터를 로드
3. 실행에 대 한 작업 제출
4. 파일 시스템에서 실행 결과 얻을
자바 Api를 통해 직접 작성, hadoop MapReduce 작업 복잡 한 수 있으며 프로그래머가 참여 많이 필요. 데이터 로드 및 처리 하는 작업을 간단 하 고 더 간단 하 게를 hadoop 큰 생태계 형성 되었습니다.
다른 구현
MapReduce에 많은 다른 프로그래밍 언어 및 시스템, 구현 되었습니다 그리고 자세한 목록을 MapReduce에 대 한 위키백과 항목을 참조할 수 있습니다. 특히, 여러 NoSQL 데이터베이스는 나중 설명 합니다 MapReduce에 통합 되었습니다.
스토리지
저장 결과 데이터 수집에서 MapReduce 스토리지와 거래를 해야 합니다. 기존의 데이터베이스와는 달리 MapReduce 입력된 데이터는 관계형 형식 아니다. 입력된 데이터 다른 덩어리에 저장 됩니다, 다른 노드로 나누어 고 지도 단계에 키-값의 형태로 제공 될 수 있습니다. 데이터는 스키마를 필요로 하지 않습니다 하 고 구조화 된 수 있습니다. 하지만 데이터 분산 하 고 다른 처리 노드를 사용할 수 있어야 합니다.
설계 및 스토리지 계층의 특성은 중요 하지는 MapReduce와 인터페이스 때문에 뿐만 아니라 그들이 직접 데이터 로드를 편리 하 게 확인 하 고 쿼리 및 프레 젠 테이 션을 발생할 합니다.
하 둡 분산 파일 시스템
Hadoop에서 사용 하는 표준 저장소 메커니즘 HDFs 이다. Hadoop의 중앙 부분으로 HDFS HDFs 디자인 문서에 자세히 설명 하는 다음과 같은 특징이 있습니다.:
오류 허용 오차 가정 실패는 정상적인 HDFs 평범한 하드웨어에서 실행 되도록 허용
스트림 데이터 액세스-HDFS 구현 고려 대량 처리, 따라서 랜덤 액세스 데이터를 보다는 오히려 높은 처리량에 초점
페이스 북은 제품 수준 사용과 같은 확장성-hdfs 페타바이트의 데이터를 확장할 수 있습니다.
이식성-hadoop 운영 체제 간에 이식 될 수 있습니다.
단일 쓰기-파일 작성 후 변경 되지 않습니다, HDFs 복제를 간소화와 데이터 처리량을 향상 시킵니다
지역화-계산에서 HDFS 데이터, 데이터의 양을 주어진 근처 프로그램의 빠른 실행에 대 한 지원을 제공 합니다.
HDFS는 표준 파일 시스템에 유사한 인터페이스를 제공합니다. 기존의 데이터베이스와는 달리만 HDFs 저장 고 데이터 하지 인덱스 데이터에 액세스할 수 있습니다. 데이터를 단순 랜덤 액세스를 만들 수 없습니다. 하지만 일부 고급 추상화의 HBase 처럼 Hadoop에 대 한 세밀 한 기능을 제공 하기 위해 만들었습니다.
Hbase, hadoop 데이터베이스
HDFs를 더 사용할 수 있도록 한 가지 방법은 hbase를입니다. Google의 bigtable 데이터베이스를 모방, HBase도 막대 한 양의 정보를 저장 하도록 설계 된 저장된 데이터의 데이터베이스입니다. 그것은 또한 카산드라와 hypertable 유사한 NoSQL 데이터베이스 범주에 속한다.
HBase는 HDFs 기본 스토리지 시스템으로 사용 하 고 따라서 많은 양의 많은 내결함성 분산된 노드를 통해 데이터를 저장 하는 기능을가지고. 다른 열 저장소 데이터베이스와 마찬가지로, HBase 또한 제공 한다 API 휴식과 중고품 액세스를.
인덱스의 생성, hbase 간단한 질문에 대 한 콘텐츠를 빠르고, 랜덤 액세스를 제공할 수 있습니다. 복잡 한 작업에 대 한 HBase Hadoop mapreduce에 대 한 데이터 원본 및 저장 목표를 제공합니다. 그래서 hbase는 데이터베이스 방식에서 보다 기본 HDFs를 통해 MapReduce와 상호 작용 하는 시스템을 수 있습니다.
하이브
데이터 웨어하우스 또는 보고 및 분석, 간단 하 게 저장 방법 Smaq 시스템에 대 한 응용 프로그램의 중요 한 영역입니다. 하이브, 페이스 북에, 원래 개발 된 하 둡 기반 데이터 웨어하우스 프레임 워크 이다. Hbase와 마찬가지로 하이브 제공 합니다 테이블 기반 추상화를 HDFS에 구조화 된 데이터의 로드를 단순화. Hbase와 비교해, 하이브 MapReduce 작업 일괄 처리 데이터 분석에 대 한를 실행할 수 있습니다. 다음 쿼리에 설명 된 대로 하이브 MapReduce 작업을 수행 하는 SQL 클래스 쿼리 언어를 제공 합니다.
카산드라와 Hypertable
카산드라와 hypertable bigtable 패턴 hbase 열 저장소 데이터베이스와 유사 하다.
아파치 프로젝트로 카산드라 페이스 북에서 원래 만들어진. 그것은 지금 디 그, Reddit, 페이 스 북, 트위터를 비롯 한 많은 대규모 웹 사이트에 적용 됩니다. Hypertable는 Zvents에서 창조 되 고 지금 오픈 소스 프로젝트입니다.
이 두 데이터베이스는 데이터 원본과 Hadoop MapReduce 작업 대상으로 사용할 수 있도록 Hadoop MapReduce와 상호 작용 하는 인터페이스를 제공 합니다. 더 높은 수준에서 카산드라는 돼지 쿼리 언어와 통합을 제공 합니다 (쿼리 장 참조), Hypertable 이미 하이브 통합 하 고.
NoSQL 데이터베이스의 MapReduce 구현
우리가 지금까지 언급 했던 스토리지 솔루션 Hadoop MapReduce에 대 한 사용 합니다. 일부 NoSQL 데이터베이스는 내장 MapReduce 저장 된 데이터의 병렬 컴퓨팅에 대 한 지원. Hadoop 시스템의 여러 구성 요소 Smaq 아키텍처와 달리 그들은 스토리지, MapReduce, 및 쿼리 자체에 포함 된 시스템 구성 제공.
Hadoop 기반 시스템은 일괄 처리에 일반적으로 중심 이며 NoSQL 저장소는 일반적으로 실시간 응용 프로그램에. 이러한 데이터베이스에 MapReduce는 일반적으로 그냥 다른 쿼리 메커니즘에 대 한 보충으로 존재 하는 추가 기능입니다. 예를 들어 Riak, mapreduce 작업에 대 한 60 초 타임 아웃은 일반적으로 그리고 Hadoop 일반적으로 생각 하는 분 또는 시간에 대 한 일을 실행할 수 있습니다.
다음 NoSQL 데이터베이스는 MapReduce 기능을가지고:
CouchDB, 분산된 데이터베이스, 반구조적된 문서 저장 기능을 제공합니다. 주요 특징은 강력한 다중 복사 지원 및 분산된 업데이트. COUCHDB, 쿼리 정의 하는 지도 고 mapreduce의 단계를 줄이기 위해 JavaScript를 사용 하 여 구현 됩니다.
COUCHDB를 매우 유사 하지만 더 성능 지향은, MongoDB는 분산된 업데이트, 복제, 및 버전에 대 한 상대적으로 약한 지원 합니다. MapReduce는 또한 자바 스크립트를 통해 설명 됩니다.
Riak 이전 두 데이터베이스와 비슷합니다. 하지만 높은 수준의 가용성에 더 많은 관심을 지불 합니다. MapReduce를 설명 하기 위해 JavaScript 나 Erlang을 사용할 수 있습니다.
관계형 데이터베이스와 통합
많은 응용 프로그램에서 기본 원본 데이터는 MySQL 또는 Oracle과 같은 관계형 데이터베이스에 저장 됩니다. MapReduce는 일반적으로 두 가지 방법으로이 데이터를 사용합니다.
관계형 데이터베이스를 사용 하 여 소스 (예: 소셜 네트워크에서 친구의 목록)
MapReduce 결과 (예: 친구의 관심에 따라 제품 추천 목록) 관계형 데이터베이스
그것은 mapreduce 관계형 데이터베이스와 상호 작용 하는 방법을 이해 해야 합니다. 간단한, 구분 된 텍스트 파일 가져오기로 사용 될 수 및 SQL을 결합 하 여 전통적인 관계형 데이터베이스와 Hadoop 시스템 사이의 형식 내보내기 명령 및 HDFS 작업을 내보냅니다. 또한, 좀 더 복잡 한 도구가 있다.
Sqoop 도구 Hadoop 시스템에 관계형 데이터베이스에서 데이터를 가져오기 위해 설계 되었습니다. 그것은 Cloudera, 엔터 프 라이즈-클래스 응용 프로그램에 초점을 맞춘 Hadoop 플랫폼 배포자에 의해 개발 되었다. Sqoop 자바 JDBC 데이터베이스 API를 사용 하기 때문에 데이터베이스에 특정 하지 않습니다. 전체 테이블을 가져올 수 있습니다 하거나 쿼리 명령을 사용 하 여 가져올 데이터를 제한 합니다.
Sqoop 또한 관계형 데이터베이스에 HDFs에서 mapreduce의 결과 반환 하는 기능을 제공 합니다. HDFs 파일 시스템 이므로 Sqoop 데이터베이스에 데이터를 삽입 하려면 적절 한 SQL 명령으로 변환 하는 구분 된 텍스트를 입력 해야 합니다.
Hadoop 시스템에 대 한 CASCADING.JDBC 및 Cascading dbmigrate 연계 API를 사용 하 여 비슷한 기능을 구현할 수 있습니다.
스트리밍 데이터 소스와의 통합
관계형 데이터베이스와 스트리밍 데이터 원본 (예: 웹 서버 로그, 센서 출력) 양식 대규모 데이터 시스템에 대 한 가장 일반적인 데이터 원본. Cloudera의 Flume 프로젝트는 hadoop 스트리밍 데이터 소스를 통합 하기 위한 편리한 도구를 제공 하도록 설계 되었습니다. Flume는 클러스터 컴퓨터에서 데이터를 수집 하 고는 HDFs로 그들을 주사 한다. 페이스 북의 학자 서버는 또한 유사한 기능을 제공합니다.
상업적인 Smaq 솔루션
일부 MPP 데이터베이스는 내장 MapReduce 기능 지원 합니다. MPP 데이터베이스는 동시에 실행 하는 독립 노드로 구성 된 분산된 아키텍처는. 그들의 주 함수는 데이터 웨어하우징 및 분석, SQL로 사용할 수 있습니다.
Greenplum:는 postresql DBMS 기반으로 오픈 소스, 분산된 하드웨어의 클러스터에서 실행 합니다. SQL의 추가, MapReduce는 Greenplum, 문의 시간의 순서의 수를 줄이면에 빠르고 큰 데이터 분석을 수행할 수 있습니다. Greenplum MapReduce 데이터베이스 저장 및 외부 데이터 원본으로 구성 된 혼합된 데이터의 사용을 허용 한다. Perl 또는 Python 함수를 사용 하 여 MapReduce 작업을 설명할 수 있습니다.
MapReduce 지원 애 스 터의 Ncluster 데이터 웨어하우스 시스템에 제공 됩니다. 애 스 터 데이터의 Sql mapreduce 기술을 사용 하 여 MapReduce 작업을 호출할 수 있습니다. Sql mapreduce 기술을 통해 mapreduce 작업 다양 한 언어의 소스 코드에 의해 정의 된와 함께 결합 될 SQL 쿼리 (C#, C + +, 자바, R 또는 파이썬).
다른 데이터 웨어하우징 솔루션 Hadoop MapReduce 기능을 내부적으로 통합 하는 대신 커넥터 제공 하기로 결정 했습니다.
수직: Hadoop 커넥터를 제공 하는 열 저장 데이터베이스가입니다.
Netezza: 최근 IBM에 의해 인수. Cloudera 제휴 hadoop의 상호 운용성을 향상 시킵니다. 비슷한 문제를 해결, 비록 그것 아니다 실제로 우리의 SMAQ 모델의 정의 내에서 그것은 오픈 소스도 평범한 하드웨어에서 실행 하기 때문에.
오픈 소스 소프트웨어를 사용 하 여 Hadoop 기반 시스템을 만들 수 있지만 그것은 여전히 이러한 시스템을 통합 하는 약간 노력을 걸립니다. Cloudera의 목표 Hadoop 엔터프라이즈 응용 프로그램에 더 적응할 수 있게 하 둡 (CDH)에 대 한 그들의 Cloudera 배포판에 통합된 Hadoop 릴리스를 제공 하는입니다.
문의
위의 자바 코드는 프로그래밍 언어를 사용 하 여 지도 정의 하 여 mapreduce 작업의 프로세스를 줄일지 않습니다 너무 직관적이 고 편리 하 게 보여줍니다. 이 문제를 해결 하려면 SMAQ 시스템 mapreduce 작업 및 결과 쿼리를 단순화 하기 위해 더 높은 수준의 쿼리 레이어를 끈다.
Hadoop을 사용 하는 대부분의 조직에서는 Hadoop API 작업의 용이성을 위해 내부적으로 캡슐화 했습니다. 일부 오픈 소스 프로젝트나 상용 제품 되 고 있습니다.
쿼리 레이어는 일반적으로 계산 과정을 설명 하지만 또한 MapReduce 클러스터에서 실행 프로세스를 단순화 하 고 데이터에 대 한 액세스 뿐만 아니라 기능을 제공 합니다.
돼지
야 후에 의해 개발, 이제 Hadoop 프로젝트의 일부가입니다. 돼지 돼지 라틴 설명 MapReduce 작업을 실행 하 라는 높은 수준의 쿼리 언어를 제공 합니다. Hadoop 더 액세스할 수 있도록 개발자에 게 익숙한 SQL, 설계 및 자바 API 뿐만 아니라 그것은 인터랙티브 인터페이스를 제공 합니다. 돼지는 지금 카산드라를 HBase 데이터베이스에 통합 됩니다. 다음 위의 wordcount 돼지, 로드 및 저장 하는 데이터 (레코드의 첫 번째 필드는 $ 표시 됩니다)에 대 한 절차를 사용 하 여 작성의 예입니다.
입력 = 부하 'Input/sentences.txt' textloader ();를 사용 하 여
단어 FOREACH 입력된 생성 결합 = (($)를 토큰화);
그룹화 그룹 단어 $; =
계산 = FOREACH 그룹화 생성 그룹, 카운트 (단어);
주문 주문 건의 $; =
스토어 ' 출력/wordcount ' 사용 하 여 pigstorage ();로 주문
돼지는 매우 표현 하 고, Udf (사용자 정의 함수)를 통해 사용자 지정된 기능을 작성 하는 개발자를 허용. 이 UDF는 Java 언어로 작성 됩니다. 쉽게 이해 하 고 MapReduce API 보다 사용할 수는 있지만, 사용자가 새로운 언어를 배울 필요 합니다. 어느 정도 그것 비슷합니다 SQL, 하지만 그것은 많은 다른 SQL, 여기에 그들의 지식을 재사용 하는 SQL에 익숙한 사람들이 어렵다 때문에.
하이브
앞에서 설명 했 듯이, 하이브 Hadoop 기반 오픈 소스 데이터 웨어하우스 이다. 페이스 북에 의해 만들어진, 그것은 매우 같은 쿼리 언어를 제공 하 고 간단 하 고, 기본 제공 쿼리를 지 원하는 웹 인터페이스를 제공 합니다. 따라서 SQL에 익숙한 개발자가 아닌 사용자에 이상적입니다.
하이브, 돼지 및 계단식, 필요와 비교의 장점 중 하나는 임시 쿼리를 제공 것입니다. 그 성숙 비즈니스 인텔리전스 시스템 하이브 비 기술 사용자에 대 한 보다 사용자 친화적인 인터페이스를 제공 하기 때문에 더 자연 스러운 출발점입니다. Cloudera의 Hadoop 릴리스 하이브를 통합 하 고 사용자가 쿼리를 제출 하 여 MapReduce 작업 실행 모니터 색상 프로젝트를 통해 더 많은 고급 사용자 인터페이스를 제공 합니다.
계단식, API 접근
계단식 Java 응용 프로그램을 쉽게 있도록 Hadoop의 MapReduce API에는 래퍼를 제공 합니다. 그것은 단순히 더 큰 시스템에 MapReduce를 통합 하는 더 간단 래퍼 계층입니다. 계단식는 다음과 같은 기능이 있습니다.
데이터 처리 Api mapreduce 작업 정의 단순화 하도록 설계 되었습니다.
Hadoop 클러스터에서 실행 되는 MapReduce 작업을 제어 하는 API
JVM에 대 한 액세스는 자이썬, 멋져요, 또는 JRuby 같은 스크립팅 언어를 기반 으로합니다.
HDFs, 아마존 S3, 웹 서버 등 다른 데이터 소스와의 통합
MapReduce 프로세스 테스트에 대 한 유효성 검사 메커니즘을 제공 합니다.
계단식의 주요 기능은 개발자가 선택한 파이프를 연결 하 여 mapreduce 작업 스트림으로, 조립 하는입니다. 따라서 Hadoop을 통합 하는 더 큰 시스템에 이상적입니다. 계단식 자체 작업을 완료 하는 Cascalog 라는 오픈 소스 프로젝트에서 파생 하는 고급 쿼리 언어를 제공 하지 않습니다. Cascalog는 Clojure JVM 언어를 사용 하 여 비슷한 데이터 로그 쿼리 언어를 구현 합니다. 매우 강력 하 고, Cascalog는 아직도 작은 범위 언어로 하이브 SQL 같은 언어를 제공 하지는 않습니다 때문에,도 돼지로 절차입니다. Cascalog를 사용 하 여 완료 하는 Wordcout의 예는 다음과 같습니다.
(Defmapcatop 분할 [문장]
(SEQ (. 분할 문장 "\\s+"))
(? <-(stdout) [? 단어? 수]
(문장? s) (S: 분할 > 단어)
(C/카운트))
SOLR를 사용 하 여 검색
대규모 데이터 시스템의 중요 한 구성 요소는 데이터 쿼리 및 요약입니다. Hbase 등 데이터베이스 계층 데이터에 대 한 간단한 액세스를 제공 하지만 복잡 한 검색 기능을 필요가 없습니다. 검색 문제 해결 오픈 소스 검색 및 인덱싱 플랫폼 SOLR 일반적으로 NoSQL 데이터베이스와 함께에서 사용 됩니다. SOLR은 luence 검색 기술을 사용 자체에 포함 된 검색 서버 제품을 제공 합니다. 예를 들어 소셜 네트워크 데이터베이스 고려 MapReduce 시킬 수 몇 가지 합리적인 매개 변수는 데이터베이스에 다시 기록 됩니다 개인 영향 계산. 인덱싱 SOLR를 사용 하 여 다음 수 있습니다 가장 영향력 있는 사람을 찾는 등이 소셜 네트워크에 뭔가.
센트, 지금 SOLR에에서 원래 개발 아파치 프로젝트 탐색 및 결과 클러스터링을 지 원하는 단일 텍스트 검색 엔진에서 진화 했다. 또한, SOLR 방대한 양의 분산 된 서버에 저장 된 데이터를 관리할 수 있습니다. 이렇게 하면 막대 한 양의 데이터 및 비즈니스 인텔리전스 시스템 구축에 중요 한 구성 요소에서 검색 하는 이상적인 솔루션.
요약
MapReduce 특히 Hadoop 구현 일반 서버에서 분산 컴퓨팅을 수행 하는 강력한 방법을 제공 합니다. 분산된 스토리지와 사용 하기 쉬운 쿼리 메커니즘 결합, 대규모 데이터 처리 작은 팀 및 개인적인 개발을 통해 달성 될 수 있도록 SMAQ 아키텍처를 형성 합니다.
그것은 이제 데이터의 심층 분석 하거나 복잡 한 계산에 의존 하는 데이터 제품을 저렴 한입니다. 결과 데이터 분석 및 데이터 웨어하우스 분야에 광범위 한 영향, 항목의 임계값을 줄일 수 있으며 제품, 서비스 및 조직의 새로운 세대를 육성. 마이크 Loukides의이 추세 "데이터 과학 이란 무엇입니까?" 보고서는 깊은 해석이 있다.
리눅스의 출현은 바탕 화면에 리눅스 서버와 혁신적인 개발자의 창조로 강력한만 있습니다. Smaq는 데이터 센터 효율성 향상, 조직의 가장자리의 혁신을 촉진 및 저가 데이터 기반 비즈니스의 새로운 시대를 열 수 같은 큰 잠재력이 있다.