2012-03-23 9 views
5

私は分析システムを作成する必要があります。私はすでにMognoDBとPHPを使ってOLAPを使わずにシステムを構築しました。今私のクエリは私が得ることができる最高ですが、システムはキューブがないので本当に遅いです。過去7日間のレポートをロードするのに1分かかることがあります。キューブスライス&ダイスのオプションが本当に必要です。OLAPキューブ - PHPとMongoDB

私の解決策は何ですか? MongoDBで構築された良いキューブシステムがあり、それはPHP経由で&ビューデータを挿入できますか?たぶん、MongoDBは私には良いことではないでしょうか?別のデータベースを使用して、すべてのシステムを0から開始する必要がありますか? PHPを使用しているOLAPソリューションは何ですか?

編集:詳細 - システムはgoogle analyticsのようです。毎日どのくらいのビューがあるかを知ることができ、指定されたトラフィックの出所と国のみからレポートできるようにする必要があります。システムは毎日100万回のユニークなビューを処理する必要があります。 ビューの数だけでなく、返されるユーザーの数、各ユーザーの平均時間はどのくらいであるかを確認する必要があります。

ありがとうございます。

+0

データの種類、レコードの数、マスタデータ、データのソース、レポートの要件とは何か、使用する集計については何も述べていません。どのように推測されることなくこれに答えることができますか?あなたはもっと多くの情報を提供する必要があります。私は答えがキューブ+ olapエンジンだとはっきりと疑っています。 – T9b

+0

Thanls。申し訳ありません、追加されました。このキューブ+オラップエンジンについてもう少し説明できますか? PHPを使ってどうすればいいですか?私のモンゴブはどうですか?私は別のDBを使うべきですか? –

+0

私はあなたの強迫観念がPHPとmongoDBにあるかどうか分かりません。必要なものはすべて、どのデータベースでも十分に実行できます。あなたのデータを適切にロードしていないか、SQLで十分でないように思えます。あなたのコード、DB構造などを提供してください。 – T9b

答えて

2

MongoDBは、OLAPキューブ型アプリケーション用にビルドされていません。

1)実行する必要があるクエリを事前に決定し、データを最適な形式で事前に保存します。たとえば、1日あたりの国ごとの訪問数を知りたい場合は、訪問ごとに次のような操作を行います:

db.visits.update({'country':国、 'day':current_day()}、{$ inc:{visits:1}})

各指標について繰り返してください。アプリケーションからアナリティクスDBへのファイア・アンド・フォー・アップデートにより、ビジターへのリクエストには最小のオーバーヘッドが追加されます。その後、あなたの質問は主に事前計算されます。

2)JasperSoftのMongoDBバックエンドを試してください。

2

少し回答を更新するには、icCubeMongoDBへのアクセスを提供しています。 icCubeがレポートと分析に使用するテーブルを作成するために、いくつかのMongoDBクエリを設定することができます。

関連する問題