Руководство По Материализованным Представлениям

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

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

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

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

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

В любом случае, что такое материализованный взгляд?

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

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

Зачем использовать материализованный вид?

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

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

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

Как создать материализованное представление

Создание материализованного представления варьируется от системы к системе, но обычно включает в себя некоторую версию команды «СОЗДАТЬ», часто «СОЗДАТЬ МАТЕРИАЛИЗОВАННОЕ ПРЕДСТАВЛЕНИЕ». Просто, верно? Оттуда просто вставьте базовый запрос и извлеките свои результаты. Система создаст и сохранит объект базы данных, обновляя данные по заданному вами расписанию.

Но на что это похоже? Хотя разные базы данных имеют разный синтаксис для SQL, вот пример кода, который вы можете использовать, чтобы начать создавать собственное материализованное представление на основе данных SalesForce.

Создание материализованного представления SQL server

Чтобы создать материализованное представление в SQL, начните с этого кода.

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

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

Крис Мейер является менеджером по аналитической инженерии в Sisense и может похвастаться 8 годами работы в области данных и аналитики, проработав в Ernst & Young и Soldsie. Он увлечен созданием современных стеков данных, которые открывают возможности для трансформации бизнеса.

Подпишитесь на Наш блог

Зарегистрируйтесь, чтобы получать последние новости и разработки в области бизнес-аналитики, анализа данных и Sisense.

https://www.sisense.com/blog/a-guide-to-materialized-views/

Ссылка на основную публикацию