Существует множество областей исследований как в теории, так и в практике распределенных баз данных.
Одной из основных практических задач является реализация эффективных механизмов управления параллелизмом для распределенных и геореплицируемых баз данных. Для эффективного выполнения транзакций такие механизмы могут обеспечить более слабые гарантии, чем сериализуемость, что требует, чтобы транзакции казались выполненными последовательно. Альтернативой сериализуемости является альтернатива Snapshot Isolation [1], но было доказано, что она плохо масштабируется для геореплицируемых и распределенных систем. На современном уровне техники были определены два различных варианта изоляции моментальных снимков (SI) для управления параллелизмом в геореплицируемых системах: параллельная изоляция моментальных снимков (PSI) [2] и немонотонная изоляция моментальных снимков (NMSI) [ 3,4]. Что касается того, что касается распределенных баз данных (то есть, где данные распределены между различными сайтами),
Имея различные представления об уровнях изоляции, которые обеспечивают более слабые гарантии, чем сериализуемость, другой важный вопрос заключается в том, чтобы писать программы таким образом, чтобы исполнения все же казались сериализуемыми. Звуковой критерий для изоляции моментального снимка был разработан в [1]. Некоторые люди в моей группе в настоящее время работают над разработкой разумного критерия для PSI.
Другим важным вопросом, как с теоретической, так и с практической точки зрения, является вопрос прерывания транзакции. По сути, измельчение - это методы статического анализа, в которых грубые транзакции разбиваются на более мелкие мелкие транзакции. Для сериализуемости этот вопрос был рассмотрен в [6], и полученная теория была применена для практической реализации в [7].
С точки зрения теоретических основ распределенных баз данных было предложено использовать методы сообщества моделей слабой памяти [8] для формального определения поведения транзакций. В [9] авторы дают формальное понятие поведения для транзакций; тот же подход был использован в [10] для определения поведения реплицируемых типов данных.
Недавно я и некоторые мои коллеги (Алексей Гоцман и Хонгсок Янг) создали, исходя из методов, разработанных в [8, 9, 10], теоретическую основу для определения наблюдаемого поведения уровней согласованности для геореплицируемых баз данных. Мы успешно использовали эту систему для аксиоматизации SI, PSI и NMSI, каждый из которых оказался верным в отношении простой реализации. Мы также использовали полученную теорию для разработки критерия прерывания для PSI. Эти результаты, будем надеяться, мы опубликуем в обозримом будущем.
Пожалуйста, не стесняйтесь писать мне, если у вас есть другие вопросы. Надеюсь это поможет,
Андреа Чероне.
Ссылки:
[1] Fekete и др., Создание сериализуемой изоляции моментальных снимков (2005)
[2] Совран и др., Транзакционное хранилище для геореплицируемых систем (2011)
[3] Arkedani и др. Немонотонная изоляция моментальных снимков: масштабируемая и строгая согласованность для геореплицируемых транзакционных систем (2013)
[4] Аркедани и др. О масштабируемости изоляции моментальных снимков (2013)
[5] Бинниг и др., Изоляция распределенного снимка: глобальные транзакции оплачиваются глобально, локальные транзакции оплачиваются локально
[6] Шаша и др., Прерывание транзакций: алгоритмы и исследования производительности (1995)
[7] Чжан и др. «Цепочки транзакций: достижение сериализуемости с низкой задержкой в геораспределенных системах хранения» (2013)
[8] Алглав, Формальная иерархия моделей слабой памяти (2012)
[9] Бакхардт и др., Понимание окончательной согласованности (2013)
[10] Бакхардт и др., Типы реплицируемых данных: спецификация, проверка, оптимальность (2014)