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

       

Переосмысление традиционной архитектуры систем баз данных


Упомянутые в разделе 2 тенденции развития технологии дают пользователям возможность реализовывать все более и более крупные приложения систем баз данных. Это привело к появлению множества архитектур, основанных на разделяемой памяти, разделяемых дисках, неоднородной памяти (NUMA) и кластерах компьютеров без общих ресурсов (sharing-nothing). Современные системы баз данных наиболее успешны на системах без разделяемых ресурсов, поскольку такие системы обладают лучшими характеристиками масштабируемости. Кроме того, в компьютерных кластерах используются доступные на рынке компоненты, и поэтому они могут быть гораздо дешевле. При работе в большом кластере оптимизатор системы баз данных должен учитывать балансировку загрузки, доступность дискового пространства и ограничения на выполнимые планы и реплики. В этом контексте проявляются и многие причины переосмысления оптимизации в федеративных системах баз данных (раздел 2).

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

К тому же, хотя объемы дисковой памяти возрастают очень быстро, время доступа уменьшается относительно медленно. Следовательно, объем данных, которые могут быть переданы в основную память за среднее время доступа, растет очень быстро. С другой стороны, быстро растет стоимость подвода головок устройства магнитного диска в сравнении со стоимостью передачи одного байта данных. Поэтому требуются архитектуры хранения, в которых существенно более серьезное внимание уделялось бы оптимизации движения головок. Кроме того, в будущем могут оказаться неуместными архитектуры, "скрывающие наличие подвижных магнитных головок", такие как RAID 5.


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

Для новых приложений, включая обработку графических образов, полученных со спутников, и ведение цифровых телевизионных архивов, требуются очень большие базы данных, объем которых измеряется в петабайтах или экзабайтах. Такие приложения смогут стать возможными, когда дисковая память подешевеет настолько, что можно будет работать со всеми требуемыми данными в стандартной двухуровневой иерархии памяти. В добавок к этому, возможно, станут доступны новые устройства памяти третьего уровня, основанные на технике голографии. Итак, трехуровневая иерархия памяти вполне возможна. Обеспечение экзабайтной памяти в многозвенных архитектурах, включая репликацию и копирование, представляет значительную сложную задачу.

Наконец, возрастает популярность трехзвенных архитектур приложений (thick middleware). В этом мире имеется только одна программа (сервер баз данных), работающая на уровне сервера и только одна программа (сервер приложений), работающая в промежуточном звене. Обе они должны поддерживать тысячи подключений. Оптимизация систем баз данных (и операционных систем) для такой среды является серьезной задачей.

В заключение заметим, что фундаментальная архитектура систем баз данных существует почти 20 лет. Мы полагаем, что настало время переосмыслить базовые архитектурные предположения в свете появления среды, которая будет доступна в 2010-ом году.


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