Bigdata SQL: SQL Engines on Traditional Databases

Когда SQL-запрос передается в ядро ​​базы данных, несколько процессов начинают работать, чтобы удовлетворить запрос. На высоком уровне в действие вступают два основных набора процессов: механизм запросов и механизм хранения.

Механизм запросов анализирует запрос, проверяет семантику запроса по хранилищу каталога и генерирует логический план запроса, который затем оптимизируется оптимизатором запросов для создания оптимального физического плана выполнения на основе ЦП, операций ввода-вывода и сети. затраты на выполнение запроса. Окончательный план запроса затем используется механизмом хранения для извлечения базовых данных из различных структур данных либо на диске, либо в
объем памяти. Именно в механизме хранения такие процессы, как диспетчер блокировок, диспетчер индексов, диспетчер буферов и т. Д., Приступают к работе по извлечению / обновлению данных в соответствии с запросом.

Большинство СУБД построены на основе SMP. Традиционные платформы баз данных работают, считывая данные с диска, передавая их через соединение ввода-вывода и загружая в память для дальнейшей обработки. Система на основе SMP состоит из нескольких процессоров, каждый со своим собственным кешем памяти. Подсистемы памяти и ввода-вывода являются общими для каждого из процессоров. Архитектура SMP ограничена в возможности перемещать большие объемы данных, поскольку
требуется в хранилищах данных и в рабочих нагрузках крупномасштабной обработки данных.

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