Одна статья поможет вам понять количество складов за секунды

база данных
Одна статья поможет вам понять количество складов за секунды

Это второй день моего участия в Gengwen Challenge.Подробности мероприятия смотрите:Обновить вызов

Учитесь понемногу каждый день и немного совершенствуйтесь!

1. Что такое хранилище данных?

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

2. Что может хранилище данных?

1) Компания устанавливает годовой план продаж, но мы не можем принимать решения на основе руководителя, и мы должны принимать решения на основе исторических отчетов;

2) Как оптимизировать бизнес-процесс, который также требует помощи хранилища данных; например, следующий пример иллюстрирует: выполнение заказа на веб-сайте электронной коммерции включает в себя: просмотр, заказ, оплату, логистику и логистическую связь. может быть связано с Zhongtong, Shentong, Yunda и другими курьерскими компаниями. Каждый раз, когда курьерская компания доставляет заказ, будет время подтверждения доставки заказа.Вы можете проанализировать, какая курьерская компания быстрее и эффективнее в зависимости от времени доставки заказа, чтобы выбрать, с какими курьерскими компаниями сотрудничать , какие курьерские компании исключить, и повысить удобство использования.

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

3. Особенности хранилища данных

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

Особенность 2: интегрированный, сбор данных из разных источников данных в один и тот же источник данных, в этом процессе будут некоторые операции ETL.

Функция 3: по мере изменения времени ключевые данные меняются неявно или явно в зависимости от времени.

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

4. История развития хранилища данных

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

1. Этап простого отчета

Цель этого этапа очень проста: подготовить отчеты и помочь в принятии решений. На этом этапе создаются отчеты, которые необходимы деловым людям в их повседневной работе, и простые сводные данные, необходимые руководителям для принятия решений. Большинство окончательных выходных выражений этого этапа — это базы данных и интерфейсные инструменты отчетности.

2. Этап витрины данных

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

3. Этап хранилища данных

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

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

5. Разница между базой данных и хранилищем данных

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

1. Программное обеспечение базы данных

Это видимое и работоспособное прикладное программное обеспечение физического уровня для реализации логических функций базы данных. Распространенными являются: Orcale, MySQL, Redis, MongoDB и т. д. Как правило, мы используем визуальные операционные программные средства, такие как Navicat, DBeaver и им подобные.

2. База данных

Это логическая концепция, используемая для хранения данных в хранилище. Это реализовано с помощью программного обеспечения базы данных. База данных состоит из множества таблиц, таблица двумерная, и таблица может иметь много полей. Поля выстраиваются в ряд, и соответствующие данные записываются в таблицу построчно. Таблица базы данных способна выражать многомерные отношения в двух измерениях. Наиболее популярными базами данных на рынке сегодня являются двумерные базы данных. Такие как: Oracle, DB2, MySQL и т.д.

3. Хранилище данных

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

В системе ИТ-архитектуры база данных должна существовать. Должно быть место для хранения данных. Например, данные о заказах, связанных с онлайн-покупками, Taobao, Jingdong и т. д., теперь хранятся в фоновой базе данных.В реальной производственной среде база данных используется для хранения данных, но любой бизнес связан с базой данных.

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

6. Разница между OLTP и OLAP

Разница между базой данных и хранилищем данных на самом деле является разницей между OLTP и OLAP.

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

2. Аналитическая обработка: OLAP (оперативная аналитическая обработка) обычно анализирует исторические данные по определенным темам, поддерживает управленческие решения и данные ETL (извлечение-преобразование-загрузка).

Результаты сравнения OLTP и OLAP показаны в следующей таблице:

图片

7. Многоуровневая архитектура хранилища данных (выделено)

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

1. Архитектура хранилища данных

Стандарты хранилища данных можно разделить на четыре уровня: ODS (уровень временного хранения), DW (уровень хранилища данных), DM (уровень киоска данных), APP (уровень приложений). Общая система архитектуры хранилища данных показана в конце этого раздела Давайте поговорим о том, что делает каждый уровень.

1) уровень ODS

