Соображения хранилища данных: когда и почему?

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

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

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

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

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

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

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

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

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

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

Надежда я ясно дал понять вопрос - заранее спасибо за Ваши ответы!

48
задан Aaronaught 2 January 2010 в 19:44
поделиться

5 ответов

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • "Реализация Хранилища Данных": Методология, которая сработала" Брюса Уллри - это книга, документирующая путь одного человека к построению хранилища данных. Она не сильно отполирована, что придает ей больше реализма. Она читается как журнал с множеством моделей и другими визуальными эффектами, которые довольно хорошо иллюстрируют его усилия
  • "Дорожная карта бизнес-разведки" Ларисы Мосс. Стандартный тариф. Рассказывает о процессе построения BI-практики на высоком уровне
  • "Влияние бизнес-аналитики на прибыль" Стива Уильямса дает ряд тематических исследований, которые показывают ценность построения хранилищ данных.
43
ответ дан 26 November 2019 в 19:02
поделиться
  1. Основное назначение DW - ускорение (упрощение) отчетности и аналитики. Она позволяет нарезать и обработать данные кубиками любым способом, который может прийти в голову бизнес-пользователю.

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

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

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

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

6
ответ дан 26 November 2019 в 19:02
поделиться
  1. Вам следует рассмотреть возможность создания хранилища данных, когда два из следующих критериев совпадают:

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

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

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

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

3
ответ дан 26 November 2019 в 19:02
поделиться

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

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

2
ответ дан 26 November 2019 в 19:02
поделиться

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

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

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

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

Почему хранилище данных лучше указанных альтернатив? Если ответ - «это зависит», то от чего это зависит?

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

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

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

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

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

2
ответ дан 26 November 2019 в 19:02
поделиться
Другие вопросы по тегам:

Похожие вопросы: