Академический Документы
Профессиональный Документы
Культура Документы
com
АБСТРАКТНЫЙ
В этой статье представлен обзор последних разработок в области систем баз данных с основной памятью. С ростом
объема памяти и снижением стоимости памяти в 10 раз каждые 5 лет данные, имеющие «основной дом» в памяти,
теперь стали реальностью. Базы данных в основной памяти избегают многих традиционных архитектурных принципов
систем реляционных баз данных, которые оптимизированы для данных, находящихся на диске.
Инновационные подходы к таким фундаментальным вопросам, как управление параллелизмом и обработка запросов,
необходимы для раскрытия полного потенциала производительности баз данных в оперативной памяти. Статья посвящена
вопросам проектирования и выбора архитектуры, которые необходимо сделать при построении высокопроизводительной
системы баз данных, оптимизированной для оперативной памяти: хранение и индексирование данных, контроль параллелизма,
методы устойчивости и восстановления, обработка запросов и компиляция, поддержка высокой доступности, и способность
поддерживать гибридные транзакционные и аналитические рабочие нагрузки. Это будет проиллюстрировано примерами
решений, взятых из четырех современных систем: HStore/VoltDB, Hekaton, HyPeR и SAP HANA. В статье также будут освещены
текущие и будущие направления исследований.
1. ОБЗОР
За последние несколько лет известные исследовательские системы, такие как H-Store [4] и HyPer [5], вдохнули новую жизнь в исследования основной памяти и многоядерной обработки данных. У
большинства крупных поставщиков баз данных сейчас есть решения для баз данных в оперативной памяти, такие как SAP HANA [15] и Microsoft SQL Server Hekaton [2]. Кроме того, ряд стартапов, таких
как VoltDB [16] и MemSQL, заняли свою нишу среди поставщиков баз данных. Это первое поколение исследовательских и производственных систем предлагает очень интересный спектр вариантов
дизайна и реализации, которые обеспечивают высокую производительность при работе с данными, привязанными к памяти. В этой статье представлен обзор современного состояния систем с
основной памятью. Организация статьи следующая. Мы начнем с обзора истории и тенденций в системах баз данных с оперативной памятью. Основная часть статьи посвящена ряду вопросов и
архитектурных решений, которые необходимо сделать при построении базы данных, оптимизированной для памяти, с акцентом на новых опубликованных работах в каждой области. Мы опишем эти
темы ниже. Разрешение на изготовление цифровых или печатных копий всей или части этой работы для личного использования или использования в классе предоставляется бесплатно при условии,
что копии не изготавливаются и не распространяются с целью получения прибыли или коммерческой выгоды, и что на копиях есть это уведомление и полная цитата на первой странице. . Чтобы
копировать иным образом, переиздавать, размещать на серверах или распространять в списках, требуется предварительное специальное разрешение и/или плата. Статьи из этого тома были
приглашены для представления своих результатов на 42-й Международной конференции по очень большим базам данных, сентябрь 2016 г., Нью-Дели, Индия. Труды фонда VLDB, Vol. 9, № 13
сосредоточив внимание на новых опубликованных работах в каждой области. Мы опишем эти темы ниже. Разрешение на изготовление цифровых или печатных копий всей или части этой работы для
личного использования или использования в классе предоставляется бесплатно при условии, что копии не изготавливаются и не распространяются с целью получения прибыли или коммерческой
выгоды, и что на копиях есть это уведомление и полная цитата на первой странице. . Чтобы копировать иным образом, переиздавать, размещать на серверах или распространять в списках, требуется
предварительное специальное разрешение и/или плата. Статьи из этого тома были приглашены для представления своих результатов на 42-й Международной конференции по очень большим базам
данных, сентябрь 2016 г., Нью-Дели, Индия. Труды фонда VLDB, Vol. 9, № 13 сосредоточив внимание на новых опубликованных работах в каждой области. Мы опишем эти темы ниже. Разрешение на
изготовление цифровых или печатных копий всей или части этой работы для личного использования или использования в классе предоставляется бесплатно при условии, что копии не
изготавливаются и не распространяются с целью получения прибыли или коммерческой выгоды, и что на копиях есть это уведомление и полная цитата на первой странице. . Чтобы копировать иным образом, переиздавать, размеща
В этом разделе кратко представлены ключевые вопросы и варианты архитектуры, которые необходимо решить при
построении системы баз данных в оперативной памяти. Затем каждый вопрос будет рассмотрен более подробно, как
указано в подразделах ниже.
1
Эта проблема связана с тем, как записи базы данных представлены в памяти. Базы данных в основной памяти не ограничены
форматами на диске и могут хранить данные в формате, наиболее подходящем для достижения целей производительности и
проектирования системы. Одной из репрезентативных тенденций в этой области является отказ от кластеризации записей в
соответствии с первичным индексом, как это часто делается в реляционных системах на основе дисков. Например, Hekaton
предпочитает хранить отдельные записи в памяти в формате, ориентированном на строки, где один или несколько индексов
указывают на запись в памяти. В качестве другого примера HANA хранит данные как в формате строк, так и в формате столбцов,
чтобы поддерживать рабочие нагрузки в стиле OLTP и OLAP.
(например, таблицы транзакций, журналов устойчивости и т. д.). Как мы увидим, системы с основной памятью обеспечивают
многоядерную масштабируемость несколькими способами. Некоторые разбивают систему (назначая поток для каждого раздела) [4], в то
время как другие используют высокопараллельные структуры данных «без защелок» [10].
данных должна по-прежнему обеспечивать надежность и гарантии восстановления в случае отключения или сбоя системы (D в ACID).
Использование ведения журнала и восстановления в стиле ARIES редко используется в современных системах с оперативной памятью из-
за снижения производительности. Вместо этого они используют новые методы устойчивости, которые оптимизируют производительность
традиционные методы обработки запросов, такие как интерпретация и модель итератора, становятся большими накладными расходами.
В идеале обработка запросов в системах с оперативной памятью полностью исключает эти накладные расходы. Поскольку данные
находятся в памяти, при обработке запросов необходимо максимально избегать косвенного обращения. Несколько современных систем с
оперативной памятью достигают производительности за счет компиляции запросов и хранимых процедур непосредственно в машинный
Современные конвейеры бизнес-аналитики нацелены на выполнение запросов в стиле OLAP к представлению операционных данных в
режиме реального времени (в стиле OLTP). Базы данных в оперативной памяти становятся де-факто действующими
2
хранилища данных для обработки рабочих нагрузок OLTP, важно, чтобы они соответствовали конвейеру аналитики в реальном
времени. Как правило, современные системы с оперативной памятью поддерживают аналитику в реальном времени в двух
формах. Такие системы, как HyPeR и HANA, поддерживают рабочие нагрузки в стиле OLTP и OLAP в одном механизме. Другие
системы, такие как Hekaton, реализуют высокопроизводительный конвейер для аналитического механизма (например,
механизма columnstore) [6].
доступности и аварийного переключения на «горячие» резервы. Большинство рассматриваемых нами систем в той или иной форме поддерживают
высокую доступность. Например, H-Store/VoltDB естественным образом реплицирует свои данные на K разных серверов для достижения k-
безопасности [16]. Hekaton полагается на решение высокой доступности SQL Servers AlwaysOn для отправки журнала повторного выполнения на
Статья завершается обзором текущих и перспективных направлений исследований. Темы в этой части будут охватывать
управление холодными данными (что делать с редко используемыми данными), использование энергонезависимой
оперативной памяти, аппаратной транзакционной памяти и аппаратного ускорения.
2. ССЫЛКИ
[1] С.К. Ча и С. Сонг. P*TIME: масштабируемая СУБД OLTP для управления потоковыми рабочими нагрузками с интенсивным
обновлением. В VLDB, страницы 1033–1044, 2004 г.
[2] C. Diaconu и соавт. Hekaton: механизм OLTP для SQL Server, оптимизированный для памяти. В SIGMOD, страницы 1243–1254,
2013 г.
[3] К. Фридман, Э. Исмерт и П. Ларсон. Компиляция в Microsoft SQL Server Hekaton Engine. Бюллетень
IEEE Data Engineering, 37(1):22–30, 2014 г.
[4] Р. Каллман и др. H-store: высокопроизводительная распределенная система обработки транзакций в
основной памяти. ПВЛДБ, 1(2):1496–1499, 2008.
[5] А. Кемпер и Т. Нейманн. HyPer: гибридная система баз данных основной памяти OLTP и OLAP, основанная на моментальных
снимках виртуальной памяти. В ICDE, страницы 195–206, 2011 г.
[6] П. Ларсон, А. Бирка, Э. Н. Хэнсон, В. Хуанг, М. Новакевич и В. Пападимос. Аналитическая обработка в
реальном времени с помощью SQL Server. ПВЛДБ, 8(12):1740–1751, 2015.
[7] П. Ларсон, С. Бланас, К. Дьякону, К. Фридман, Дж. М. Патель и М. Цвиллинг. Высокопроизводительные
механизмы управления параллелизмом для баз данных в основной памяти. ПВЛДБ, 5(4):298–309, 2011.
[8] Т. Дж. Леман и М. Дж. Кэри. Обработка запросов в системах управления базами данных с оперативной памятью. В
ICDE, страницы 239–250, 1986 г.
[9] В. Лейс, А. Кемпер и Т. Нейманн. Адаптивное базисное дерево: индексирование ARTful для баз данных в основной
памяти. В ICDE, страницы 38–49, 2013 г.
[10] Дж. Левандоски, Д.Б. Ломет и С. Сенгупта. Bw-дерево: B-дерево для новых аппаратных платформ. В
ICDE, страницы 302–313, 2013 г.
[11] Н. Мальвия, А. Вайсберг, С. Мэдден и М. Стоунбрейкер. Переосмысление восстановления основной памяти
OLTP. В ICDE, страницы 604–615, 2014 г.
3
[12] Т. Мюльбауэр, В. Родигер, А. Райзер, А. Кемпер и Т. Нойманн. ScyPer: эластичная пропускная способность
OLAP для транзакционных данных. В ДанаК, 2013.
[13] Т. Нейманн. Эффективное составление эффективных планов запросов для современного оборудования. ПВЛДБ, 4(9):539–
550, 2011.
[14] Т. Нейманн, Т. Мюльбауэр и А. Кемпер. Быстрый сериализуемый многоверсионный контроль параллелизма для
систем баз данных в основной памяти. В SIGMOD, страницы 677–689, 2015 г.
[15] В. Сикка, Ф. Фарбер, В. Ленер, С. К. Ча, Т. Пех и К. Борнховд. Эффективная обработка транзакций в базе
данных SAP HANA: конец мифа о столбцовом хранилище. В SIGMOD, страницы 731–742, 2012 г.
[16] М. Стоунбрейкер и А. Вайсберг. СУБД оперативной памяти VoltDB. Бюллетень IEEE Data Engineering,
36(2):21–27, 2013. 1610
Источник: Foundations and Trends® in Databases > Vol 8 > Issue 1-2
Интернет-ISSN: 1931-7891
Всего: 11846 знаков