2013-07-03 5 views
6

좋아 .. 나는이 질문에 대한 답변을 웹과이 사이트에서 검색하려고 시도했다.이 질문은 아주 기본적인 질문처럼 보였다. 나는 큰 데이터 처리에 대한 완전한 멍청한 반응이다.하둡과 데이터베이스 간의 관계

HDFS와 데이터베이스 간의 관계를 알고 싶습니다. HDFS를 사용하려면 데이터가 일부 NoSQL 형식이어야합니다. HDFS를 사용할 때 항상 첨부 된 특정 데이터베이스가 있습니까? 나는 cloudera가 Hadoop 솔루션을 제공하고 HBase를 사용한다는 것을 알고 있습니다.

관계형 데이터베이스를 Hadoop의 기본 데이터베이스로 사용할 수 있습니까?

답변

0

Hadoop의 이점은 복제를 통해 데이터를 저장할 수 있다는 점입니다. 따라서 Hadoop을 SQL Server와 같이 "작동하지"않도록 할 수 없으며 많은 의미가 있습니다. Hadoop과 함께 작동하도록 설정할 수있는 HBase, Hive 및 Pig 환경 (및 기타)이 있으며 일반 SQL 언어처럼 보이고 느낍니다. 그들이 말하는대로 0에서 15 분 안에 큰 데이터를 가지고 놀고 싶다면 Hortonworks' Sandbox을 확인하십시오. 희망이 도움이됩니다.

+0

도움이됩니다. 고맙습니다. Hadoop이 데이터를 복제한다는 점을 고려하지 않았습니다. 그렇기 때문에 SQL 데이터베이스가 네이티브 데이터베이스와 호환되지 않습니다. – crossvalidator

1

당신이 정말로 달성하고 싶은 것이 있다면, 그것은 당신의 질문에서 분명하지 않습니다.

HDFS와 데이터베이스간에 간접적 인 관계가 있습니다. HDFS는 데이터베이스가 아닌 파일 시스템입니다. Hadoop은 병렬 처리 프레임 워크 (MapReduce)와 파일 시스템 HDFS의 조합입니다. 병렬 처리 프레임 워크는 HDFS 파일 시스템에서 InputFormat이라는 항목을 사용하여 데이터 청크를 가져옵니다. Oracle NoSQL Database (ONDB), Cassandra, Riak 등의 일부 데이터베이스는 데이터가 포함 된 InputFormat을 반환 할 수 있으므로 HDFS의 데이터와 마찬가지로 MapReduce 처리의 소스로 참여할 수 있습니다.

다시 말해서 무엇을하고 싶습니까?

Hadoop 및 HDFS는 일반적으로 상위 수준 처리에 필요한 일부 모델로 집계 및/또는 구조화되지 않은 많은 양의 데이터가있는 경우 유용합니다. 경우에 따라 (실제로 필요한 것보다 더 자주 qustionably 강제로), Hadoop은 괜찮은 모델을 활용하는 다른 처리/저장 기술에서 일반적으로 수행되는 고급 처리를 수행하는 데 사용될 수 있습니다. MapReduce에서 실행되는 검색 색인 생성 인 Google 순간 검색을 사용하면 모델을 개발하여 더 나은 접근 방식을 사용할 수 있습니다. MapReduce만으로는 Google 순간 검색을 사용할 수 없습니다. 당신은 여전히 ​​약간의 유사성, 2가 store 데이터에 대한 조항이 사이에 일반적입니다 만 일을 찾으려면

+0

데이터 형식을 변경할 수있는 연결 프로그램없이 Hadoop과 직접 사용할 수있는 데이터베이스가 무엇인지 알고 싶습니다. 기본적으로, 왜 SQOOP가 존재하는지 이해하지 못했습니다. Hadoop에서 SQL 데이터를 직접 사용할 수없는 이유는 무엇입니까? Dan 박사는 SQL에서 데이터 복제가 가능하지 않을 것이라고 지적했습니다. 다른 걱정거리가 있을까? – crossvalidator

+0

@crossvalidator :이 의견에 대한 수정 된 답변을 참조하십시오. 여기에 그것을 쓸 수 없었습니다. – Tariq

12
I want to know the relationship between HDFS and databases. 

