Еще один игрок рынка BI, который можно указать в аналогах и прототипах вашего решения:)
Первоначально меня привлек в описании системы термин «ассоциативной технологии», патентованной производителем.
Оказывается, под этим термином подразумевается ряд архитектурных и алгоритмических решений, позволяющих приложению связывать, производить расчет и отображать данные из различных источников, связывая их ключевыми полями и позволяя пользователю осуществлять навигацию по данным на основе этих связей «на лету» (не правда ли, похоже на реляционные базы данных).
Продукт был призван занять нишу между таблицами Excel и тяжелыми средствами анализа, использующими OLAP. Что интересно, есть клиентские версии под мобильные устройства. Необходимые для расчета данные полностью заносятся в ОЗУ. Данные хранятся в табличном виде. Где это возможно, используется механизм словарей (dictionary). Заявляется высокая скорость работы и интуитивно понятное поведение системы. Именно этим объясняется заголовок данной статьи.
Для более детального ознакомления советую посетить сайт производителя и скачать бесплатную версию: http://www.qlikview.com/us
Краткое описание особенностей, если не хотите читать рекламные слоганы: http://www.dbms2.com/2010/06/12/the-underlying-technology-of-qlikview/
Множество статей появилось на сайте «Открытых систем».
Согласно описанию больше похоже на ассоциативную связь в понимании UML, но если приэтом накладываются ограничения целостности (уникальность и обязательность записей) — то действительно это близко к проектированию инфологической ER-модели.
Сложно докопаться до истины в вопросе устройства этой программы. Производитель, очевидно, не горит желанием выдавать алгоритмы и действует по схеме «пользователю должен нравиться результат, а не то, как мы его достигли». Что касается словарей и связывания через ключевые поля — тут как будто нет ничего нового. Может быть особенность в разумном сочетании сложности решаемых задач и простоты использования.
Например, насчет связей в одном из описаний (к сожалению, не записал где), что для для двух наборов данных должно быть не менее, но и не более 1 способа связать данные. То есть программа и пользователь не мучаются выбором, есть простые правила, по которым таблицы связываются (и, соответственно, возможность привести входные данные к этому виду, убрав противоречия).