Какие преимущества у OLAP в памяти по сравнению с традиционными системами со значительной памятью?
-
16-10-2019 - |
Вопрос
Есть ли в памяти двигатели OLAP, преимущества по сравнению с традиционными двигателями OLAP, подкрепленными достаточным количеством оперативной памяти, чтобы сдержать весь куб (ы)?
Например, если я использую двигатель MOLAP (SSA) и GB / TB RAM, где весь куб (или даже Star-Schema) является резидентом RAM, в чем разница по сравнению с чем-то вроде TM1 / SAP HANA?
Решение
Базы данных, разработанные с предположением, что они будут полностью резидентами в основной памяти, могут использовать такие структуры, как Индексы T-Tree. Анкет Но реальное преимущество в том, что IMDB просто проще. Они делают меньше (так как им не нужно беспокоиться о управлении кэшем, или Сериализация пишет Для согласованности или чего-либо связано с кислотным вводом/выводом вообще), чтобы они выполняли меньше инструкций на оборудовании для выполнения одной и той же «работы». База данных общего назначения должна быть всем для всех людей; как Кожаный человек имеет дюжину инструментов, но иногда вам просто нужна передовая, поэтому вы покупаете лезвие у Холодная сталь, и никто не спорит, что это лучший нож!
Другие советы
Не моя область знаний, но, насколько я понимаю, разница в большинстве так называемых баз данных OLAP в памяти (не термин, который мне нравится, он используется в качестве маркетингового шага больше, чем справедливое сравнение технологий). Индексы магазина столбцов.
Столбные магазины против строк (насколько они действительно разные) является хорошим вступлением в технологию, если вы знакомы с традиционными структурами баз данных OLTP и OLAP.
Индексы Store Store появятся в SQL Server 2012 (он же «Денали»).
Вот ссылка на сайт На презентацию Power Point Конора Каннингема, основного архитектора программного обеспечения в команде процессора запроса SQL Server, освещающей эту новую функцию.
Слайки столбцов позволяют обеспечить значительное сжатие данных таким образом, что это невозможно в системе хранения строк. В основном все значения в столбце хранятся только один раз в словаре, затем DB хранит ключ целочисленного словаря вместо исходного значения. Если бы у вас был магазин Row Store DB в памяти, это было бы лишь значительно больше, и более непрактично, что дает стоимость памяти. Улучшения производительности достаточно значительны, чтобы вам больше не нужно было предварительно агрегировать данные о транзакциях, и в большинстве случаев кубики не нужны.
Кроме того, поскольку хранилище столбца сохраняет все значения столбцов в последовательных блоках памяти, сканирование имеет меньше блоков, чтобы пропустить операции, такие как Select. Однако существуют некоторые недостатки в хранилище столбца транзакционно, и Хана, например, добавила таблицы Rowstore в более поздних версиях.