К основному содержимому
Распределённые системы · Лекция 06

Разделение данных и нагрузка

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

Распределённые системы · 06

Содержание слайдов

  1. 1. Разделение данных и нагрузка

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

  2. 2. Равные данные не означают равную нагрузку

    Начинаем с запросов сервиса задач.

  3. 3. Ключ выбирают под операции

    Один порядок не ускорит все запросы.

  4. 4. Реплика и раздел решают разные задачи

    Копия повышает сохранность; раздел распределяет данные.

  5. 5. Маршрут должен приводить к действующему владельцу

    Карта размещения имеет версию.

  6. 6. Диапазон сохраняет соседство ключей

    Сканирование удобно; перекос остаётся возможным.

  7. 7. Хеширование меняет цену поиска диапазона

    Точный ключ удобен; список требует сборки.

  8. 8. Смена делителя перемещает много ключей

    Простой hash mod N связан с размером кластера.

  9. 9. Кольцо отделяет ключ от списка машин

    Ключ выбирает следующую позицию по кругу.

  10. 10. Много токенов не создают независимых копий

    Виртуальные позиции распределяют диапазоны.

  11. 11. Один горячий ключ переживает любое кольцо

    Машин больше, владельцев одного ключа — один.

  12. 12. Горячий диапазон можно разделить

    Но граница должна разделять активную работу.

  13. 13. Размер раздела задаёт цену перемещения

    Мелкие части гибче, но требуют метаданных.

  14. 14. Ключ арендатора концентрирует его нагрузку

    Арендатор A перегружает раздел: 600 > 300.

  15. 15. Дробление арендатора меняет стоимость его списка

    Распределённые записи требуют явного пути чтения.

  16. 16. Перенос не должен терять подтверждённые записи

    Меняем владельца диапазона без потерь и без двух писателей.

    Один действующий писатель

    Подтверждённые записи сохранены

    Повтор сохраняет идентичность

  17. 17. Снимок задаёт начало переноса

    Новые записи пока принимает прежний владелец.

  18. 18. Копия догоняет поток до барьера

    Одного завершённого копирования недостаточно.

  19. 19. Барьер останавливает появление новых пробелов

    Завершаем старые записи и фиксируем границу.

  20. 20. Полномочия передаются вместе с поколением

    Новый маршрут не должен оживить старого писателя.

  21. 21. Старый клиент обновляет маршрут перед повтором

    Ключ операции переживает смену владельца.

  22. 22. Неопределённое переключение требует чтения решения

    Тайм-аут изменения карты не означает отмену.

  23. 23. Ребалансировка измеряет и пользу, и ущерб

    Копирование конкурирует с обычными запросами.

  24. 24. Спроектируйте ключ и безопасный перенос

    Арендаторы X/Y/Z: 480/160/160 запросов/с; четыре раздела по 240/с.

    Оценить горячий раздел

    Найти потерянную запись

    Задать условие переключения

  25. 25. Выбор ключа фиксирует будущие компромиссы

    Сформулируйте решение через запросы и инварианты.

  26. 26. После лекции вы сможете

    Выбрать ключ под операции и нагрузку.

    Различить горячий ключ и горячий диапазон.

    Обосновать барьер и проверку переноса.