Подтвердить что ты не робот

Вопросы хранения данных: когда и почему?

Немного фона здесь:

Я знаю то, что хранилище данных, более или менее. Я прочитал несколько десятков руководств по хранилищу данных, я играл с SSAS, я знаю, что такое звездная схема, таблица измерений и таблица фактов, я знаю, что такое ETL и как это сделать. Это не вопрос "как" или запрос на учебники.

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

Итак, я надеюсь, что члены SO могут указать мне или помочь придумать какой-то полуобъективный тест. Что-то, что я могу приспособить к конкретной системе и в итоге "да, нам нужен хранилище данных" или "нет", сегодня выигрыш будет слишком мал ". Я думаю, что конкретные вопросы, на которые я должен ответить, следующие:

  • В какой момент строится хранилище данных, стоит рассмотреть вопрос? Другими словами, какие контрольные признаки, метрики или другие критерии следует искать, это может указывать на то, что стандартной транзакционной среды уже недостаточно?

  • Каковы альтернативы полнофункциональному хранилищу данных? Денормализацией в транзакционной базе данных и реплицируемым "сервером отчетов" является два, которые приходят на ум; есть ли какие-либо другие, которые я должен изучить, прежде чем совершать DW?

  • Почему хранилище данных лучше, чем упомянутые альтернативы? Если ответ "зависит от", то от чего он зависит?

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

  • Есть ли какие-либо практические примеры, которые я мог бы рассмотреть в отношении систем, которые были улучшены путем внедрения хранилища данных? Что-то, что объяснило бы мне, сквозные, какие решения или анализ им нужен был на складе, как они решили, что в него положить, и как склад оказался в более крупной среде? Я не хочу надуманного "позволить сделать куб из базы данных AdventureWorks" - реализация не имеет отношения ко мне, меня интересуют спецификации и конструкции и общий процесс мышления, которые были задействованы.

Обычно я стараюсь не спрашивать многочастников, но я думаю, что все они очень тесно связаны. Я готов принять любой ответ, который затрагивает, по крайней мере, первые 4 вопроса, хотя последнее действительно помогло бы кристаллизовать это в моем сознании. Ссылки хороши, если кто-то уже писал об этом, если они достаточно кратки и конкретны (ссылка на домашнюю страницу Ральфа Кимбалла = не полезно).

Надеюсь, что я поставил вопрос ясно - заблаговременно за ваши ответы!

4b9b3361

Ответ 1

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

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

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

б. Если вы обнаружите, что получение ответов на ваши деловые вопросы требует создания много сложного SQL каждый раз.

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

д. Если вы хотите объединить данные из нескольких источников.

2. Каковы альтернативы полнофункциональному хранилищу данных? Денормализация в транзакционном базы данных и стандартного болота реплицированный "сервер отчетов" - два которые приходят на ум; есть ли какие-либо другим я должен исследовать переходя к DW?

3. Почему хранилище данных лучше, чем упомянутые альтернативы? Если ответ будет, "это зависит", то чем это зависит на?

Я отвечу на них вместе. Я бы не подумал о хранилище данных как о том или ином бизнесе. Это просто краткая фраза, которая означает "хранение ваших данных таким образом, чтобы вы могли более легко и быстро отвечать на бизнес-вопросы".

Транзакционные базы данных предназначены для эффективного взаимодействия с приложениями. Хранилища данных, витрины данных, хранилища операционных данных и таблицы отчетов созданы для эффективного взаимодействия с людьми, если это имеет смысл.

4. Когда я не должен пытаться построить хранилище данных? Я скептически отношусь к все, что объявлено как "лучшая практика", независимо от контекста. Конечно, там должны быть некоторые сценарии, где DW неправильный выбор - какие они?

Хороший вопрос. Если ваша транзакционная система предоставляет вам достаточное представление о вашем бизнесе, у вас, вероятно, нет необходимости в складировании.

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

5. Существуют ли какие-либо практические примеры, которые я мог бы рассмотреть в системах, которые были улучшено путем введения данных склад? Что-то, что объясните мне, от конца до конца, какие виды необходимых им решений или анализа на складе, как они решили что положить в нее, и как склад попал в большая окружающая среда? Я не хочу, чтобы надуманный ", пусть куб из база данных AdventureWorks" - реализация для меня не имеет значения, Меня интересуют спецификации и дизайн и общая мысль которые были задействованы.

Это большой вопрос, который займет гораздо больше места, чем я здесь.

В этом случае я могу указать вам несколько мест, которые могли бы обеспечить прозрение, которое вы ищете.

  • "Реализация хранилища данных: методология, которая работала" Брюсом Ульри, - это книга, в которой описывается одностороннее путешествие к созданию хранилища данных. Он не очень полируется, что придает ему больше реализма. Он читается как журнал с большим количеством моделей и других визуальных эффектов, которые хорошо иллюстрируют его усилия.
  • "Дорожная карта бизнес-аналитики" Ларисы Мосс. Стандартная цена. Проводит вас через процесс построения практики BI на высоком уровне.
  • "Влияние прибыли бизнес-аналитики" Стив Уильямс дает ряд тематических исследований, которые показывают ценность создания хранилищ данных.

