2013-07-10 1 views
1

클릭 스트림 (~ 240 개의 하위 도메인)을 처리하기위한 데이터베이스를 만들어야합니다. 자바 스크립트를 사용하여 각 클릭에 대해 (호스트, 페이지, 날짜, 사용자 ID, Referer, HostName, RefererPath, uniqueUserID) 정보를 가져오고 Java 웹 동적 응용 프로그램을 통해 데이터베이스에 데이터를 삽입합니다. 매일 약 9 백만 개의 새 레코드가 있으며 매분마다 새 레코드를 삽입해야합니다. 다른 애플리케이션은 마지막 (10 분, 20 분, 30 분, 1 시간 ... 24 시간) 동안 특정 기사/하위 도메인에 대한 페이지 뷰/고유 방문자/요법에 대한 정보를 검색 할 수 있어야합니다. 지난 3 개월 동안의 기록 만 유지하면됩니다.클릭 스트림 응용 프로그램에 사용할 데이터베이스 RELATIONAL 또는 NOSQL?

처음에는 오픈 소스에만 관심이있어서 MySQL을 사용하려고 생각했습니다. 하지만 NoSQL 솔루션에 대해 생각하고 있습니다. 문제는 필자가 관계형 데이터베이스에만 경험이 있었기 때문에 NoSQL이 더 나은 해결책이 될 것인지 아닌지 알 수 없었습니다. 또한 NoSQL으로 선택하면 어떤 데이터베이스를 사용해야합니까? 키 - 값 저장소가 가장 좋은 방법일까요?

답변

2

저는이 데이터의 일관성이 중요하지 않다고 생각합니다 (통계?). 그래서 약간의 일관성을 확보 할 수 있습니다. NoSQL이 좋은 선택 인 것처럼 보이고 중요한 가치 저장소가 내 선택이 될 것입니다. 이제 진짜 질문이 있습니다 : 가장 적합한 것이 무엇입니까?

나는 (기본적으로 가장 잘 알려진 것들이다) 레디 스 및 Riak을 고려 줘야 할 것

:

Riak (AP 시스템) :

  • 결함 허용 (주인없는과를 분할 및 복제)
  • Map reduce
  • 전체 텍스트 검색
  • BASE

레디 스 (CP 시스템) :

  • 정말 빠른
  • 인 - 메모리 : 당신은 RAM이 필요 해요! 즉, 충돌시 모든 것을 잃지 않도록 복제를 원한다는 의미입니다. Redis는 또한 내가 믿는 디스크 스냅 샷을 사용합니다.
  • 마스터/reelection
  • BASE

모두가 더 많은 기능을 가지고와 슬레이브, 당신은 개는 설명서를 읽어 가야한다. Redis는 빠른 속도로 캐시로 사용되지만 Riak은 내결함성에 초점을 맞추고 있습니다. 확장 성 요구 사항을 감안할 때 두 가지 모두 귀하의 필요를 충족시킬 수 있습니다. 따라서 위에있는 것을 따라 선택해야합니다.

+0

감사합니다 :) 일관성이 중요하지 않습니다. 또한 기본 또는 외래 키가 필요하지 않습니다. – tramwaj29