OLAP-куб - PHP и MongoDB - PullRequest
       36

OLAP-куб - PHP и MongoDB

5 голосов
/ 23 марта 2012

Мне нужно создать систему аналитики. Я уже построил систему, используя MognoDB и PHP, но без использования OLAP. Теперь мои запросы действительно лучшие, которые я могу получить, но система работает очень медленно, потому что нет куба. Загрузка отчета за последние 7 дней может занять минуту. Мне действительно нужны варианты куба - ломтик и кости.

Так, каково было бы решение для меня? Существует ли хорошая система построения кубов с MongoDB, которая может вставлять и просматривать данные через PHP? Может быть, MongoDB не подойдет мне? Должен ли я использовать другую базу данных и запустить всю систему с 0? Какие там OLAP-решения используют PHP?

Редактировать: Подробнее - Ну, система похожа на Google Analytics. Нужно знать, сколько просмотров в день, нужно иметь возможность отправлять отчеты только из определенного источника трафика и страны. Система должна обрабатывать 1 000 000 уникальных представлений каждый день. Но не только количество просмотров, необходимо уметь видеть, сколько пользователей возвращают, сколько времени в среднем у каждого пользователя и т. Д.

Спасибо.

Ответы [ 2 ]

2 голосов
/ 20 мая 2014

Чтобы немного обновить ответы, icCube теперь предлагает доступ к MongoDB .Вы должны иметь возможность настроить запрос MongoDB для создания таблиц, которые icCube собирается использовать для отчетов и аналитики.

2 голосов
/ 23 марта 2012

MongoDB не создан для приложений типа куба OLAP.Я могу подумать о двух подходах:

1) Заранее определите, какие запросы вам нужно сделать, и заблаговременно сохраняйте данные в оптимальном формате.Например, если вы хотите узнать количество посещений по странам в день, то при каждом посещении выполните что-то вроде:

db.visits.update ({'country': country, 'day': current_day ()}{$ inc: {посещения: 1}})

Повторите для каждого показателя.Обновление с помощью приложения «забывай и забывай» из вашего приложения в аналитической БД добавит минимальные издержки при обработке запроса посетителю.Тогда ваши запросы будут в основном предварительно вычислены.

2) Попробуйте серверную часть MongoDB JasperSoft.

...