Актийский вектор


Actian Vector (ранее известная как VectorWise ) — это система управления реляционными базами данных SQL , предназначенная для обеспечения высокой производительности в приложениях аналитических баз данных. [3]Компания опубликовала рекордные результаты теста TPC-H Совета по производительности обработки транзакций для баз данных размером 100 ГБ, 300 ГБ, 1 ТБ и 3 ТБ на некластеризованном оборудовании. [4] [5] [6] [7]

Компания Vectorwise возникла в результате исследовательского проекта X100, проводившегося в рамках Centrum Wiskunde & Informatica (CWI, Голландского национального исследовательского института математики и информатики) в период с 2003 по 2008 год. В 2008 году она была выделена как начинающая компания и приобретена Ingres Corporation в 2011 году. [8]Он был выпущен как коммерческий продукт в июне 2010 года, [9] [10] [11] [12] первоначально для 64-битной платформы Linux, а затем и для Windows. Начиная с версии 3.5 в апреле 2014 года название продукта было сокращено до «Вектор». [13]В июне 2014 года Actian Vortex был анонсирован как кластерная версия Vector с массивной параллельной обработкой .Hadoop с хранилищем в HDFS . [14] [15] Позже Actian Vortex в Hadoop был переименован в Actian Vector.

Основные принципы архитектуры и проектирования механизма X100 базы данных VectorWise были хорошо описаны в двух докторских диссертациях основателей VectorWise Марцина Жуковски: «Балансирование выполнения векторизованных запросов с хранилищем, оптимизированным по пропускной способности» [16] и Шандором Хеманом: «Обновление хранилищ сжатых столбцов » . ", [17] под руководством другого основателя, профессора Питера Бонча . Механизм X100 был интегрирован с интерфейсом Ingres SQL, что позволило базе данных использовать синтаксис Ingres SQL, а также набор инструментов администрирования клиента и базы данных Ingres . [18]

В архитектуре выполнения запросов используется «векторизованное выполнение запросов» — обработка фрагментов векторов данных, соответствующих кэшу . Это позволяет задействовать принципы векторной обработки и одну команду, несколько данных (SIMD) — выполнять одну и ту же операцию над несколькими данными одновременно и использовать параллелизм на уровне данных на современном оборудовании. Это также снижает накладные расходы, возникающие при традиционной «построчной обработке», присутствующей в большинстве СУБД.

Хранилище базы данных имеет сжатый столбцовый формат [19] с оптимизированным для сканирования менеджером буферов. В Actian Vortex в HDFS используется тот же собственный формат.

Загрузка больших объемов данных поддерживается путем прямого добавления в стабильное хранилище, а небольшие транзакционные обновления поддерживаются с помощью запатентованных [20] позиционных дельта-деревьев (PDT) [17] [21] — специализированных B-деревоподобных структур индексированных различий. поверх стабильного хранилища, которые легко исправляются во время сканирования и прозрачно распространяются на стабильное хранилище в фоновом процессе. Метод хранения различий в патч-подобных структурах и массовая перезапись стабильного хранилища позволили работать в такой файловой системе, как HDFS, в которой файлы доступны только для добавления. [14]