Классика баз данных - статьи

       

Классика баз данных - статьи


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

Сергей Кузнецов

В 1987 г. Джим Грей (Jim Gray) и Джанфранко Пуцолу (Gianfranco Putzolu) опубликовали свое знаменитое правило для разумного соотношения объема основной памяти и темпа ввода-вывода []. В своих подсчетах они сравнивали стоимость постоянного сохранения записи (или страницы) в основной памяти со стоимостью выполнения обмена с диском при каждом обращении к этой записи (или странице), используя существовавшее тогда соотношение цен на схемы основной памяти и дисковые устройства. Название правила происходит от интервала времени между равнозатратными обращениями к записи (или странице). Если обращения к записи (или странице) происходят более часто, то ее следует сохранять в основной памяти; если реже – ее нужно хранить на диске и считывать при необходимости.

Основываясь на тогдашних ценах и характеристиках производительности оборудования компании Tandem, Грей и Пуцолу обнаружили, что стоимость основной памяти, достаточной для хранения записи размером в 1 килобайт, примерно совпадает с (частью) стоимости дискового устройства, обеспечивающего доступ к такой записи через каждые 400 секунд, которые они округлили до пяти минут.
Интервал равнозатратности обратно пропорционален размеру записи. По Грею и Пуцолу он равен одному часу для записи размером 100 байт и двум минутам для страниц в 4 килобайта.

Десять лет спустя правило пяти минут было проанализировано заново []. К этому времени изменилось множество цен и параметров производительности (например, стоимость мегабайта основной памяти упала с 5000 до 15 долларов). Тем не менее, правило пяти минут сохранилось. Интервал равнозатратности, равный примерно пяти минутам, существовал теперь для страниц размером в 8 килобайт. Первой целью этой статьи является анализ правила пяти минут спустя еще десять лет.

Конечно, в обеих предыдущих статьях признавалось, что в любой момент времени цены и производительность сильно зависят от технологий и конкретных устройств (например, основная память для мейнфреймов стоила совсем не столько же, сколько память для миникомпьютеров, диски SCSI обладают совсем другой ценой и производительностью, чем диски IDE, и т.д.). Поэтому заинтересованным читателям стоит самим пересчитать соответствующие формулы для своей среды и оборудования. Цифры, использованные в данной статье (см. табл. 1), типичны для технологии 2007 г.



Основная память Флэш-диск SATA-диск
Цена и емкость $3 за 8x64 мегабит $999 за 32 гигабайта $80 за 250 гигабайт
Пропускная способность передачи данных (Transfer bandwidth) ---- 66 Мбайт/сек API 300 Мбайт/сек API
Время ожидания доступа (Access latency) ---- 0.1 мсек 12 мсек в среднем
Потребляемая мощность в активном состоянии (Active power) ---- 1 Вт 10 Вт
Потребляемая мощность в состоянии простоя (Idle power) ---- 0.1 Вт 8 Вт
Потребляемая мощность в режиме пониженного энергопотребления (Sleep power) ---- 0.1 Вт 1 Вт
Таблица 1. Цена и производительность флэш-памяти и дисков

Кроме количественных изменений в цене и производительности, уже происходящие качественные изменения будут воздействовать на архитектуру программного обеспечения и аппаратных средств серверов, в частности, систем баз данных.


Программное обеспечение баз данных радикально изменится с появлением новых технологий:


    виртуализация с использованием аппаратной и программной поддержки, а также повышения коэффициента загруженности физических машин;


  • многоядерные процессоры и , поддерживаемая как в программных средах, так и на уровне аппаратуры [];


  • использование контейнеров, вмещающих тысячи процессоров и многие терабайты данных [];


  • флэш-память, которая устраняет разрыв между традиционной основной памятью и традиционными вращающимися дисками.


Флэш-память занимает место между традиционной основной памятью и персистентной массовой памятью, основанной на вращающихся магнитных дисках, по показателям стоимости приобретения, задержки доступа, пропускной способности передачи данных, пространственной плотности, потребления энергии и расходов на охлаждение []. Это иллюстрируется данными, приведенными в табл. 1, и производными показателями, которые демонстрируются в табл. 2.
  NAND-флэш-память Диск SATA
Цена и емкость $999 за 32 гигабайта $80 за 250 гигабайт
Цена за гигабайт $31.20 $0.32
Время чтения страницы в 4 килобайта 0.16 мсек 12.01 мсек
Число считываний 4-килобайтных страниц в секунду 6200 83
Стоимость в расчете на считывание одной 4-килобайтной страницы в секунду $0.16 $0.96
Время чтения страницы в 256 килобайт 3.98 мсек 12.85 мсек
Число считываний 256-килобайтных страниц в секунду 250 78
Стоимость в расчете на считывание одной 256-килобайтной страницы в секунду $3.99 $1.03
Таблица 2. Сравнительная стоимость флэш-памяти и дисков

Поскольку число команд центрального процессора, которые можно выполнить за время одного обмена с диском, постоянно возрастает, целесообразно наличие промежуточной памяти в иерархии хранения данных. Как неоднократно отмечалось, флэш-память кажется очень вероятным кандидатом.

Предстоит разработать еще многие детали архитектуры. Например, будет ли флэш-память в архитектуре аппаратуры доступна через слот DIMM, через дисковый интерфейс SATA или через какой-нибудь другой аппаратный интерфейс? Поскольку для разработки нового аппаратного интерфейса требуется время, вероятно, придется приспосабливаться к существующим интерфейсам.



Основной вопрос состоит в том, следует ли относиться к флэш-памяти как к специальной части основной памяти или же как к специальной части персистентной памяти? Тот же вопрос можно задать по-иному: если система включает традиционную основную память емкостью в 1 гигабайт, 8 гигабайт флэш-памяти и 250-гигабайтный традиционный диск, то будет ли программное обеспечение считать, что имеются 250 гигабайт персистентной памяти и буферный пул объемом в 9 гигабайт, или же, что имеются 258 гигабайт персистентной памяти и буферный пул объемом в 1 гигабайт? Вторая цель статьи состоит в том, чтобы ответить на этот вопрос, а на самом деле, – дать разные ответы для файловых систем и систем баз данных.

От ответа на этот вопрос зависят многие проектные решения. Например, если флэш-память является частью буферного пула, то страницы должны считаться «грязными», если их содержимое отличается от содержимого эквивалентной страницы в персистентной памяти. При синхронизации файловой системы или установке контрольной точки базы данных в этих случаях должны производиться принудительные записи на диск. Если же флэш-память является частью персистентного хранилища, то эти операции записи не требуются.

Разработчикам операционных и файловых систем разумно использовать флэш-память как расширенный буферный пул (расширенную основную память), в то время как системам баз данных флэш-память будет полезна как расширенный диск (расширенная персистентная память). Эти два проектные решения следуют из нескольких согласованных особенностей файловых систем и систем баз данных.

Кроме того, характеристики флэш-памяти приводят к существенным изменениям при управлении страницами B-деревьев и размещении этих страниц. Кроме оптимизации размеров страниц, при управлении B-деревьями можно использовать разные единицы обмена для флэш-памяти и дисков. Третьей целью статьи является описание одного из вариантов такого подхода.


Содержание раздела