Ответ 2

  • Основная цель DW - ускорить (упростить) отчетность и аналитику. Он позволяет разрезать и нарезать данные любым способом, о котором может подумать бизнес-пользователь.

  • Для первого шага DW вы можете просто реализовать схему звезд Kimball и запустить SQL-запросы против него. Если это окажется слишком медленным, начните думать о заранее рассчитанных агрегатах (кубах).

  • Нарезка и обработка информации против DW проще, чем против нормализованной БД. Сервер реплицированного отчета повысит производительность, но не упростит нарезку и обработку. Также имейте в виду, что DW принадлежит бизнес-пользователям, поэтому в любой момент они могут придумать различные идеи для кусочков/кубиков - ИТ-люди должны просто предоставить среду, в которой возможно что-то подобное.

  • Если вы просто время от времени запускаете несколько отчетов в своей операционной системе и удовлетворены производительностью, нет необходимости в DW.

  • Весь мой опыт связан с системами, в которых бизнес-пользователи бесконечно жалуются на медленные отчеты и неспособность писать "сложные запросы", в то время как производственные люди жалуются, что база данных увязла из-за отчетности. Во всех случаях достаточно хорошая звезда Kimball и сервер отчетов с кешем и моментальными снимками.

Ответ 3

  • Вам следует подумать о создании хранилища данных, когда соответствуют два из следующих критериев:

    • Огромный объем данных
    • Много больших комплексных выбирает (возможно, по сравнению с несколькими вставками, обновлениями и удалениями), которые просто занимают много времени для выполнения (и заполняются для записи)
    • Данные из разных систем должны быть объединены.
  • Это действительно вопрос, что вы считаете хранилищем данных. Во многих случаях вы можете постепенно переходить от OLTP-систем с некоторыми отчетами к полномасштабному хранилищу данных, если вы можете придерживаться системы управления реляционными базами данных. Сначала можно было создать первую таблицу фактов и продолжать использовать нормализованные таблицы для измерения. Затем добавьте больше фактов, больше таблиц фактов или выделенных таблиц измерений в игру. Сначала в одной базе данных (или в одной из баз данных задействованных систем), возможно, позже перейдем в отдельную базу данных.

  • Полный набор данных (отдельная база данных, звездная схема) предлагает наилучшие варианты для настройки операторов выбора, от перехода к специализированной системе. Он также полностью отделен от системы (ов) oLTP. Подумайте о схеме, но также о ресурсах, таких как процессор, ввод-вывод и память и организационные функции, например, планирование новых выпусков. Конечно, это большая работа, которая вам не нужна.

  • В ответах выше: только потому, что у вас есть несколько сложных запросов, это не значит, что вы должны создать DWH, то же самое верно для других критериев, если они будут изолированы.

    /li >
  • Нельзя предлагать много здесь, но совет: идти проворно. Требования к DWH зависят от возможностей пользователей. Там требования, скорее всего, изменятся. Автоматизация тестов с базами данных - это боль, но худеть в производственной системе без надлежащих тестов хуже.

Ответ 4

В какой момент строится хранилище данных, стоит рассмотреть вопрос? Другими словами, какие контрольные признаки, метрики или другие критерии следует искать, это может указывать на то, что стандартной транзакционной среды уже недостаточно?

Я бы рекомендовал хранилище данных, когда вы заметили, что выполнение отчетов и аналитических операций в хранилище транзакционных данных вредно для обоих.

Каковы альтернативы полнофункциональному хранилищу данных? Денормализацией в транзакционной базе данных и реплицируемым "сервером отчетов" является два, которые приходят на ум; есть ли другие, которые я должен исследовать, прежде чем совершать DW?

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

Почему хранилище данных лучше, чем упомянутые альтернативы? Если ответ "зависит", то от чего он зависит?

Мне здесь нечего предлагать.

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

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

Есть ли какие-либо практические примеры, которые я мог бы рассмотреть в отношении систем, которые были улучшены путем внедрения хранилища данных? Что-то, что объяснило бы мне, сквозные, какие решения или анализ им нужен был на складе, как они решили, что в него положить, и как склад оказался в более крупной среде? Я не хочу надуманного "позволить сделать куб из базы данных AdventureWorks" - реализация не имеет отношения ко мне, меня интересуют спецификации и проекты и общий процесс мышления, которые были задействованы.

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

Ответ 5

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

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

Ответ 6

DW можно было бы рассмотреть, если вы используете "Транзакционную систему" ​​из длительного периода. Позже они понимают, что им нужно выполнить некоторую интеллектуальную обработку данных, чтобы определить различные модели данных для бизнеса. И, наконец, с помощью определенных шаблонов данных человек хочет помочь топ-менеджменту принять дальнейшие решения в интересах компании.

Следующие шаги необходимо предпринять для создания хранилища данных:

  • Для базы данных необходимо определить платформу и базу данных ETL.
  • Для визуализации необходимо выбрать инструмент отчетности, такой как SSRS, Tableau и т.д.
  • Можно использовать язык данных Data Analytical, например R, для дальнейшего использования.
  • Наконец, все это поможет в разработке хранилища данных и средства отчетности.

Ответ 7

"Я думаю, почему некоторые проекты терпят неудачу?"

Существует пять основных причин:

  • отсутствие партнерства между ИТ-отделом и бизнес-пользователями;
  • некорректная архитектура хранилища данных;
  • недостаточно опытных людей;
  • неправильное планирование, например, отказ от использования проверенной методологии и план обеспечения того, чтобы никакие детали не были опущены;
  • и в зависимости от технологии перелива.