Как собирать данные из SQL Server 2005 - PullRequest
3 голосов
/ 27 августа 2008

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

Идея состоит в том, чтобы иметь агрегированное представление всех наших транзакций и иметь что-то, что может указывать на то, что что-то не так (например, мы отправляем на 20% меньше статей, чем в среднем).

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

Как вы думаете, это правильная идея? Должен ли я пропустить SSAS и иметь отчеты прямо на необработанных данных? Я знаю, как использовать службы отчетов для необработанных данных с использованием стандартных запросов SQL, но как это изменится при запросах SSAS? Я не знаю SSAS - с чего мне начать ..?

Ответы [ 5 ]

2 голосов
/ 27 августа 2008

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

Я начал с Предоставление бизнес-аналитики с Microsoft SQL Server 2005 . В нем было хорошее введение, но, к сожалению, оно слишком многословно, когда речь заходит о деталях. Но если вы хотите понять SSAS, OLAP и отчетность с использованием этой платформы, это хорошее начало.

У Моши Пасуманского есть блог по SSAS и MDX с отличными ссылками .

Кроме этого, я бы порекомендовал Microsoft Online книги.

1 голос
/ 27 августа 2008

Вы уверены, что не смешиваете SSAS (службы Analysis Services) и SSIS (службы интеграции)?

SSAS - это не ETL, это инструмент OLAP.

SSIS - это инструмент ETL.

Я согласен со всем, что сказала Роуэн. Я просто смущен условиями.

0 голосов
/ 02 мая 2012

@ Рири, может быть, SSAS излишне из-за ситуации, которую вы представили. Если вам нужно только ежедневно заполнять таблицы суммирования, вы можете сделать это, создав обычную JOB в SQL Server и выполнив ее в обычном сценарии T-SQL.

Я использовал этот подход в течение нескольких лет в ежедневном процессе для расчета бизнес-показателей из примерно 9 ГБ новых данных / день. Это работает, это быстро, просто и использует технологию, к которой вы уже привыкли. Если ваш ежедневный процесс усложняется (требуется чтение из файлов, использование FTP, отправка электронной почты), вы можете перейти к пакету SSIS (или любому другому инструменту ETL, который вам нравится), но я не могу рекомендовать использовать SSAS, если вам не требуется предоставить OLAP возможности для ваших пользователей.

0 голосов
/ 27 августа 2008

@ Серхио и @ Роуэн

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

0 голосов
/ 27 августа 2008

SSAS - это инструмент ETL . По сути, вы берете данные откуда-то (ваши исходящие статьи), что-то с ними делаете (агрегируете) и помещаете их куда-то еще (ваша таблица агрегатов, хранилище данных и т. Д.). Проверьте ссылку для деталей.

Вероятно, вы не будете хранить все строки в БД в течение неопределенного времени, и если вы хотите иметь возможность сообщать о более длинных тенденциях, которые вам в любом случае понадобятся для агрегирования исторических данных. Поэтому создание отчетов использует это историческое хранилище данных, поскольку их источник имеет смысл. Затем вы можете использовать его для создания всевозможных необычных отчетов.

TL; DR: определите вашу сводную таблицу истории с учетом ваших будущих потребностей в отчетности. Используйте SSAS для заполнения таблицы и обновления ее из ежедневных обновлений. Отчет из этой таблицы. Дополнительная информация: Схемы звезды и хранилище данных.

...