хранилище данных и отчетность без схемы - PullRequest
2 голосов
/ 29 июня 2009

У нас есть система, которая генерирует много событий в результате телефонного звонка / веб-запроса / смс / электронной почты и т. Д., Каждое из этих событий должно быть в состоянии сохранять и быть доступным для отчетов (для MI / BI и т. Д.) Каждое из этих событий имеет много переменных и не соответствует какой-либо одной конкретной схеме.

Структура документа события представляет собой список пар ключ-значение (cdr = 1 & name = Paul & duration = 123 & postcode = l21). В настоящее время у нас есть система SQL Server, использующая динамически сгенерированные разреженные столбцы для хранения нашего (плоского) документа, у нас есть отчеты, которые работают с данными, по многим различным причинам, я смотрю на другие решения.

Я ищу предложения о системе (открытой или закрытой), которая позволяет нам выдвигать эти события (независимо от схемы) и предоставлять отчеты и аналитику поверх нее.

Я видел Пентахо и Джаспера, но большинство из них, похоже, подключаются к системе, чтобы извлечь из нее данные и затем сообщить о них. Я действительно хочу иметь возможность вставить документ и сделать его доступным для отчета.

Как бы я ни любил CouchDB, я ищу систему, которая позволяет отправлять данные и создавать отчеты без схемы (во многом как Pentaho, Jasper, SQL Reporting / Analytics Server и т. Д.)

Ответы [ 3 ]

3 голосов
/ 29 июня 2009

Я не думаю, что есть какая-либо СУБД, которая будет делать то, что вы хотите, и позволит использовать готовый инструмент отчетности. Аналитические системы с малой задержкой не быстры и просты в создании. Низкая задержка неструктурированных данных довольно амбициозна.

Вы должны будете сохранить данные в какой-то базе данных.

Я думаю, что вам, возможно, придется присмотреться к вашей проблемной области. Пытаетесь ли вы создавать аналитические отчеты с низкой задержкой или оперативный отчет, который побуждает к каким-либо действиям в бизнесе при возникновении определенных событий? Для систем с малой задержкой вы должны быть совершенно безжалостны в отношении того, что составляет операционную отчетность, а что составляет аналитику.

Редактировать: Обескуражить «потенциально оба» мышления, если бизнес не готовы платить. Инвестиционные банки и хедж-фонды тратят большие деньги и покупают суперкомпьютеры для проведения «аналитики в реальном времени». Это не тривиальное начинание. Это даже менее тривиально, когда вы пытаетесь создать такую ​​систему и собрать ее для больших простоев.

Даже в таких приложениях, как SMS-сервисы премиум-класса и .com-приложения, бизнес часто отступает, когда вы анализируете проблему в реалистичном объеме и по стоимости. Я не могу сказать этого достаточно. Будьте действительно, действительно безжалостными о требованиях в режиме реального времени.

Если бизнес действительно нуждается в аналитике в реальном времени, то вы можете создать гибридную архитектуру OLAP, в которой у вас есть шаг впереди в таблице фактов. Это архитектура, в которой таблица фактов или куб полностью индексируются для исторических данных, но имеют небольшой начальный раздел, который не индексируется и, следовательно, относительно быстро вставляет данные.

Аналитические запросы будут сканировать таблицы относительно небольших ведущих разделов данных и использовать более эффективные методы в других разделах. Это дает вам данные с низкой задержкой и возможность выполнять эффективные аналитические запросы к историческим данным.

Ночной запуск процесса, который переносится на новый ведущий раздел и консолидирует / индексирует предыдущий ведущий раздел.

Это хорошо работает, когда у вас есть такие элементы, как растровые индексы (в базах данных) или материализованные агрегаты (в кубах), которые стоят дорого для вставок. Ведущий раздел сравнительно небольшой и дешевый для сканирования таблиц, но эффективен для вставки. Процесс пролонгации постепенно объединяет этот ведущий раздел в индексированные исторические данные, что позволяет эффективно запрашивать его для отчетов.