Уровень временного хранения — это область временного хранения данных интерфейса для подготовки к следующему шагу обработки данных. Вообще говоря, данные слоя ODS и данные исходной системы изоморфны, и основная цель состоит в том, чтобы упростить работу по последующей обработке данных. С точки зрения степени детализации данных степень детализации данных уровня ODS является наименьшей. Таблица уровня ODS обычно включает две категории: одна используется для хранения данных, которые необходимо загрузить в данный момент, а другая используется для хранения обработанных исторических данных. Исторические данные обычно хранятся в течение 3–6 месяцев, и их необходимо очищать для экономии места. Однако к разным проектам нужно относиться по-разному, если объем данных в исходной системе невелик, то их можно хранить дольше или даже в полном объеме. **

2) слой ХД

Для уровня хранилища данных данные в слое DW должны быть непротиворечивыми, точными и чистыми, то есть данные после очистки (удаления примесей) из данных исходной системы. Данные на этом уровне обычно соответствуют третьей нормальной форме базы данных, а степень детализации данных обычно такая же, как и в ODS. В слое DW будут сохранены все исторические данные в системе BI, например, данные за 10 лет. **

3) уровень DM

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

4) Слой приложения

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

2. Зачем многоуровневое хранилище данных?

Существует три основных причины многоуровневого хранилища данных:

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

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

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

图片

Схема общей архитектуры BI

图片

8. Введение в метаданные

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

1. Определение метаданных

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

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

2. Как хранить метаданные

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

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

3. Роль метаданных

В хранилище данных основные функции метаданных заключаются в следующем:
1) Опишите, какие данные находятся в хранилище данных, чтобы помочь аналитикам найти содержимое хранилища данных.
2) Определите, как данные поступают в хранилище данных, в качестве руководства для агрегации, сопоставления и очистки данных.
3) Запишите график работы по извлечению данных, который следует за возникновением бизнес-событий.
4) Запишите и протестируйте требования и реализацию согласованности системных данных. 5) Оценить качество данных
Метаданные не только определяют режим, источник, правила извлечения и преобразования данных в хранилище данных, но и являются основой для работы всего хранилища данных.Метаданные связывают различные разрозненные компоненты в системе хранилища данных и образуют органическое целое как показано на рисунке ниже.

图片

9. Схема звезды и схема снежинки

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

  1. звездная схема

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

图片

Схема звезда является неформальной структурой.Каждое измерение куба напрямую связано с таблицей фактов.Градиентного измерения нет,поэтому данные имеют определенную избыточность.Например,в таблице регионального измерения есть страна А.Есть две записи города C в провинции B и города D в стране A и провинции B, то информация о стране A и провинции B сохраняется дважды соответственно, то есть возникает избыточность.

  1. модель снежинки

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

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

图片

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

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

  1. Схема звезды против схемы снежинки

Схема «звезда» и схема «снежинка» — это два метода, обычно используемые в хранилищах данных, и их сравнение будет обсуждаться с четырех точек зрения.

1) Оптимизация данных: в модели «снежинка» используются нормализованные данные, что означает, что данные организованы внутри базы данных для устранения избыточности, что позволяет эффективно уменьшить объем данных. Благодаря ссылочной целостности его бизнес-иерархия и измерения сохраняются в модели данных. Напротив, в звездных схемах используются денормализованные данные. В звездообразной схеме измерения ссылаются непосредственно на таблицы фактов, а бизнес-иерархии не развертываются за счет ссылочной целостности между измерениями.

2) Бизнес-модель. В модели «снежинка» бизнес-уровень модели данных представлен отношением между первичным и внешним ключами различных таблиц измерений. В то время как в звездообразной схеме все необходимые таблицы измерений имеют только внешние ключи в таблице фактов

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

4) ETL: модель Snowflake загружает витрины данных, поэтому операции ETL имеют более сложный дизайн и не могут быть распараллелены из-за ограничений аффилированных моделей. Звездообразная модель загружает таблицы измерений без добавления вспомогательных моделей между измерениями, поэтому ETL относительно прост и может обеспечить высокую степень распараллеливания.

Резюме: модель «снежинка» упрощает многомерный анализ, например, какие клиенты или компании находятся в сети для конкретного рекламодателя? Модель «звезда» больше подходит для метрического анализа, например, каков доход данного клиента?* *

Для получения более интересного контента отсканируйте и обратите внимание на общедоступный номер: Сяо Хань отвезет вас учиться

公众号-xhxcdnx.jpg