пятница, 22 июля 2011 г.

MSSQL проект "Apollo"

В новой версии SQL Server 11 “Denali” создан новый, колоночный тип индекса - COLUMNSTORE

CREATE [[ UNIQUE ] [ CLUSTERED | NONCLUSTERED ]] | [COLUMNSTORE] INDEX index_name

В отличии от обычного индекса для каждой колонки входящей в индекс создается свой набор страниц

Что то мне подсказывает что эта реализация с кучей ограничений (о которых ниже) представляет первый шаг к переходу от традиционных СУБД к колоночным.
По ограничением в чем то схож с HASH индексом:
  • Не может быть уникальным;
  • Не допускается сортировка;
  • В индексе могут присутствовать только простые типы данных (не допускаются: binary, varbinary, text, sql_variant и т.д.)
  • Автоматически не обновляется вместе с изменением данных (для актуализации индекса потребуется его удалить и создать заново rebuild не работает)
Работает это все примерно так:
При выполнении запроса анализируются используемые колонки. Каждая исп. колонка выгружается в оперативную память, сжимается и в последующем обрабатывается в оперативной памяти не используя обращение к диску. 
В основе архитектуры лежит ядро VertiPaq. Ядро VertiPaq(VertiPaq Engine) обрабатывает запросы с эффективными алгоритмами сжатия, реализует хранилище данных, позволяющее загружать огромные объемы данных непосредственно в память.

P.S. До 2005 версии MSSQL мог полностью "хранить" таблицу в оперативной памяти

Очень интересная презентация о новых возможностях  Денали


Ниже докуммент со сравнением производительности обычного и колоночного индекса

вторник, 19 июля 2011 г.

РАУЗ под микроскопом

Расширенная Аналитика Учета Затрат, появилась в УПП (1.2.15) в далеком апреле 2008 года. Тогда подсистема имела существенные ограничения и сомнительные неоднозначные преимущества. Вот первая рыжая презентации подсистемы из тех лет (в самом конце еще одна)
Некоторые подходы РАУЗ настолько сильно ломали консервативные взгляды тогдашних внедренцев и программистов, что не многие решались на его использование.
Использование РАУЗ для многих было эквивалентно "хождению по потолку". И даже сейчас я встречаю предприятия которые опасаются РАУЗ. Сегодня я постараюсь развеять все эти опасения, и  раскрыть потенциал РАУЗ, я не буду "гнать пургу" про линейные уравнения, совмещенный учет и прочие настройки, а просто расскажу как РАУЗ устроен "изнутри".

Итак поехали.