Редактировать 2: Общие поля могут быть кандидатами для настройки в качестве измерений в таблице фактов (например, вызывающая сторона, время). Менее распространенными полями являются (предположительно) кодирование. Для эффективной схемы вы можете переместить необязательное кодирование в одно или несколько «ненужных» измерений. .

Вкратце, измерение мусора - это измерение, представляющее каждую существующую комбинацию двух или более кодов. Строка в таблице относится не к одному объекту системы, а к уникальной комбинации кодирования. Каждая строка в таблице измерений соответствует определенной комбинации, встречающейся в необработанных данных.

Чтобы иметь какое-либо аналитическое значение, вам все равно придется упорядочить данные таким образом, чтобы столбцы в измерении нежелательной почты содержали нечто постоянно значимое. Это восходит к некоторым требованиям работы, чтобы убедиться, что сопоставления из исходных данных имеют смысл. Вы можете иметь дело с элементами, которые не всегда записываются, используя значение заполнителя, например строку нулевой длины (''), которая, вероятно, лучше, чем нули.

0 голосов
/ 29 июня 2009

Теперь я думаю, что вижу основные требования. Это онлайн-приложение или опрос по телефону с пользовательскими опросами. Чтобы справиться с этим требованием, нужно предоставить аналитику клиенту. Ни один онлайн-инструмент не позволит вам изменить схему за 20 минут.

Я уже видел этот тип требований, и он сводится к тому, что клиент хочет получить некоторую статистику по конкретному опросу. Если вы можете дать им CSV на основе полей (т. Е. С именованными столбцами заголовков) в их конкретном опросе, они могут импортировать его в Excel и вывести его оттуда.

Этот должен быть довольно простым для реализации из настраиваемой системы онлайн-опросов, так как вы должны быть в состоянии прочитать конфигурацию опросов. Клиент будет рад, что он может поиграть со своими числами в Excel, поскольку ему не нужно разбираться со сторонним инструментом. Любой компетентный продавец-консультант должен быть способен донести это до клиента как за хорошую вещь. Вы можете использовать шпиль по линии «И вы можете использовать знакомые инструменты, такие как Excel, для анализа ваших чисел». (или SAS, если они так наклонены)

Оберните экспортер в веб-страницу, чтобы он мог загрузить ее и получить самые свежие данные.

Обратите внимание, что колеса отключатся, если у вас будет больше данных, чем 65535 респондентов на опрос, поскольку они не помещаются на вкладку электронной таблицы. В Excel 2007 этот предел увеличен до 1048575. Однако опросы с таким объемом ответов, вероятно, будут в меньшинстве. Одним из возможных путей решения этой проблемы является предоставление средств для получения случайных выборок данных, которые достаточно малы для работы в Excel.

Редактировать: Я не думаю, что есть другие решения, которые являются достаточно гибкими для этого типа приложений. Вы описали святой Грааль статистики опроса.

Я все еще думаю, что основная стратегия - дать им дамп данных. Вы можете предварительно упаковать его в некоторой степени, используя OLE-автоматизацию для создания сводной таблицы и доставки чего-то частично переваренного. API для сводных таблиц в Excel немного сложноват, но это, безусловно, вполне осуществимо. В прошлом я написал код VBA, который программно создает сводные таблицы, поэтому из личного опыта могу сказать, что это возможно.

Проблема становится немного более сложной, если вы хотите вычислить и сообщить о распределении (скажем) времени отклика при построении дисплеев. При необходимости вы можете программно построить сводные диаграммы, но автоматизировать построение отчетов с помощью Excel таким способом будет довольно трудоемко.

Вы можете получить некоторое преимущество от R ( www.r-project.org ), поскольку вы можете создать структуру, которая позволит вам импортировать данные и генерировать сделанные на заказ отчеты с небольшим количеством кода R. Это не инструмент для конечных пользователей, но ваша клиентская база звучит так, будто им все равно нужны постоянные отчеты.

0 голосов
/ 29 июня 2009

Являются ли эти системы без схем или просто схемы не определены? Часто ли меняются схемы?

...