2011-01-02 3 views
3

I 나는 등 하둡, 카산드라와 같은 분산 형 NoSQL 데이터베이스에 새로운 I 내가 전문가의 조언 추구하는 몇 가지 질문이 있습니다도움말 등 HBase를

  1. 당신이 문제를 나열 할 수 있습니다를/MySQL과 같은 기존의 기존 데이터베이스에서 이러한 대규모 클러스터 기반 데이터베이스로 전환 할 때 일반적으로 직면하게 될 과제는 무엇입니까?
  2. 오픈 소스 프로젝트의 새로운 버전에 적응해야 할 때 어려움이 있다면 무엇이 있을까요?
  3. 일반적으로 페이지의 빠른 렌더링을 위해 memcached에 저장/보관되는 것을 나열 할 수 있습니까?
  4. 오픈 소스 프로젝트의 소스 코드를 이해하여 빌드하고 커뮤니티에 돌려 줄 수있는 방법은 무엇입니까?

위의 질문은 바보스럽고 기본적인 것으로 들릴 수 있지만 위의 질문에 대한 전문가의 질문에 답해 주시기 바랍니다.

1 :

답변

0

나는 몇 가지 생각을 제공 할 수있는 설명서 및 예제는 하둡 및 관련 프로젝트를 사용하여 내 프로젝트에 대한 큰 도전이었다. MySQL과 비교할 때, 어떤 기능이 사용 가능한지, 어떻게 사용하는지 찾기가 어렵습니다. 메일 링리스트는 이와 관련하여 큰 도움이되었습니다. 일괄 처리 및 '전체 테이블 스캔'에 대한 생각을 배우는 것도 조정이었으며,지도 축소 도구를 작성하는 데 사용할 수있는 도구가 많았지 만,지도 재 축소 프로그래밍에 익숙해지는 것은 그리 간단하지 않습니다.

2 : 하둡의 상당 부분 & 친구 코드베이스는 여전히 기본적으로 알파웨어이며 때로는 버전에 따라 기능이 많이 달라집니다. 테스트 클러스터가 먼저 업그레이드를 수행하고 무엇이 중단되는지 확인해야합니다. 극적인 API 변경 사항은 업그레이드하는 동안 예기치 않게 발생하지 않습니다.

3 : 필자는 memcached를 특별히 사용하지 않았으며 페이지를 렌더링하지 않고 백엔드 ETL 처리에 Hadoop을 사용합니다. 여기서 너를 정말로 도울 수 없어.

4 : 프로젝트를 이해하는 가장 좋은 방법은 코드를 가져 와서 살펴 보는 것입니다. 잠시 동안 그것을 사용하여 연습하고, 결국 당신은 당신이 더 잘할 수 있다고 생각하거나 원하는 기능을 찾을 수 있습니다. 그것은 참여할만큼 좋은 장소입니다. 개발자 메일 링리스트에 등록하고 기존 버그 목록 및 기능 요청에주의를 기울여 다른 사람이 이미 유사한 작업을하고 있는지 확인하십시오. 이러한 프로젝트의 대부분은 코드를 넣을 수있는 권한을 가진 사람을 확보해야하지만 그렇게 어렵지는 않습니다. 보다 구체적인 정보를 얻기 위해 관심있는 특정 프로젝트를 읽어보십시오.

0

내 경험은 다음과 같습니다

  1. 주요 과제는 관계형 배경에서 오는 경우 없음-SQL의 관점에서 생각하는 것입니다. 예를 들어 HBase (하둡 DFS 기반)는 오름차순 만 제공하며, 내림차순 조회를 수행하려면 역 색인을 유지해야합니다. 즉 ID 1은 책 A를 가리키고 역 색인 (max - 1)은 1을 가리킨다. 문서화는 문제이지만 모든 OSS에서와 마찬가지로 공동체는 매우 중요하다. Git과 Jersey에서는 HBase 커뮤니티가 매우 도움이되어 문서 부족과 HBase 문서가 항상 개선되고 있다고 말합니다. 또 다른 도전은 탐색 일 것입니다. 우리는 종종 검색을 위해 SQL RDBMS를 사용합니다. 예를 들어, HBase는 그 목적에 적합하지 않습니다. 안정적인 저장을 위해 HBase를 사용하면서 검색 할 때는 다른 소프트웨어를 사용하는 것이 좋습니다. 탄성 검색, Apache Solr, Apache Lucene 등
  2. HBase의 경우 실제로 프로젝트마다 다릅니다. 0.20.X에서 0.90.X까지 크게 개선되었습니다 (해당 릴리스가 우수함). AFAIK 데이터 저장소 형식은 변경되지 않고 API도 크게 변경되지 않지만 주요 버전이 변경된 주요 OSS와 마찬가지로 API가 변경되지만 사소한 변경 사항은 API 변경 사항이 없습니다. 업 그레 이드 경험이 많지는 않지만이 작은 모험에서 데이터를 검색하는 데 문제가없는 것으로 나타났습니다.
  3. 이것은 까다롭고 문제의 응용 프로그램 유형에 따라 크게 달라집니다. memcached에 대해 언급하면서 현재 진행중인 경험을 공유하고 싶습니다. 우리는 곧장 앞으로 기본 키 조회 이외의 검색 HBase를 사용하지 않습니다. 다른 모든 검색은 Apache Solr (Lucene을 기반으로 함)을 통과합니다. 따라서 검색 결과는 Solr에 의해 캐시됩니다. 응용 프로그램 계층에서 Java를 사용할 때 원시 객체를 저장하기 위해 Ehcache를 사용합니다. 웹 캐싱에서 우리는 Varnish Cache을 사용하여 ESI를 사용하여 사용자 콘텐츠별로 페이지를 조각 냈습니다 (예 : 로그인, 로그 아웃, 계정, 장바구니 등) 및 일반 콘텐츠 (예 : 뉴스, 이벤트, 제품 등 높은 처리량을 달성합니다.
  4. Mark Tozzi와 (과) 동의하고 싶습니다.
+0

감사합니다. 나는 새로운 생각이 생기면 다시 되돌아 갈 것입니다. 다시 한번 감사합니다. – Harsh

+0

대단히 환영합니다. 그것이 당신에게 도움이 되었다니 다행. – imyousuf