Об организации кэша распределённой графовой базы данных А.А. Демидов, alex@dem.botik.ru Институт программных систем им. А.К. Айламазяна РАН RCDL 2011.

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



Advertisements
Похожие презентации
К построению и контролю соблюдения политик безопасности распределенных компьютерных систем на основе механизмов доверия А. А. Иткес В. Б. Савкин Институт.
Advertisements

Локальная сеть Типы локальных сетей Топология сетей.
Классификация БД. СУБД и ее компоненты. Логическое и физическое описание данных.
Выполнили: Мартышкин А. И. Кутузов В. В., Трояшкин П. В., Руководитель проекта – Мартышкин А. И., аспирант, ассистент кафедры ВМиС ПГТА.
Организация распределенных прикладных систем. Попытаемся ответить на вопросы Как устроены распределенные прикладные системы? Каковы наиболее важные их.
Тема 3 Рассматриваемые вопросы 1. Классификация сетей 2. Назначение сетей 3. Компоненты вычислительных сетей 4. Топологии сетей 5. Архитектура сетей.
Возможности использования муниципальной модели оценки качества образования при принятии управленческих решений Астахова М.М., директор МБОУ «СОШ 1»
Государственное образовательное учреждение высшего профессионального образования «Государственный университет управления» (ГУУ) к.э.н., доц. Панфилова.
Теория экономических информационных систем Семантические модели данных.
Лекция 22 Лекция 22 Локальные, сетевые и распределенные базы данных. Архитектура «файл- сервер». Двух и трехуровневая архитектура «клиент-сервер». Модель.
Базы данных Лекция 01 Информационные технологии баз данных.
Модели транзакций Уровни изолированности пользователей.
Хранение, поиск и сортировка информации Базы данных и системы управления базами данных(СУБД)
Модели транзакций Параллельное выполнение транзакций.
Раздел 3 Сетевые модели. Тема 3.1 Понятие сетевой модели. Архитектура сети определяет основные элементы сети, характеризует ее общую логическую организацию,
Базы данных Реляционная база данных MS Access. Базы данных – это совокупность определенным образом организованной информации на какую- либо тему (в рамках.
Архитектура ресурсной системы распределенных виртуальных сред Курсовая работа на тему: «Архитектура ресурсной системы распределенных виртуальных сред»
Необхідність структурування даних. Послідовне і зв ' язне розподілення даних в пам ' яті ЕОМ. Статичні і динамічні структури даних.
Вопрос I. Основные понятия. Вопрос 2. Проектирование баз данных.
Информационные компьютерные сети. В беспроводных ЛВС используется технология Wi-Fi. Центральное сетевое устройство – точка доступа – подключается к сети,
Транксрипт:

Об организации кэша распределённой графовой базы данных А.А. Демидов, Институт программных систем им. А.К. Айламазяна РАН RCDL 2011

2 Наша главная задача – снизить синхронизационные издержки Распределённая база данных – это сеть одноранговых серверов Данные разделяются на части и распределяются по серверам системы Клиент подключается к ближайшему серверу и через него имеет доступ ко всем данным в целом Сервер подключения направляет запросы удалённым серверам системы

3 Организация взаимодействия в распределённой среде Клиент обращается к ближайшему серверу через свой кэш Сервер разделяет запрос по узлам, а затем объединяет результаты Любой объект данных имеет постоянный узел приписки с доской объявлений, которая используется для синхронизации изменений Возможно создание копий объекта на промежуточных узлах с целью кэширования

4 Нарушение структуры связей при конкурирующем доступе Во время работы с кэшем те же объекты могут изменяться в БД конкурирующими транзакциями Доски объявлений разрешают конфликты запись/запись, для чтение/запись - неэффективны Варианты решения: 1. Использование среза в длинных транзакциях уровня Snapshot 2. Контроль по формальным правилам (Amazon Dynamo) 3. Контроль неизменности при подтверждении (STM - Хаскель) 4. Контроль по непрерывности - необходимо задание топологии

5 Недостатки методов обеспечения непротиворечивости данных Недостатки: 1. Длинные транзакции Snapshot – потеря актуальности кэша по завершении транзакции 2. Набор формальных признаков – узкая специализация, сложность изменения системы 3. Транзакционная память – невозможно учесть влияние добавляемых записей 4. Непрерывность – нужен явный граф структуры данных Важно! Подходы 2-4 позволяют кэшу использовать данные различной степени актуальности

6 Отношение обусловленности – обобщение функциональной зависимости Если при изменении одного элемента данных a значение другого элемента b теряет смысл в рамках принятой модели данных, то имеется направленная зависимость: ab Множество всех пар зависимых элементов базы данных назовём непосредственным отношением обусловленности элементов. Классификация связей: Зависимость от ключа Внешняя зависимость Внутренняя зависимость

7 Задание топологии через отношение обусловленности Отношение обусловленности задаёт топологию зависимостей в пространстве данных всех серверов Непосредственные зависимости формируют классические объекты со связями Учёт опосредованных зависимостей приводит к независимым друг от друга объектам- замыканиям

8 Два вида объектов - классические и замкнутые

9 Замкнутые объекты – основа ослабления синхронизации Атомарность операций с замкнутым объектом гарантирует отсутствие противоречий Концепция замкнутых объектов бесполезна в системах реального времени: не должно быть разницы, какой из узлов обновил БД первым – задачи моделирования Замкнутые объекты имеют свойство разрастаться при усложнении связей, необходимо применять классические + вводить синхронизацию

10 Работа кэша клиента с данными различной степени актуальности Кэш не очищается – можно использовать данные, загруженные предыдущими транзакциями Каждый объект имеет две метки: время загрузки в кэш t TR и время модификации на сервере t CH Если при загрузке нового объекта a выясняется, что ab и t CH (a) t TR (b), то старый объект b перегружается, либо происходит откат

11 Software Transactional Memory++ запись незамкнутых объектов При изменении объекта a достаточно установить метку версии на сам a и все непосредственно влияющие на него объекты: xa При изменении метки сервер контролирует совпадение текущего значения и значения, видимого транзакции

12 Оценка эффективности кэша (T 1/2 = 120, K сложности = 1..10) Пусть общее число объектов БД равно N, в транзакции в среднем участвует K объектов, а в каждый период времени T происходит изменение N/2 объектов. Вероятность встретить изменённую область: P(t) ~ 1 – 2 -tK/T

13 Вопросы?

14 Спасибо за внимание