Представления материалов Oracle по сравнению с аналитическими рабочими пространствами - PullRequest
2 голосов
/ 06 октября 2009

В Oracle, каковы плюсы и минусы использования материализованных представлений и аналитических рабочих пространств? Каковы лучшие практики использования этих функций?

У нас есть система OLTP, но мы также хотели бы получить доступ к сводной информации в отчетах и ​​интерактивных инструментах поддержки принятия решений.

Ответы [ 2 ]

3 голосов
/ 08 октября 2009

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

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

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

    • В случае удаленной системы, если соединение с этой удаленной системой прерывается во время обновления, MV может никогда не обновиться снова, и, возможно, его придется сбросить и восстановить.
    • То же самое происходит, если одна из таблиц MV основана на изменениях структуры. Так, например, у меня есть MV, который построен с помощью запроса «выбрать * из моей работы». В какой-то момент я выполняю команду alter, чтобы изменить столбец FirstName с varchar2 (100) на varchar2 (150). В этот момент мы часто видим, что обновления MV терпят неудачу и никогда не восстанавливаются.

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

1 голос
/ 06 октября 2009

Я не использовал аналитические рабочие пространства, поэтому не могу с ними разговаривать.

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

Если вы имеете дело с удаленными данными (ссылками на базы данных), материализованные представления позволяют вам кэшировать данные локально. Если вы выполняете медленные вычисления данных, материализованные представления могут позволить вам кэшировать результаты (которые могут быть устаревшими). ​​

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

...