Технологии баз данных для обработки транзакций и для аналитики как бы двигались в разных направлениях. В основном это было сделано с точки зрения «разделения задач».
Транзакции зависят от скорости: люди ускоряют базы данных, размещая их в памяти (например, HANA) и/или добавляя возможности столбцов (например, Postgres, Oracle , ну и всем).
Аналитика, OTOH, как правило, связаны с объемом — иметь массово параллельные или распределенные серверные части, которые могут очень быстро обрабатывать большие объемы данных (например, Vertica, Redshift, Netezza и т. д.), довольно неплохо. много ставок в этом мире.

Имейте в виду, что когда кто-то говорит о массовой параллелизации, на ум должны прийти графические процессоры, и это явно произошло с Kinetica, SQream и MapD, которые используют графические процессоры для выполнения распараллеленных частей. SQL-запросов в своих аналитических базах данных. Результатом, как вы можете себе представить, является огромное ускорение обработки запросов для аналитики.
MapD, в частности, проделал некоторые серьезно интересные вещи в том, как они разбивают данные на части. куски кадрового буфера графического процессора, а затем объединять результаты после каждого запроса — представьте себе MapReduce, работающий на графических процессорах (на самом деле это не точная аналогия, но достаточно близкая 😀). Фактически, то же самое работает с аппаратными абстракциями более высокого уровня, такими как PCI-Express или NVLink, как показано на рисунке ниже.

Что становится интересным, так это то, что в памяти на самом деле не является противоречием на основе графического процессора! Представьте себе своего рода гибридную систему, в которой все операции с транзакциями выполняются в памяти ЦП, а аналитика — в графических процессорах — нет причин, по которым это не могло бы работать, верно?
Ну, исторически это было довольно сложно, из-за проблем с пропускной способностью между памятью и всем остальным. Однако недавняя работа Nvidia с CUDA позволяет синхронизировать память процессора и графического процессора, а это означает, что теперь транзакционная и аналитическая стороны базы данных могут взаимодействовать друг с другом гораздо более эффективно. Брютлит, собственно, как раз над этим и работает, с движками для Postgres и MariaDB. Он по-прежнему разработан на основе аналитики (на данный момент), но путь вперед явно включает в себя решения в памяти, работающие рука об руку с графическими процессорами.

Учитывая все это, я подозреваю, что скоро ускорение на основе графического процессора станет стандартом для баз данных. Когда вы добавляете грядущие кардинальные изменения благодаря появлению NVM (энергонезависимой памяти) и Машинное обучение, используемое для оптимизации, кажется, что в мире баз данных впереди веселые времена 🙌.