복붙노트

[HADOOP] HBase가 분산 된 환경에서 실행되지 않는다면 의미가 있습니까?

HADOOP

HBase가 분산 된 환경에서 실행되지 않는다면 의미가 있습니까?

나는 데이터의 인덱스를 만들고 있는데, 이것은 폼 (문서, 용어, 무게)에 많은 양의 쌍음을 저장하는 것을 수반 할 것이다. 나는 그러한 행을 몇 백만 가지까지 저장할 것이다. 현재 MySQL에서 간단한 테이블로이 작업을 수행하고 있습니다. 다른 테이블에 외래 키보다 문자열 값으로 문서 및 용어 식별자를 저장하려고합니다. 필자는 소프트웨어를 다시 작성하고 데이터 저장 방법을 찾고 있습니다.

HBase가 작동하는 방식을 살펴보면이 방식이 스키마에 잘 어울리는 것 같습니다. 세 쌍을 많이 저장하는 대신 문서를 {term => weight}에 매핑 할 수있었습니다.

단일 노드에서이 작업을 수행하므로 배포 된 노드 등은 신경 쓰지 않습니다. 작동하기 때문에 MySQL을 사용해야합니까 아니면 HBase를 사용하는 것이 현명합니까? 나는 Lucene이 full-text 색인을 위해 그것을 사용한다는 것을 본다. (그것은 내가하고있는 것과 유사하다). 제 질문은 실제로 단일 HBase 노드가 단일 MySQL 노드와 어떻게 비교 될까요? 나는 스칼라에서오고있다. 그래서 직접적인 자바 API가 JDBC와 MySQL보다 각 쿼리를 파싱하는 것 이상의 우위를 차지할 수 있을까?

나의 주된 관심사는 이전에 병목 현상이 있었기 때문에 삽입 속도입니다. 처리가 끝나면 MySQL에서 더 잘 수행되는 계산을해야하기 때문에 라이브 쿼리를 위해 데이터를 MySQL에 다시 저장하게 될 것입니다.

둘 다 프로토 타이핑을 시도하겠습니다 만, 커뮤니티가이 사실에 대해 나에게 가치있는 통찰력을 줄 수 있다고 확신합니다.

해결법

  1. ==============================

    1.작업에 적합한 도구를 사용하십시오.

    작업에 적합한 도구를 사용하십시오.

    여기와 여기에서 선택할 수있는 ACID (Atomicity, Consistency, Isolation, Durability)와 반대되는 많은 anti-RDBMS 또는 BASE 시스템 (기본적으로 사용 가능, 소프트 상태, 결과적으로 일관성 있음)이 있습니다.

    전통적인 RDBMS를 사용했고 CLOB / BLOB를 저장할 수 있지만 이러한 개체를 검색하기 위해 특별히 사용자 지정된 기본 제공 인덱스가 없습니다.

    대부분의 작업을 수행하고자합니다. 각 튜플은 문서를 삽입 할 때 발견된다.

    당신은 또한 다음과 같은 유용성을 기록하는 작업을하고 싶을 수도 있습니다. 각 검색 후에 각 (documentId, searchWord) 쌍이됩니다.

    그렇게하면 매번 더 나은 검색을 할 수 있습니다.

    또한 각 검색에 대해 점수 또는 가중치를 저장하고 가중치를 부여하려는 경우 다른 검색과의 유사도 점수

    일부 검색은 다른 검색보다 일반적 일 수 있으며 사용자가 검색 쿼리를 정확하게 표현하지는 않습니다. 일반적인 검색을 수행합니다.

    문서를 삽입하면 검색 가중치가 일부 변경됩니다. 색인.

    더 생각하면할수록 솔루션이 복잡해집니다. 먼저 좋은 디자인으로 시작해야합니다. 더 많은 요인 디자인은 더 나은 결과를 기대합니다.

  2. ==============================

    2.MapReduce는 튜플을 생성하는 좋은 방법 인 것 같습니다. jar 파일로 스칼라 작업을 할 수 있다면 (스칼라를 사용하지 않았고 jvm n00b이기 때문에 확실하지 않음),이를 보내고이를 실행하기위한 약간의 래퍼를 작성하는 것이 중요 할 것입니다 지도에서 클러스터를 줄입니다.

    MapReduce는 튜플을 생성하는 좋은 방법 인 것 같습니다. jar 파일로 스칼라 작업을 할 수 있다면 (스칼라를 사용하지 않았고 jvm n00b이기 때문에 확실하지 않음),이를 보내고이를 실행하기위한 약간의 래퍼를 작성하는 것이 중요 할 것입니다 지도에서 클러스터를 줄입니다.

    완료 후에 튜플을 저장하는 것에 관해서는 튜플을 저장하는 경우 mongodb와 같은 문서 기반 데이터베이스를 고려할 수도 있습니다.

    일반적으로, 당신은 텍스트와 함께 더 통계적인 것을하고있는 것처럼 들립니다 ... 당신 자신의 것을 쓰는 대신에 당신이하고있는 일을하기 위해서 단순히 lucene이나 solr을 사용하는 것으로 생각 해본 적이 있습니까?

  3. from https://stackoverflow.com/questions/1683563/is-hbase-meaningful-if-its-not-running-in-a-distributed-environment by cc-by-sa and MIT license