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

       

в том, следует ли относиться


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

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

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

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


Содержание  Назад  Вперед