Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ekzamen_IP.doc
Скачиваний:
42
Добавлен:
19.03.2016
Размер:
625.15 Кб
Скачать

20. Облачные технологии. Google App Engine. Хранение данных.

ACID : Атомарность-Чтобы быть "атомарной", транзакция должна быть реализована таким образом, чтобы обеспечить принцип "все или ничего, когда выполняются либо все операции, либо ни одна из них"[88]. Транзакция либо завершается полностью (подтверждается, commit), либо отменяется (откатывается, rollback).

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

Изолированность-В то время как транзакция изменяет совместно используемые данные, система должна создать для каждой транзакции иллюзию, что она выполняется изолированно; ей должно казаться, что все другие транзакции выполнялись или до того, как она началась, или после того, как она завершилась. В процессе перехода данных из начального согласованного состояния в конечное согласованное состояние может существовать несогласованное состояние базы данных, но никакие данные не могут быть подвержены изменениям со стороны других транзакций, пока не будут подтверждены изменения данной транзакции.

Устойчивость-Когда транзакция завершается, ее изменения должны быть устойчивыми - т. е. новое состояние всех объектов, видимых другим транзакциям после подтверждения, будет сохранено и будет постоянным, независимо от наличия ошибок в оборудовании или краха программного обеспечения.

Проблемы традиционного подхода:

● один сервер — производительность ограничена аппаратными ресурсами;

● репликация — поддержка согласованности между серверами;

● шардинг (вертикальный и горизонтальный) — управление блокировками и транзакциями.

Согласованность:

● строгая согласованность (Strong consistency);

● «согласованность в конечном счете» (Eventual consistency).

Репликация и шардинг позволяют масштабировать БД, но:

● строгая согласованность реляционных БД замедляет работу;

● операции JOIN являются «дорогими».

Bigtable — масштабируемое, распределённое, высоко доступное (high

available), структурированное хранилище (не поддерживает запросы).

Bigtable предоставляет широкие возможности масштабирования.

Согласованность:

● строгая для строки;

● «согласованность в конечном счете» на уровне множества строк.

Одновременная запись в множество дата-центров (High Replication Datastore).

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]