Выполнение транзакций, ориентированное на данные


Почти "shared-nothing" в среде "shared-everything" – от переводчика


В последнее время специалисты в области баз данных больше всего говорят про архитектуры параллельных СУБД без совместного использования ресурсов, ориентированные на поддержку как аналитических, так и транзакционных приложений. Это, в частности, подтверждается выборкой статей, переводы которых были опубликованы в библиотеке CITForum в последние несколько лет. Активный интерес к архитектурам shared-nothing естественным образом объясняется возможностями неограниченного горизонтального масштабирования аппаратных средств за счет использования кластерных систем, в узлах которых применяются компьютеры из категории товаров широкого потребления (commodity).

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

Кроме того, на переднем крае развития микропроцессорной технологии находятся такие процессоры, как использованный в работе авторов представляемой вам статьи процессор Sun T5220 "Niagara II", уже сегодня обеспечивающий (с точки зрения операционной системы) 64-процессорную систему с общей памятью. При наличии правильно спроектированной СУБД мощности "однопроцессорной" системы, оснащенной таким процессором (а послезавтра процессором "массового спроса"), хватит для поддержки системы OLTP не самого мелкого предприятия.

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


- Начало -  - Назад -  - Вперед -