ACID требования, CAP- теорема, BASE архитектура. 3. ACID требования, CAP- теорема, BASE архитектура 2.

Презентация:



Advertisements
Похожие презентации
Мастер класс: Хайлоадблоки - использование, NoSQL Александр Сербул Руководитель направления контроля качества интеграции и внедрений 1С-Битрикс.
Advertisements

Докладчик – Альперин Борис NOT ONLY SQL NOSQL 1. Различные модели представления информации: иерархическая, сетевая, реляционная, объектная, … Реляционная.
Модели транзакций Свойства транзакций. Способы завершения транзакций.
Лекция 25 Лекция 25 Понятие целостности базы данных. Условия целостности. Транзакции. Обработка транзакций. Свойства транзакций. Модель ANSI/ISO. Назначение.
Модели транзакций Журнализация и буферизация. Зачем нужна буферизация Если бы запись об изменении базы данных, которая должна поступить в журнал при выполнении.
Транзакции Транзакция - это последовательность операций, производимых над базой данных и переводящих базу данных из одного непротиворечивого (согласованного)
Администрирование информационных систем Лекция 4. Система управления базами данных.
Модели транзакций Параллельное выполнение транзакций.
Об организации кэша распределённой графовой базы данных А.А. Демидов, Институт программных систем им. А.К. Айламазяна РАН RCDL 2011.
Разработка и исследование алгоритмов динамического распределения и доставки данных с учетом требований вычислительных сервисов в системе распределенных.
Л ЕКЦИЯ 6 Распределенные корпоративные системы. У ЧЕБНЫЕ ВОПРОСЫ 1. Преимущества построения распределенных систем 2. Распределенные системы в Oracle.
Модели транзакций Уровни изолированности пользователей.
Построение системного ландшафта для высоко нагруженного проекта ООО «Ленвендо-Софт» Гаврилов Виталий Технический директор тел.: +7 (812)
Распределенная обработка информации Разработано: Е.Г. Лаврушиной.
Выполнила студентка группы ТУ-501 Полозова Ю.О. База данных (БД) представляет собой совокупность структурированных данных, хранимых в памяти вычислительной.
BigData изнутри: технологии и алгоритмы Александр Сербул руководитель направления, разработчик Партнерская конференция «1С-Битрикс»
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ИНСТИТУТ ЭЛЕКТРОНИКИ И МАТЕМАТИКИ (ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ) КАФЕДРА ИКТ Дипломный проект на тему: Студент: Руководитель проекта:
Транзакции Транзакция (transaction) – набор логически связанных действий, выполняемых как единая операция Транзакция – это логическая единица работы.
БАЗЫ ДАННЫХ часть II Распределенные и параллельные системы управления базами данных.
Система организованных баз данных, программных, технических, языковых и организационно-методических средств, предназначенных для обеспечения централизованного.
Транксрипт:

ACID требования, CAP- теорема, BASE архитектура

3. ACID требования, CAP- теорема, BASE архитектура 2

ACID – требования надежности к транзакционной системе Atomicity - Атомарность. Атомарность гарантирует, что никакая транзакция не будет зафиксирована в системе частично. Достигается реализацией транзакции и откатами. Consistency - Согласованность. Каждая успешная транзакция по определению фиксирует только допустимые результаты – согласованные данные. Достигается полнотой необходимых действий внутри одной транзакции. Isolation - Изолированность. Во время выполнения транзакции параллельные транзакции не должны оказывать влияние на её результат. Достигается блокировками. Durability - Надежность. Устойчивость к сбоям тех данных, которые изменялись в успешных транзакциях. 3

CAP теорема (теорема Брюера) эвристическое утверждение о том, что в любой реализации распределённых вычислений возможно обеспечить не более двух из трёх следующих свойств: Согласованность / целостность данных (англ. Consistency) во всех вычислительных узлах в один момент времени данные не противоречат друг другу; Доступность (англ. Availability) любой запрос к распределённой системе завершается корректным откликом; Устойчивость к разделению / разделяемость (англ. Partition tolerance) расщепление распределённой системы на несколько изолированных секций не приводит к некорректности отклика от каждой из секций. 4

CAP-теорема, кейс «позвони- напомним» 1. У меня есть записная книжка и телефон (-Разделяемость) 2. Не справляюсь с потоком(-Доступность), прошу жену. 3. У нее своя книжечка, клиент звонит то мне, то ей, конфликты (- Целостность). 3. Договариваемся при внесении изменений вносить в обе книжечки. Много времени уходит на синхронизацию, упала скорость приема звонков (-Доступность). 4. … 5. Profit--; ((( 5

CA – Целостность и доступность Система, во всех узлах которой данные согласованы и обеспечена доступность, жертвует устойчивостью к распаду на секции. Такие системы возможны на основе технологического программного обеспечения, поддерживающего транзакционность в смысле ACID. Примерами таких систем могут быть решения на основе кластерных систем управления базами данных или распределённая служба каталогов LDAP. 6

CP – целостность и разделяемость Распределённая система, в каждый момент обеспечивающая целостный результат и способная функционировать в условиях распада, в ущерб доступности может не выдавать отклик. Устойчивость к распаду на секции требует обеспечения дублирования изменений во всех узлах системы, в этой связи отмечается практическая целесообразность использования в таких системах распределённых пессимистических блокировок для сохранения целостности. 7

AP – Доступность и Разделяемость Распределённая система, отказывающаяся от целостности результата. Хотя системы такого рода известны задолго до формулировки принципа CAP (например, распределённые веб-кэши или DNS), рост популярности систем с этим набором свойств связывается именно с распространением теоремы CAP. Так, большинство NoSQL-систем принципиально не гарантируют целостности данных, и ссылаются на теорему CAP как на мотив такого ограничения. Задачей при построении AP-систем становится обеспечение некоторого практически целесообразного уровня целостности данных, в этом смысле про AP-системы говорят как о «целостных в конечном итоге» 8

Разделяемость + …? 9 Целостност ь CP Доступност ь AP

Различные решения для различных требований 10

BASE-архитектура Basically Available, Soft-state, Eventually consistent базовая доступность, неустойчивое состояние, согласованность в конечном счёте Противопоставляется ACID. Под базовой доступностью подразумевается такой подход к проектированию приложения, чтобы сбой в некоторых узлах приводил к отказу в обслуживании только для незначительной части сессий при сохранении доступности в большинстве случаев. Неустойчивое состояние подразумевает возможность жертвовать долговременным хранением состояния сессий (например, промежуточные результаты выборок), при этом концентрируясь на фиксации обновлений только критичных операций. Целостность / согласованность в конечном счёте, трактующейся как возможность противоречивости данных в некоторых случаях, но при обеспечении согласования в практически обозримое время. 11

Согласованность в конечном счете или слабая согласованность Eventually consistent, weak consistent (слабая целостность) Неформально гарантирует, что при отсутствии новых апдейтов ячейки все чтения данной ячейки будут когда-нибудь возвращать одинаковые результаты. Рассогласованность может возникать при оптимистичных (ленивых) репликациях. Репликам какое-то время позволяется иметь различные данные. Конфликты могут устранять при помощи метки времени. Новее – лучше. Конфликты разрешаются при: При чтениях При записи для оптимизации – что реже? Плановая синхронизация 12