Добавить комментарий

Анализ данных

Сдается мне, что мы с Вами (и не только с Вами...) различно смотрим на проблему... Вы смотрите на уровни изолированности, как на некую данность постулированную в стандарте SQL. Я же смотрю, как на одно из важных средств решения практических задач. То есть, с моей точки зрения, изолированность - это попытка смоделировать одновременную работу нескольких пользователей над одними наборами данных с минимальными конфликтами. Сама проблема (появление конфликтов) присутствует в реальной жизни, она не привнесена появлением СУБД.
Принятый механизм изолированности далеко не идеален и не позволяет решать целый ряд задач, связанных с многопользовательской обработкой данных.
Для решения этих (иных, новых) задач надо было либо пересматривать (в сторону расширения) существующий механизм, либо искать иные решения. В частности, был выбраны OLAP-хранилища. Они обрели популярность потому, что на оперативной БД блокировочной СУБД невозможно работать с аналитическими запросами. Поскольку в этом случае, значительная часть данных закрывается для изменений (во время обработки аналитических данных они (данные) не должны модифицироваться). С другой стороны, аналитические запросы, как правило исполняются достаточно долго. Как следствие, исчезает возможность оперативной работы с данными. Чтобы сохранить эту возможность, данные перекачиваются в OLAP-хранилище и уже там происходит (многомерный) анализ.
Поэтому связь между OLAP и изолированностью достаточно очевидна. Но проблема предстает в совершенно ином виде, если используется версионная СУБД...

Собственно, разговор ушел в сторону... я ведь только заметил, что snapshot в стандарте нет. А говорить о блокировках и версиях не стоит (IMHO), тема большая и мало кому интересная...