Каковы основные проблемы исследования в распределенных транзакциях?

10

Справочная информация: обработка транзакций была традиционной темой исследования в теории баз данных. В настоящее время распределенные транзакции популяризируются крупномасштабными распределенными системами хранения, которые обычно включают разделение данных (также называемое разделением ) и репликацию данных .

Каковы основные проблемы исследования в распределенных транзакциях?

Существуют ли известные теории и решения, которые нуждаются в (теоретическом) улучшении?

Любые ссылки приветствуются.

Hengxin
источник

Ответы:

9

Существует множество областей исследований как в теории, так и в практике распределенных баз данных.

Одной из основных практических задач является реализация эффективных механизмов управления параллелизмом для распределенных и геореплицируемых баз данных. Для эффективного выполнения транзакций такие механизмы могут обеспечить более слабые гарантии, чем сериализуемость, что требует, чтобы транзакции казались выполненными последовательно. Альтернативой сериализуемости является альтернатива 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)

Андреа Чероне
источник
Спасибо за ваш исчерпывающий ответ. Для SI, есть ли в литературе распространенные протоколы без блокировок в реплицированных настройках? Или эта попытка бессмысленна, потому что СИ плохо масштабируется? Для PSI я прочитал статью (Tim Kraska @ Eurosys'13), в которой упоминается ее реализация в будущей работе. Подходит ли Generalized Paxos для этого? Каковы возможные плюсы / минусы / проблемы по сравнению с оригинальной в Совран и др. [2]? Еще раз спасибо.
hengxin
2
Действительно, SI плохо масштабируется для геореплицируемых систем. В [4] выше авторы доказывают, что существуют свойства, такие как Подлинная частичная репликация, которые не могут быть реализованы с помощью геореплицируемых СУБД, работающих на уровне согласованности SI. В [5] авторы показывают примеры исполнений, которые ведут себя в соответствии с SI локально (на отдельных осколках), но не глобально, и предлагают вариант SI, называемый DSI. Что касается MDCC, мне неизвестна эта статья, и я должен признать, что я не знаю деталей реализации обобщенных Paxos. Но я с удовольствием посмотрю и отвечу как можно скорее.
Андреа Чероне