#data-warehouse #olap #business-intelligence
#хранилище данных #olap #бизнес-аналитика
Вопрос:
Имеют ли движки OLAP в памяти преимущества по сравнению с традиционными движками OLAP, поддерживаемыми достаточным объемом оперативной памяти для хранения всего куба (ов)?
Например, если я использую механизм MOLAP (SSAS) и ГБ / ТБ оперативной памяти, где весь куб (или даже звездообразная схема) является резидентным ОЗУ, в чем разница по сравнению с чем-то вроде TM1 / SAP HANA?
Ответ №1:
В основном это сводится к следующему:
Система, которая действительно оптимизирована для операций «в памяти», учитывает несколько аспектов, таких как произвольный доступ, размер страницы памяти, различные уровни кэша (CPU, …) и т.д.
Это приводит к максимальному использованию возможностей, которые предлагает RAM, а жесткий диск не предлагает, что, в свою очередь, обеспечивает отличную производительность.
Традиционный движок, оптимизированный для доступа к файловой системе, обычно учитывает несколько аспектов, связанных с обработкой файлов / операционной системой файловой системы и т.д.
Даже когда такой движок загружает все в свой кэш (память), он по-прежнему работает с данными, как ЕСЛИ бы они были на диске, что имеет смысл, поскольку код должен работать в ситуациях, когда не все помещается в память тоже. Использование одной и той же реализации для обеих ситуаций улучшает тестирование / стабильность / исправление ошибок / ремонтопригодность и т.д. НО это приводит к «неиспользованию преимуществ» всего, что отличает доступ к оперативной памяти от доступа к файлам / дискам. Такой движок обычно можно ускорить, если он реализует оптимизацию, специфичную для оперативной памяти, так что он предлагает в каждом мире (ОЗУ по сравнению с диском) лучшее… Я не знаю ни о каком движке, делающем это…