2010-06-16 3 views
0

안녕하세요 : "Tech", "Finance"및 "Health"와 같은 다른 범주의 DB에 뉴스 기사를 저장하는 경우 분산 데이터베이스가이 시스템에서 잘 작동합니까? 대 RDBMS? 각 뉴스 항목에는 몇 가지 다른 항목과 함께 뉴스 기사가 첨부됩니다. 비록 쿼리가 더 빠를 지 궁금합니다.분산 데이터베이스에서 RDBMS에 뉴스 저장

내가 100 만 개가 넘는 줄을 결코 차지하지 않는다고 가정하고 최신 (5 시간 이내) 기술 기사를 얻고 싶습니다. 나는 그것이 "모든 기술 기사를 줘"(아마도 10000)의 map-reduce 일 것이라고 상상하고, 최신 타임 스탬프를 가진 것들만 제거합니다.

올바른 방법으로 문제를 해결할 생각이 있는데 DDB가 최상의 솔루션일까요? 몇 년 안에 5 백만 개의 항목이있을 수 있지만 그때도 그렇습니다.

+0

나중에 DDB가 가장 적합한 기사 인 MongoDB를 검색해야한다면? 리크? – tesserakt

답변

3

분산 데이터베이스 또는 키 - 값 저장소를 사용할지 여부는 도메인 요구 사항보다 운영 요구 사항에 따라 다릅니다.

사람들이 Riak 시간 정렬 된 쿼리를 수행하는 방법을 물어 보면, 우리가 일반적으로 몇 가지 전략을 제시

(그들 중 누구도 Riak으로 실버 총알 없습니다 있지만 주문한 결여 범위 쿼리) :

1) 자주하는 경우 특정 크기의 청크에 액세스하면 데이터를 해당 기간을 반영하는 버킷으로 분할 할 수 있습니다. 예를 들어, 지정된 요일, 시간 또는 분에 대한 모든 데이터는 적절한 시간 소인이 들어있는 버켓에서 저장되거나 링크됩니다. 오늘부터 모든 기술 뉴스를 원한다면 버킷 이름은 "tech-20100616"일 수 있습니다. 데이터가 입력되면 시간 상자가있는 버킷에서 실제 항목까지 적절한 링크를 추가합니다.

2) 데이터가 시퀀스 지향적이며 특정 시점과 관련이없는 경우 링크를 사용하여 데이터 체인을 생성하고 시간상, 역방향 또는 역방향으로 연결합니다. (위키 페이지와 같이 버전이있는 데이터에도 효과적입니다.) 또한 목록 헤드를 가리키는 객체를 유지해야 할 수도 있습니다.

이러한 전략을 제외하면 Riak은 최신 정보에 대한 100 % 해결책이 아니지만 장기적인 저장을 위해서는 더 나은 방법 일 수 있습니다. Redis, memcached 또는 MongoDB (데이터가 약하고 일시적으로 메모리에 저장 될 수있는 경우 뛰어난 성능을 발휘합니다)와 결합하여 최신 항목의 롤링 색인을 보관할 수 있습니다.

+0

숀, 당신이 언급 한 포인트 # 1 정도. Ripple과 같은 ODM을 사용하여 객체를 구현하는 방법은 무엇입니까? –

관련 문제