Материалист | это… Что такое Материалист?
Материали́зм (от лат. materialis — вещественный) — философское мировоззрение, в соответствии с которым материя (объективная реальность) является онтологически первичным началом (причиной, условием, ограничением), а идеальное (понятия, воля, дух и тому подобное) — вторичным (результатом, следствием).
В вечном споре материализм представляет собой противовес идеализму.
Для материализма характерна опора на науку, доказательность и проверяемость утверждений. Однако нужно учитывать, что следствием применения критерия Поппера к философскому всеобъемлющему понятию является невозможность научными методами ни опровергнуть материализм, ни строго доказать его. Наука неоднократно опровергала идеалистические взгляды. Например, биологическая эволюция опровергла идеалистические представления о разумном («по образу и подобию», с целью, по замыслу) сотворении человека и других живых организмов.[1] Не менее часто опровергались и материалистические идеи — ушли в прошлое геоцентрическая система мира, теплород.
Содержание
|
История материализма
Развитие материализма можно проследить во всей истории западной мысли от самого её возникновения и встретить повсюду в истории философии.
В античности еще Фалес Милетский считал, что все возникает из воды и в неё превращается. Наиболее последовательно проводили материалистическую линию Левкипп, Демокрит, Эпикур и Лукреций Кар. Для античного материализма, особенно для Эпикура, характерен упор на личное самосовершенствование человека: освобождение его от страха перед богами, от всех страстей и приобретение способности быть счастливым в любых обстоятельствах.
В современном смысле материализм зарождается начиная с работ Томаса Гоббса. Бурного расцвета материализм достигает в эпоху французского Просвещения (Ж. Ламетри, П. Гольбах, Д. Дидро), но он в этот период остаётся механистическим и редукционистским (то есть склонён отрицать специфику сложного, сводя его к простому). Определяющее влияние на европейскую философию он приобретает в XIX веке (К. Маркс, Ф. Энгельс, Л. А. Фейербах, Д. Ф. Штраус, Я. Молешотт, К. Фогт, Л. Бюхнер, Э. Геккель, Е. Дюринг).
Соединение гегелевской диалектики и материализма началось почти одновременно в России (А. И. Герцен, Н. Г. Чернышевский и другие) и в Западной Европе (Маркс, Энгельс). Диалектический материализм Маркса и Энгельса, в отличие от всех остальных видов материализма, не сводит материю только к веществу. Материя охватывает и физические поля, и происходящие процессы. С учётом накопленных естествознанием знаний, Ленин дал новое определение: материя — это «…философская категория для обозначения объективной реальности, которая дана человеку в ощущениях его, которая копируется, фотографируется, отображается нашими ощущениями, существуя независимо от них» (Ленин В.
Исторический материализм. Долгое время считалось, что ход истории обусловлен лишь субъективной волей и поступками руководителей и не имеет отдельной самостоятельной объективной направленности. Гегель в своей работе «Философия истории» предположил, что в основе исторического процесса лежит саморазвивающееся идеальное начало, высшая идея, которая становится объективной необходимостью для всех остальных. Исторический материализм окончательно отбросил опору на идеализм. Маркс считал, что причиной и движущей силой исторического развития являются внутренние противоречия в производственной сфере, которые с развитием общества приобретают форму классовой борьбы. Эта причина объективна и, фактически, не зависит от конкретных людей, участвующих в исторических процессах.
Влиятельные современные теории
В XX веке в западной философии материализм развивался в основном как механистический, но у ряда западных философов-материалистов сохранялся и интерес к диалектике.
В отличие от античного материализма, материализм сейчас уделяет много внимания духовному развитию человека.
К материализму часто относят натурализм, поскольку он не отводит человеку особого места в природе; эмпиризм, который расценивает как реальное только то, что может быть воспринято посредством естественно-научных методов; неопозитивизм, с самого начала отклоняющий объяснение духовно-душевной сущности дел. Однако позитивизм и неопозитивизм материализмом всё же назвать нельзя, потому что он отвергает саму постановку вопроса о самостоятельном существовании какого-либо бытия вне познающего мышления; считает возможным только анализ ощущений и систематизирующего их языка. Отчасти материалистична также философия Б. Рассела и его школы: хотя Рассел и отрицает понятие субстанции, мышление он считает классом событий в мозгу человека.
Материализм конца XX и начала XXI века представлен философским направлением «онтологической философии», лидером которого является американский философ Барри Смит. Философский материализм именно потому можно назвать самостоятельным направлением философии, что он разрешает ряд проблем, постановка которых исключена другими направлениями философского познания, см.Метод познания современного философского материализма
Еще одной в принципе продолжающей и в какой-то мере расширяющей материалистическое представление концепцией можно назвать принцип «Семантического экстернализма», в котором содержание высказывания объясняется как «внешне обусловленное».
См. также
Постматериализм
Ссылки
- Ю.И. Семенов. МАТЕРИАЛИСТИЧЕСКОЕ ПОНИМАНИЕ ИСТОРИИ: «ЗА» И «ПРОТИВ»
- Ю.И. Семенов. Материалистическое понимание истории: недавнее прошлое, настоящее, будущее
- Ю.И. Семёнов. История (историология) как строгая наука
- «Библиотека материалиста» сайт А.С.Хоцей
Примечания
- ↑ Опасность креационизма для образования. Резолюция № 1580 (2007) Парламентской ассамблеи Совета Европы: «Совет Европы придает большое значение важности преподавания культуры и религии.
Во имя свободы слова и личных убеждений идеи креационизма, как и всякое другое теологическое положение, вполне могут быть представлены в качестве дополнения к культурному и религиозному образованию, но они не могут претендовать на признание их научными.»
Материалист | это… Что такое Материалист?
Материали́зм (от лат. materialis — вещественный) — философское мировоззрение, в соответствии с которым материя (объективная реальность) является онтологически первичным началом (причиной, условием, ограничением), а идеальное (понятия, воля, дух и тому подобное) — вторичным (результатом, следствием).
В вечном споре материализм представляет собой противовес идеализму.
Для материализма характерна опора на науку, доказательность и проверяемость утверждений. Однако нужно учитывать, что следствием применения критерия Поппера к философскому всеобъемлющему понятию является невозможность научными методами ни опровергнуть материализм, ни строго доказать его.
Наука неоднократно опровергала идеалистические взгляды. Например, биологическая эволюция опровергла идеалистические представления о разумном («по образу и подобию», с целью, по замыслу) сотворении человека и других живых организмов.[1] Не менее часто опровергались и материалистические идеи — ушли в прошлое геоцентрическая система мира, теплород. Разница лишь в том, что материалистические теории заменяются новыми материалистическими взглядами, в то время как идеалистическим теориям не всегда на смену приходит новая идеалистическая концепция, иногда их сменяют материалистические подходы.Содержание
|
История материализма
Развитие материализма можно проследить во всей истории западной мысли от самого её возникновения и встретить повсюду в истории философии.
В античности еще Фалес Милетский считал, что все возникает из воды и в неё превращается. Наиболее последовательно проводили материалистическую линию Левкипп, Демокрит, Эпикур и Лукреций Кар. Для античного материализма, особенно для Эпикура, характерен упор на личное самосовершенствование человека: освобождение его от страха перед богами, от всех страстей и приобретение способности быть счастливым в любых обстоятельствах.
В современном смысле материализм зарождается начиная с работ Томаса Гоббса. Бурного расцвета материализм достигает в эпоху французского Просвещения (Ж. Ламетри, П. Гольбах, Д. Дидро), но он в этот период остаётся механистическим и редукционистским (то есть склонён отрицать специфику сложного, сводя его к простому). Определяющее влияние на европейскую философию он приобретает в XIX веке (К. Маркс, Ф. Энгельс, Л. А. Фейербах, Д. Ф. Штраус, Я. Молешотт, К. Фогт, Л. Бюхнер, Э. Геккель, Е. Дюринг).
Соединение гегелевской диалектики и материализма началось почти одновременно в России (А. И. Герцен, Н. Г. Чернышевский и другие) и в Западной Европе (Маркс, Энгельс). Диалектический материализм Маркса и Энгельса, в отличие от всех остальных видов материализма, не сводит материю только к веществу. Материя охватывает и физические поля, и происходящие процессы. С учётом накопленных естествознанием знаний, Ленин дал новое определение: материя — это «…философская категория для обозначения объективной реальности, которая дана человеку в ощущениях его, которая копируется, фотографируется, отображается нашими ощущениями, существуя независимо от них» (Ленин В. И. Полное собрание сочинений, том 18, стр. 131).
Исторический материализм. Долгое время считалось, что ход истории обусловлен лишь субъективной волей и поступками руководителей и не имеет отдельной самостоятельной объективной направленности. Гегель в своей работе «Философия истории» предположил, что в основе исторического процесса лежит саморазвивающееся идеальное начало, высшая идея, которая становится объективной необходимостью для всех остальных.
Влиятельные современные теории
В XX веке в западной философии материализм развивался в основном как механистический, но у ряда западных философов-материалистов сохранялся и интерес к диалектике.
В отличие от античного материализма, материализм сейчас уделяет много внимания духовному развитию человека.
К материализму часто относят натурализм, поскольку он не отводит человеку особого места в природе; эмпиризм, который расценивает как реальное только то, что может быть воспринято посредством естественно-научных методов; неопозитивизм, с самого начала отклоняющий объяснение духовно-душевной сущности дел. Однако позитивизм и неопозитивизм материализмом всё же назвать нельзя, потому что он отвергает саму постановку вопроса о самостоятельном существовании какого-либо бытия вне познающего мышления; считает возможным только анализ ощущений и систематизирующего их языка. Отчасти материалистична также философия Б. Рассела и его школы: хотя Рассел и отрицает понятие субстанции, мышление он считает классом событий в мозгу человека.
Материализм конца XX и начала XXI века представлен философским направлением «онтологической философии», лидером которого является американский философ Барри Смит. Философский материализм именно потому можно назвать самостоятельным направлением философии, что он разрешает ряд проблем, постановка которых исключена другими направлениями философского познания, см.Метод познания современного философского материализма
Еще одной в принципе продолжающей и в какой-то мере расширяющей материалистическое представление концепцией можно назвать принцип «Семантического экстернализма», в котором содержание высказывания объясняется как «внешне обусловленное».
См. также
Постматериализм
Ссылки
- Ю.И. Семенов. МАТЕРИАЛИСТИЧЕСКОЕ ПОНИМАНИЕ ИСТОРИИ: «ЗА» И «ПРОТИВ»
- Ю.И. Семенов. Материалистическое понимание истории: недавнее прошлое, настоящее, будущее
- Ю.И. Семёнов. История (историология) как строгая наука
- «Библиотека материалиста» сайт А.С.Хоцей
Примечания
- ↑ Опасность креационизма для образования. Резолюция № 1580 (2007) Парламентской ассамблеи Совета Европы: «Совет Европы придает большое значение важности преподавания культуры и религии. Во имя свободы слова и личных убеждений идеи креационизма, как и всякое другое теологическое положение, вполне могут быть представлены в качестве дополнения к культурному и религиозному образованию, но они не могут претендовать на признание их научными.»
Введение в материализованные представления | BigQuery
В этом документе содержится обзор поддержки BigQuery для материализованные взгляды. Прежде чем читать этот документ, ознакомьтесь с BigQuery и BigQuery стандартные виды.
Обзор
В BigQuery материализованные представления — это предварительно вычисленные представления, которые периодически кэшировать результаты запроса для повышения производительности и эффективность. BigQuery использует предварительно вычисленные результаты из материализованных представлений и, по возможности, только чтение изменения дельты из базовых таблиц для вычисления актуальных результатов. Материализованные представления могут быть запрошены напрямую или могут использоваться Оптимизатор BigQuery для обработки запросов к базовым таблицам.
Запросы, использующие материализованные представления, обычно выполняются быстрее и потребляют меньше ресурсов ресурсы, чем запросы, извлекающие те же данные только из базовых таблиц. Материализованные представления могут значительно повысить производительность рабочих нагрузок. которые имеют характеристику общих и повторяющихся запросов.
Ниже приведены ключевые характеристики материализованных представлений BigQuery:
- Не требует обслуживания . Материализованные представления пересчитываются в фоновом режиме, когда базовые таблицы меняются. Любые добавочные изменения данных из базовых таблиц автоматически добавляются к материализованным представлениям без каких-либо действий пользователя.
- Свежие данные . Материализованные представления возвращают свежие данные. Если изменения в базе таблицы могут сделать материализованное представление недействительным, тогда данные считываются напрямую из базовых таблиц. Если изменения в базовых таблицах не аннулируют материализованное представление, затем остальные данные считываются из материализованного представления и только изменения считываются из базовых таблиц.
- Умная настройка . Если какая-либо часть запроса к исходной таблице может быть решается запросом к материализованному представлению, затем BigQuery перенаправляет запрос на используйте материализованное представление для повышения производительности и эффективности.
Варианты использования
Материализованные представления BigQuery могут оптимизировать запросы с высокой стоимостью вычислений и небольшими результаты набора данных. Процессы, которые выигрывают от материализованных представлений, включают онлайн операции аналитической обработки (OLAP), которые требуют значительной обработки с предсказуемые и повторяющиеся запросы, такие как запросы from: извлечение, преобразование, загрузка (ETL) или конвейеры бизнес-аналитики (BI).
Следующие варианты использования подчеркивают ценность материализованных представлений. Материализованный Представления могут повысить производительность запросов, если вам часто требуется следующее:
- Предварительные данные . Агрегация потоковых данных.
- Данные предварительной фильтрации . Выполнять запросы, которые считывают только определенные подмножество таблицы.
- Данные перед объединением . Соединения запросов, особенно между большими и маленькими таблицами.
- Данные рекластеризации . Выполнение запросов, которые выиграют от кластеризации схема, которая отличается от базовых таблиц.
Сравнение с другими методами BigQuery
В следующей таблице приведены сходства и различия между Кэширование BigQuery, запланированные запросы, стандартные представления и материализованные взгляды.
Компонент | Кэширование | Запланированные запросы | Стандартные виды | Материализованные представления |
---|---|---|---|---|
Производительность | Да | № | № | Да |
Запрос поддерживается | Все | Все | Все | Ограниченный |
Разделение и кластеризация | № | Да | Н/Д | Да |
Инкрементное обновление | № | № | № | Да |
Дополнительное хранилище | № | Да | № | Да |
Перезапись запроса | № | № | № | Да |
Затраты на техническое обслуживание | № | Да | Н/Д | Да |
Устаревание данных | Никогда | Да | Никогда | Никогда |
Взаимодействие с другими функциями BigQuery
Следующие функции BigQuery прозрачно работают с Материализованные представления BigQuery:
Объяснение плана запроса: План запроса отражает, какие материализованные представления сканируются (если есть), и показывает, сколько байты считываются из материализованных представлений и базовых таблиц вместе.
Кэширование запросов: Результаты запроса который BigQuery переписывает, используя материализованное представление можно кэшировать с обычными ограничениями (использование детерминированные функции, отсутствие потоковой передачи в базовые таблицы и т. д.).
Ограничение по стоимости: Если вы установили значение для максимального количества оплачиваемых байтов, и запрос будет считывать число байтов за пределом, запрос не будет выполнен без взимания платы, независимо от того, использует ли запрос материализованные представления, базовые таблицы или и то, и другое.
Оценка стоимости с использованием тестового прогона: Пробный прогон повторяет логику перезаписи запроса с использованием доступных материализованных представлений и обеспечивает оценку стоимости. Вы можете использовать эту функцию как способ проверить, использует ли конкретный запрос какие-либо материализованные взгляды.
Ограничения
Прямое управление данными материализованного представления не поддерживается. Это включает следующие действия:
- Скопируйте материализованное представление в качестве источника или назначения задания копирования
- Экспорт материализованного представления
- Загрузить данные в материализованное представление
- Записать результат запроса в материализованное представление
- Запускать операторы DML в материализованном представлении
При создании материализованного представления вы не можете заменить существующее материализованное представление тем же именем.
Материализованное представление должно находиться в той же организации, что и базовые таблицы, или в том же проекте, если проект не принадлежит какой-либо организации.
На каждую базовую таблицу может ссылаться до 20 материализованных представлений из одного набор данных, до 100 материализованных представлений из одного проекта и до 500 материализованные взгляды всей организации.
Только материализованные представления из одного и того же набора данных учитываются для автоматического запрос переписать (или умная настройка ).
Материализованные представления используют ограниченный синтаксис SQL и ограниченный набор функций агрегации. Для получения дополнительной информации см. Поддерживаемые материализованные представления.
Материализованные представления не могут быть вложены в другие материализованные представления.
Материализованные представления не могут запрашивать внешние таблицы.
Для материализованных представлений поддерживается только диалект Google Standard SQL.
Вы можете задать описание материализованного представления, но не можете описания отдельных столбцов в материализованном представлении.
Если вы удалите базовую таблицу без предварительного удаления материализованного представления, запросы к материализованному представлению терпят неудачу, как и обновления. Если вы решите чтобы воссоздать базовую таблицу, необходимо также воссоздать материализованную Посмотреть.
Цены на материализованные представления
Затраты связаны со следующими аспектами материализованных представлений BigQuery:
- Запрос материализованных представлений.
- Поддержание материализованных представлений, например, когда материализованные представления обновленный. Стоимость автоматического обновления выставляется в счет проекту, в котором представление проживает. Стоимость ручного обновления выставляется в счет проекта, в котором выполняется задание обновления. Для получения дополнительной информации о контроле затрат на техническое обслуживание см. см. Обновить обслуживание задания.
- Хранение таблиц материализованных представлений.
Компонент | Цены по запросу | Единая цена |
---|---|---|
Запрос | байт обработано материализованными представлениями и любыми необходимыми частями базовых таблиц. 1 | Слоты используются во время запроса. |
Техническое обслуживание | байт обработано во время обновления. | Слоты используются во время обновления. |
Хранение | байт хранится в материализованных представлениях. | байт хранится в материализованных представлениях. |
1 По возможности BigQuery считывает только изменения с последний раз, когда вид был обновлен. Для получения дополнительной информации см. Инкрементальные обновления.
Сведения о стоимости хранения
Для AVG
, ARRAY_AGG
и APPROX_COUNT_DISTINCT
совокупных значений в
материализованное представление, конечное значение напрямую не сохраняется. Вместо,
BigQuery внутренне хранит материализованное представление как промежуточное эскиз , который используется для получения окончательного значения.
В качестве примера рассмотрим материализованное представление, созданное с помощью следующего команда:
CREATE MATERIALIZED VIEW идентификатор проекта . мой_набор данных . my_mv_table КАК ВЫБЕРИТЕ дату, AVG(net_paid) AS avg_paid ОТ проект-id . мой_набор данных . my_base_table СГРУППИРОВАТЬ ПО дате
Хотя столбец avg_paid
отображается как NUMERIC
или FLOAT64
пользователю,
внутренне он хранится как BYTES
, а его содержимое является промежуточным.
эскиз в фирменном формате. Для расчета размера данных
столбец обрабатывается как BYTES
.
Следующие шаги
- Создание материализованных представлений
- Использовать материализованные представления
- Управление материализованными представлениями
Что такое материализованное представление?
В зависимости от того, как вы работаете с базами данных, материализованные представления могут означать для вас разные вещи (или ничего). Эта статья предназначена для общего введения в материализованные представления на концептуальном и практическом уровне. Приведенная ниже информация не относится к Materialise – совместимой с Postgres базе данных потоковой передачи, поддерживающей материализованные представления.
Что такое вид?
Давайте сначала определим обычные представления и создадим материализованные представления:
Определение представления:
Представление — это производное отношение, определенное в терминах базовых (хранимых) отношений. Представление определяет преобразование SQL из набора базовых таблиц в производную таблицу; это преобразование обычно пересчитывается каждый раз, когда на представление ссылаются.
Представление можно рассматривать как сохраненный запрос в базе данных. Будущие запросы SELECT
могут ссылаться на представление по имени.
Пример просмотра
Представьте себе базу данных с двумя таблицами: пользователей
и покупок
. Вот оператор SQL (в синтаксисе PostgreSQL), который мы используем для создания представления, суммирующего покупки пользователей:
CREATE VIEW user_purchase_summary AS SELECT u.id как user_id, COUNT(*) как total_purchases, СУММ(покупки.сумма) как life_value ОТ пользователей u ПРИСОЕДИНЯЙТЕСЬ к покупкам p ON p.user_id = u.id;
Как видите, это запрос на выборку с CREATE VIEW [my_view_name] AS
добавлено к нему. После создания представления база данных не вычисляет никаких результатов и не вносит никаких изменений в способ хранения или индексации данных. Но теперь запросы могут ссылаться на представление, как если бы это была таблица:
SELECT ID пользователя ОТ user_purchase_summary КУДА значение_жизни > 500;
Каждый раз, когда база данных получает запрос, ссылающийся на представление, она должна сначала вычислить результаты представления, а затем вычислить остальную часть запроса, используя эти результаты.
Почти во всех современных базах данных вы также можете «складывать» представления: вы можете создать представление, которое ссылается на другое представление.
Что такое материализованное представление?
Материализованное представление берет обычное представление, описанное выше, и материализует его, заранее вычисляя результаты и сохраняя их в «виртуальной» таблице.
Определение материализованного представления:
Представление может быть «материализовано» путем сохранения кортежей представления в базе данных. Индексные структуры могут быть построены на материализованном представлении. Следовательно, доступ к материализованному представлению из базы данных может быть намного быстрее, чем повторное вычисление представления. Материализованное представление похоже на кеш — копию данных, к которой можно быстро получить доступ.
Если обычное представление — это сохраненный запрос, то материализованное представление — это сохраненный запрос и его результаты, сохраненные в виде таблицы.
Существует несколько важных последствий «материализации» представления:
- При ссылке в запросе материализованное представление не нуждается в повторном вычислении. — Результаты сохраняются, поэтому запросы к материализованным представлениям выполняются быстрее.
- Поскольку он хранится так, как если бы это была таблица, индексы могут быть построены на столбцах материализованного представления.
- Возникает новая проблема «обслуживания представления». — Как только представление материализуется, оно является точным только до тех пор, пока не будут изменены основные базовые отношения. Процесс обновления материализованного представления в ответ на эти изменения называется обслуживанием представления .
Должны ли материализованные представления обновляться автоматически?
На практике: Казалось бы, единого мнения нет. Некоторые базы данных имеют материализованные представления, которые необходимо обновлять вручную. Некоторые внедрили автоматические обновления, хотя и с длинным списком ограничений. Подробнее см. в таблице ниже.
В принципе: Материализованные представления должны обновляться автоматически. «Вид» подразумевает фиксированную точку зрения на изменение входных данных. Вспомните, как работают обычные представления: результаты постоянно меняются по мере изменения базовых данных. Материализация просто подразумевает, что трансформация выполняется проактивно.
При определении материализованного представления мы предоставили базе данных всю информацию, необходимую для постоянного сохранения результатов по мере изменения базовых данных. Базы данных должны обновлять материализованные представления по умолчанию, но до сих пор это оказалось невозможным.
Пример материализованного представления
Вот предыдущее представление user_purchase_summary
, преобразованное в материализованное представление:
CREATE MATERIALIZED VIEW user_purchase_summary AS SELECT u. id как user_id, COUNT(*) как total_purchases, СУММА (СЛУЧАЙ, когда p.status = 'отменено' THEN 1 ELSE 0 END) как cancelled_purchases ОТ пользователей u ПРИСОЕДИНЯЙТЕСЬ к покупкам p ON p.user_id = u.id;
С точки зрения SQL все, что изменилось, это добавление ключевого слова MATERIALIZED
. Но при выполнении этот оператор указывает базе данных:
- Выполнить запрос SELECT в определении материализованного представления.
- Кэшировать результаты в новой «виртуальной» таблице с именем
user_purchase_summary
- Сохраните исходный запрос, чтобы он знал, как обновлять материализованное представление в будущем.
Как материализованные представления работают в определенных базах данных?
Не каждая база данных поддерживает материализованные представления, а те, в которых они поддерживаются, обрабатывают их немного по-разному, особенно когда речь идет о подходе к обслуживанию представлений.
База данных | Материализованные представления? | Просмотр обслуживания | Примечания |
---|---|---|---|
PostgreSQL | Да, в v9. 3+ | Руководство | Материализованные представления заполняются во время создания и должны обновляться вручную с помощью инструкций REFRESH MATERIALIZED VIEW , которые пересчитывают все представление. |
MySQL | № | Н/Д | |
Microsoft SQL Server | Да | Автоматический | SQL Server называет их «индексированными представлениями», поскольку шаг материализации заключается в создании индекса для обычного представления. SQL Server ограничивает индексированные представления базовыми SQL-запросами. |
Оракул | Да | Несколько вариантов | Материализованные представления в базах данных Oracle можно настроить на ручное обновление, обновление по расписанию или, если SQL-запрос соответствует этим требованиям, автоматическое обновление. |
Снежинка | Да | Автоматический | Материализованные представления в Snowflake обновляются автоматически. Этот автоматический подход приводит к ограничениям SQL и ограниченному набору вариантов использования, в которых материализованное представление рекомендуется вместо представления или таблицы. |
Красное смещение | Да | Несколько вариантов | По умолчанию материализованные представления в Redshift необходимо обновлять вручную, но параметр АВТОМАТИЧЕСКОЕ ОБНОВЛЕНИЕ попытается обновить представление при изменении базовых данных. Когда ОБНОВИТЬ МАТЕРИАЛИЗОВАННОЕ ВИД Вызов выполнен, определенные типы представлений могут обновляться постепенно. |
МонгоДБ | Да, в 4.2+ | Руководство | MongoDB имеет NoSQL-эквивалент материализованных представлений в виде функций агрегирования. |
Материализация | Да | Автоматический | Materialize может постепенно поддерживать представления, недоступные другим базам данных: представления со сложными соединениями и агрегациями, CTE, представления в представлениях. Самый большой пробел в SQL — это WINDOW-функции. |
Чем полезны материализованные представления?
Примечание. Узнайте, зачем использовать материализованное представление, чтобы получить полное объяснение, краткое изложение ниже.
Ограничения материализованных представлений в популярных базах данных, о которых говорилось выше, исторически сделали их относительно нишевой функцией, используемой в основном как способ кэширования результатов сложных запросов, которые могут вывести из строя базу данных, если они часто выполняются как обычные представления. Но если мы отбросим исторические ограничения и подумаем об идее материализованных представлений: они дают нам возможность определять (используя SQL) любое сложное преобразование наших данных и оставлять базу данных для сохранения результатов в «виртуальной» таблице. .
Благодаря этому материализованные представления прекрасно подходят для случаев, когда:
- SQL-запрос известен заранее и требует многократного пересчета.
- Очень важно иметь низкую сквозную задержку с момента создания данных до момента их отражения в запросе
- Очень важно иметь время ответа на запрос с малой задержкой, высокий уровень параллелизма или большой объем запросов.
Чаще всего эти требования встречаются в областях аналитики и приложений, интенсивно использующих данные.
Материализованные представления для аналитики
Шаблон извлечения-загрузки-преобразования (ELT), в котором необработанные данные массово загружаются в хранилище, а затем преобразуются с помощью SQL, обычно использует альтернативы материализованным представлениям для шага преобразования. В dbt это называется материализацией. Материализация может использовать обычное представление (где ничего не кэшируется) или кэшированные таблицы, созданные на основе результатов запроса SELECT, или таблицу с инкрементным обновлением, в которой пользователь отвечает за написание стратегии обновления. Исторически поддержка материализованных представлений в хранилищах данных была настолько плохой, что службы моделирования SQL, такие как dbt, даже не имели синтаксиса, позволяющего пользователям создавать их. Однако адаптер dbt-materialize позволяет пользователям dbt, основанным на Materialize, использовать материализованные представления. Вот стандартный совет, который дают пользователям dbt о том, когда использовать различные типы доступных им материализаций:
- Если использование представления не слишком медленно для ваших конечных пользователей, используйте представление.
- Если представление становится слишком медленным для ваших конечных пользователей, используйте таблицу.
- Если построение таблицы с помощью dbt происходит слишком медленно, используйте инкрементные модели в dbt.
Ссылка
Правильные автоматически обновляемые материализованные представления — это четвертый подход, который использует простоту обычного представления (инженеру-аналитику нужно только написать преобразование SQL) и задержку запроса кэшированной таблицы (поскольку результаты сохраняются, нет вычислений). выполняется в запросах SELECT).
Материализованные представления — особенно более эффективная с точки зрения вычислений альтернатива обычным представлениям, когда набор данных большой и представление часто запрашивается. Они представляют собой более актуальную, более автоматизированную и менее подверженную ошибкам альтернативу кэшированным таблицам, поскольку они снимают с конечного пользователя бремя принятия решения о том, когда и как обновлять.
Стеки представлений. Обычный шаблон в инструментах аналитики, таких как dbt, заключается в определении «стеков» представлений, которые преобразуют и объединяют данные поэтапно. Преобразование сложенных представлений в: (1) стеки материализованных представлений или (2) стеки обычных представлений с материализованным представлением в конце упрощает работу пользователя или внешнего инструмента, перекладывая ответственность за организацию порядка и частоты обновлений. в механизм базы данных.
Материализованные представления для приложений
Инкрементально обновляемые материализованные представления могут заменить кэширование и денормализацию, традиционно применяемые для «защиты» баз данных OLTP от задержек и перегрузок на стороне чтения.