는 2 사이와 같은 더 relation 없습니다. 그러나 이는 모든 FS 및 DB 조합과 유사합니다. 예를 들어, MySQL과 ext3. 당신은 MySQL에 데이터를 저장하고 있다고 말하지만 결국 FS에 저장된 데이터를 얻는다. 보통 사람들은 HBase와 같은 NoSQL 데이터베이스를 Hadoop 클러스터 위에 사용하여 HDFS에서 제공하는 병렬 처리 및 분산 된 동작을 활용합니다.

Is it always necessary that to use HDFS, the data be in a some NoSQL format? 

실제로는 NoSQL format과 같은 내용은 없습니다. 당신은 데이터, 텍스트, 바이너리, 모든 종류의 HDFS를 사용할 수있는 XML 등 등 HDFS과 함께 제공되는 유일한 MapReduce framework입니다

Is there a specific database that always comes attached when using HDFS? 

번호. 당신은 분명히 HDFS로 작업 할 수있는 DB를 만들 수 있습니다. 사람들은 종종 HDFS 위에 NoSQL DB를 사용합니다. 카산드라, HBase 등 여러 가지 선택이 있습니다. 어느 것을 사용할 것인지 결정하는 것은 완전히 당신에게 달려 있습니다.

Can I use a relational database as the native database for Hadoop? 

허용되는 OOTB 기능이 없습니다.또한 Hadoop과 함께 RDBMS를 사용하는 것은별로 의미가 없습니다. Hadoop은 RDBMS가 데이터 PB 처리, 구조화되지 않은 데이터 처리 등과 같이 RDBMS가 적합한 옵션이 아닌 시대를 위해 개발되었습니다. 그런 말로하면 RDBMB 대신 Hadoop을 고려하지 않아야합니다. 둘 다 완전히 다른 목표를 가지고 있습니다.

편집 :

보통의 사람들은 하둡과 (HBase와 같은, 카산드라)되는 NoSQL DB를 사용합니다. 이러한 데이터베이스를 hadoop과 함께 사용하는 것은 구성의 문제 일뿐입니다. 이를 달성하기 위해 연결 프로그램이 필요하지 않습니다. @Doctor Dan이 지적한 점 외에도 SQL DB 대신 NoSQL DB를 선택하는 몇 가지 다른 이유가 있습니다. 한 가지는 size입니다. 이러한 NoSQL DB는 데이터의 PB를 쉽게 저장할 수 있도록 뛰어난 수평 적 스케일을 제공합니다. 기존 시스템을 확장 할 수는 있지만 수직적으로 확장 할 수는 있습니다. 또 다른 이유는 complexity 데이터입니다. 이 DB가 사용되는 장소는 대개 매우 체계적이지 않은 데이터를 처리하기 때문에 기존 시스템을 사용하여 처리하기가 쉽지 않습니다. 예 : 센서 데이터, 로그 데이터 등

기본적으로 SQOOP가 존재하는 이유를 이해하지 못했습니다. 은 Hadoop에서 SQL 데이터를 직접 사용할 수없는 이유는 무엇입니까?

Hadoop은 BigData 요구 사항을 잘 처리하지만 사용자의 모든 요구 사항을 해결할 수있는 솔루션은 아닙니다. 실시간 요구에 적합하지 않습니다. 매우 거대한 데이터 세트를 가진 온라인 거래 회사라고 가정 해보십시오. Hadoop을 사용하면이 데이터를 매우 쉽게 처리 할 수 ​​있습니다. 그러나 문제는 Hadoop을 통해 고객의 실시간 요구 사항을 충족시킬 수 없다는 것입니다. 여기가 SQOOP가 등장하는 곳입니다. SQL DB와 Hadoop간에 데이터를 이동할 수있는 가져 오기/내보내기 도구입니다. BigData를 Hadoop 클러스터로 옮기고 거기에서 처리 한 다음 SQOOP를 사용하여 결과를 다시 SQL DB로 푸시하여 고객의 실시간 요구를 충족시킬 수 있습니다.

HTH

+1

아주 좋은 설명 ... 사용자가 대답으로 이것을 받아들이지 않은 이유를 모르겠다 ..anyway +1 :) – Trialcoder