В этом блоге будут рассмотрены всесторонне: (а) Что такое хранилище данных (b) Подходы к моделированию данных для хранилища данных (c) Хранилище данных на AWS и, наконец, (d) Хранилище данных для снижения операционной нагрузки с использованием управляемого сервиса. Давайте разберемся с точки зрения непрофессионала « » Что такое хранилище данных Согласно Википедии , хранилище данных (DW или DWH), также известное как хранилище корпоративных данных (EDW), представляет собой систему, используемую для отчетности и анализа данных, и считается основным компонентом . Хранилища данных — это центральные хранилища интегрированных данных из одного или нескольких разрозненных источников. Они хранят текущие и исторические данные в одном месте, которое используется для создания аналитических отчетов для работников всего предприятия. Это выгодно компаниям, поскольку позволяет им запрашивать данные, извлекать информацию из них и принимать решения. бизнес-аналитики Проще говоря, это искусство сбора, хранения и эффективного предоставления информации (бизнес-аналитики), помогающей бизнесу стать организацией, управляемой данными. В некотором смысле это еще одна база данных транзакций, оптимизированная для аналитических рабочих нагрузок. Согласно приведенной выше диаграмме, данные собираются из источника, преобразуются в зависимости от использования (ETL/ELT) и сохраняются в DWH/киоске данных и Insights, предоставляемых с помощью инструментов бизнес-аналитики. Во времена локальной настройки все выглядело просто, когда не существовало ELT (ETL vs ELT), Cloud DWH (AWS Redshift, Google Big Query, Snowflake, Databricks) и других решений для управления данными, которые в последнее время упрощались и масштабировались. радиус действия СХД. В этом блоге давайте разберем каждый аспект по одному. Для простоты давайте исходим из того, что не существует бесконечных вычислений и хранения и что транзакционная система не может эффективно обрабатывать аналитические запросы. Именно здесь требовался эффективный способ создания хранилища данных, оптимального по размеру хранилища, эффективно обрабатывающего аналитические запросы (нарезка/кубирование и т. д.) и обеспечивающего требуемую задержку. При этом возникли две теоретические модели проектирования : хранилища данных (a) Билл Инмон – подход «сверху вниз» (EDW) и (б) Ральф Кимбалл – подход «снизу вверх» (киоск данных). Подход Inmon заключается в централизованном построении в глобальном масштабе с учетом медленного построения, тогда как подход Кимбалла состоит в том, чтобы создать независимую витрину данных по отдельности и соединить ее позже. Не будем углубляться в то, какая модель лучше или какую выбрать. В моем случае, если коротко, обе модели работают, и это полностью зависит от варианта использования и зрелости организации. Еще одним ключевым моментом в этом дизайне является «Представление данных», размерное моделирование с использованием схемы «звезда», схемы «снежинка» или гибрида «звезда» и «снежинка», что является ключевым моментом для более быстрых запросов и размерности. Единственный важный вывод: несмотря на бесконечную логистику, хороший дизайн хранилища данных может решить многомерную проблему. Так что лучше не игнорировать это. Следующим шагом в является выбор платформы, которая может варьироваться от локальной (Teradata, IBM DB2, Oracle и т. д.) до облачного хранилища данных (Snowflake, Redshift, BigQuery и т. д.). Создание традиционного хранилища данных является сложной задачей, а постоянное управление и обслуживание могут быть сложными и дорогостоящими. В следующем разделе мы углубимся в то, как строить с помощью AWS Redshift (нет споров, лучше локальное хранилище или облако, или какое облачное хранилище данных лучше). создании хранилища данных Amazon Redshift — это полностью управляемое хранилище данных корпоративного уровня в петабайтном масштабе, обеспечивающее исключительную производительность для аналитических запросов, простое в использовании и экономически эффективное. Amazon Redshift снижает операционные накладные расходы, необходимые для традиционных хранилищ данных, за счет автоматизации таких задач, как установка исправлений, резервное копирование и подготовка оборудования. Вы можете настроить кластер Amazon Redshift, где вы сможете настроить инфраструктуру и базовые показатели производительности для своего хранилища данных. Amazon Redshift также предоставляет настройки Redshift Spectrum, Datashare, Redshift ML и Serverless, которые позволяют использовать кластер Amazon Redshift за пределами хранилища DWH. Путь к настройке, Определите, какие сервисы использовать для сбора данных (AWS DMS, DynamoDB, EMR, Glue, Kinesis, S3, SSH Host и т. д.) Определите способ взаимодействия (инструменты анализа запросов и интерфейсы управления) Понимать архитектуру Redshift MPP (распределенная, без общего доступа) Запустите кластер (DC2, DS2 или RA3) с необходимым размером данных, ростом, узлом и производительностью запросов. Разработайте схему базы данных в соответствии с вариантом использования или реализацией хранилища данных с необходимым типом данных, типом схемы, сжатием, буфером, кодированием. Загрузка данных с помощью COPY для разных типов файлов, INSERT для минимального изменения и ANALYZE & VACUUM для обслуживания. Выполните оптимизацию запросов и повышение производительности. Используйте S3 с использованием Spectrum для внешней таблицы и общего доступа к данным для нулевого копирования. Используйте Redshift ML для получения более глубокой информации Используйте инструменты AWS Quicksight для BI, чтобы получить ценную информацию. На данный момент имеет смысл использовать Cloud DWH, но ? На изображении ниже показано, как озера данных и хранилища данных работают вместе. AWS RDS служит источником данных, обеспечивая экономичное и надежное решение, которое передается в . Затем данные преобразуются с помощью процессов ETL и передаются в Redshift. Дополнительные сервисы AWS, такие как Athena, Glue, Spectrum, Lake Formation и другие, играют решающую роль в устранении разрыва и создании комплексного решения для обработки данных. как это вписывается в общую схему решения DWH + Data Lake/Managed Services for Data Amazon S3 В заключение, в этом блоге рассматриваются основы хранилища данных, углубляется в подход к реализации как теоретически, так и с акцентом на технологический стек. Мы также получили общее представление о том, как оно легко интегрируется в более широкий спектр решений для обработки данных.