2012-03-23 2 views
5

나는 분석 시스템을 만들어야합니다. 이미 OLAP을 사용하지 않고 MognoDB와 PHP를 사용하여 시스템을 구축했습니다. 이제 나의 쿼리는 내가 얻을 수있는 최선의 방법이지만, 큐브가 없기 때문에 시스템이 정말 느립니다. 지난 7 일 동안 보고서를로드하는 데 1 분 정도 걸릴 수 있습니다. 큐브의 옵션 - 슬라이스 & 주사위가 정말로 필요합니다.OLAP 큐브 - PHP와 MongoDB

그래서 나를위한 해결책은 무엇입니까? MongoDB로 큐브 시스템을 구축했는데 PHP를 통해 & 뷰 데이터를 삽입 할 수 있습니까? 아마도 MongoDB가 나에게 좋지 않을까요? 다른 데이터베이스를 사용해야하고 0에서 모든 시스템을 시작해야합니까? PHP를 사용하는 OLAP 솔루션은 무엇입니까?

편집 : 추가 정보 - 음, 시스템은 Google Analytics와 같습니다. 매일의 조회수를 파악하고 특정 트래픽 소스 및 국가에서만보고 할 수 있어야합니다. 시스템은 매일 1,000,000 회의 고유보기를 처리해야합니다. 조회수뿐만 아니라 사용자가 반환하는 사용자 수, 모든 사용자의 평균 시간은 얼마인지를 볼 수 있어야합니다.

감사합니다.

+0

데이터 유형, 레코드 수, 마스터 데이터, 데이터 소스,보고 요구 사항, 사용하는 집계 등에 대해서는 언급하지 않았습니다. 추측하지 않고 어떻게 대답 할 수 있습니까? 당신은 훨씬 더 많은 정보를 제공 할 필요가 있으며, 그 대답은 단지 큐브 + olap 엔진 일 것입니다. – T9b

+0

Thanls. 죄송합니다. 이 큐브 + olap 엔진에 대해 좀 더 설명 할 수 있습니까? PHP를 사용하여 어떻게 할 수 있습니까? 내 몽고범은 어때? 다른 DB를 사용해야합니까? –

+0

PHP와 mongoDB에 대한 집착이 무엇인지 모르겠습니다. 필요한 모든 것을 모든 데이터베이스에서 수행 할 수 있습니다. 당신이 당신의 데이터를 적절히 로딩하지 않거나 당신의 SQL이 충분하지 않은 것처럼 들린다. 당신의 코드, DB 구조 등을 제공하십시오. 당신이 잘 수행하지 못한다고 말하십시오. – T9b

답변

2

MongoDB는 OLAP 큐브 유형 응용 프로그램 용으로 빌드되지 않았습니다. 두 가지 접근 방법을 생각해 볼 수 있습니다.

1) 미리 수행해야하는 쿼리를 미리 결정하고 데이터를 최적의 형식으로 미리 저장하십시오. 예를 들어 하루에 국가 별 방문수를 알고 싶으면 각 방문이 발생할 때마다 다음과 같이하십시오 :

db.visits.update ({ 'country': 국가, 'day': current_day()}, {$ inc : {visits : 1}})

각 측정 항목에 대해 반복하십시오. 애플리케이션에서 애널리틱스 DB에 이르기까지 불필요한 업데이트를 수행하면 방문자의 요청에 최소한의 오버 헤드가 추가됩니다. 그러면 쿼리가 미리 계산됩니다.

2) JasperSoft의 MongoDB 백엔드를 사용해보십시오.

2

약간의 응답을 업데이트하려면 icCube이 (가) MongoDB에 액세스 할 수 있습니다. icCube가보고 및 분석에 사용할 테이블을 생성하기 위해 일부 MongoDB 쿼리를 설정할 수 있어야합니다.